1.首先我们要安装swoole扩展的话,需要把它的包下载下来,下载地址是:
https://github.com/swoole/swoole-src
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加)。
QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19)
2.下载下来之后进行解压:
unzip swoole-src-master.zip
3.解压之后打开解压的目录,我是解压在目录/opt下面的,所以
cd /opt/swoole-src-master
4.然后使用phpize重新编译php,执行命令:
/usr/bin/phpize
如果你找不到phpize文件在哪,可以用指令查找,最好在根目录下,这样它才能从根目录下开始查找:
find -name phpize
如果你系统没有安装phpize的话,执行命令安装就可以了,指令为:
yum install php-devel
5.然后再进行配置,指令为:
./configure --with-php-config=/usr/bin/php-config
因为我的php-config文件在/usr/bin/下面,所以只要你用自己的php-config路径就可以了,其他都一致
6.配置好之后,进行编译安装:
make && make install
但在这步可能会出现问题:
/usr/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory
该错误是因为没有安装pcre-devel导致的,所有只要安装下就可以了
yum install pcre-devel
7.安装好之后会输出一个路径,那个就是生成swoole.so的文件路径,然后配置php.ini,把该路径配置进去:
extension=/usr/lib/php/modules/swoole.so
8.然后重启服务器
service httpd restart
通过php -m或phpinfo()来查看是否成功加载了swoole,如果没有可能是php.ini的路径不对,可以使用php -i |grep php.ini 来定位到php.ini的绝对路径。
快速查看当前swoole的版本
php --re swoole|grep VERSION
错误解决:
pcre.h: No such file or directory
编译swoole扩展出现
fatal error: pcre.h: No such file or directory
原因是缺少pcre,需要安装libpcre
ubuntu/debian:
apt-get install libpcre3 libpcre3-dev
centos/redhat:
yum install pcre-devel
在phpinfo中有在php-m中没有
编译安装完swoole后,在php-fpm/apache的phpinfo页面中有,在命令行的php -m中没有。原因可能是cli/php-fpm/apache使用不同的php.ini配置
一、确认php.ini的位置
cli命令行下
php -i|grep php.ini
php-fpm/apache,查看phpinfo页码找到php.ini的绝对路径。
二、查看对应php.ini是否有extension=swoole.so
cat /usr/local/lib/php.ini | grep swoole.so
my_global.h: No such file or directory
PHP缺少mysqln,请检查php编译参数。
php -i | grep configure
或者查看phpinfo页面中的configure项
编译PHP时,./configure参数中务必要加入
--enable-mysqlnd --with-mysqli
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加)。
QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19)
我的淘宝店,可以进去逛逛噢:https://shop108912636.taobao.com/index.htm?spm=2013.1.w5001-7867000954.3.1d29318dPlLar7&scene=taobao_shop