PHP之Swoole学习安装教程

这篇文章主要介绍了PHP之Swoole学习安装教程,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下。

一、前言

swoole是什么?官方是这样解释的:

PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端/客户端。

Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。

以及学习swoole需要掌握的基础知识:

熟练使用PHP语言

熟练使用MySQL、Redis数据库

熟练使用Linux操作系统

基本了解Unix网络编程相关知识(参阅《Unix网络编程(卷1) 》 )

基本的gdb使用

官方文档:https://wiki.swoole.com

二、Swoole 环境搭建

2.1 PHP Installation

编译安装PHP首先需要安装对应的编译工具和一些依赖包:

yum install libxml2 libxml2-devel curl curl-devel libpng-devel libjpeg-devel pcre-devel autoconf libmcrypt-devel gcc-c++

PHP下载地址 在这里挑选你想用的版本即可。下载源码包后,解压至本地任意目录(保证读写权限),参考如下命令编译安装PHP:

  1. ./configure --prefix=/usr/local/php \
  2. --with-config-file-path=/etc/php \
  3. --enable-fpm \
  4. --enable-pcntl \
  5. --enable-mysqlnd \
  6. --enable-opcache \
  7. --enable-sockets \
  8. --enable-sysvmsg \
  9. --enable-sysvsem \
  10. --enable-sysvshm \
  11. --enable-shmop \
  12. --enable-zip \
  13. --enable-soap \
  14. --enable-xml \
  15. --enable-mbstring \
  16. --disable-rpath \
  17. --disable-debug \
  18. --disable-fileinfo \
  19. --with-mysql=mysqlnd \
  20. --with-mysqli=mysqlnd \
  21. --with-pdo-mysql=mysqlnd \
  22. --with-pcre-regex \
  23. --with-iconv \
  24. --with-zlib \
  25. --with-mcrypt \
  26. --with-gd \
  27. --with-openssl \
  28. --with-mhash \
  29. --with-xmlrpc \
  30. --with-curl \
  31. --with-imap-ssl
  32. sudo make
  33. sudo make install
  34. sudo mkdir /etc/php
  35. sudo cp php.ini-development /etc/php/php.ini

另外还需要将PHP的可执行目录添加到环境变量中,在 ~/.bashrc 文件末尾添加内容:

export PATH=/usr/local/php/bin:$PATH

export PATH=/usr/local/php/sbin:$PATH

保存后执行命令:

source ~/.bashrc

2.2 Swoole Installation

Swoole扩展下载地址 可以下载源码编译安装:

  1. phpize
  2. ./configure
  3. make
  4. sudo make install

还可以通过 PECL 一键安装:

pecl install swoole

安装成功后,修改 php.ini 加入:

extension=swoole.so

通过 php -m 或 phpinfo() 来查看是否成功加载了 swoole,如果没有可能是 php.ini 的路径不对,可以使用 php --ini 来定位到 php.ini 的绝对路径。

2.3 开发工具提示包

https://github.com/eaglewu/swoole-ide-helper