swoole安装及报错上的一点经验

初学swoole的时候,对于安装上出现的一些小小的问题总结了一下,在此分享。

环境依赖

swoole-1.x 需要 php-5.3.10 或更高版本,swoole-2.x 需要 php-7.0.0或更高版本。

安装:(下面是我进行的安装步骤)

[root@dev ~]# cd /usr/local/src

下载

[root@dev src]# wget http://pecl.php.net/get/swoole-1.9.3.tgz

解压

[root@dev src]# tar -zxvf swoole-1.9.3.tgz

查找一下phpize的位置,find / -name phpize

[root@dev src]# cd swoole-1.9.3[root@dev swoole-1.9.3]# /usr/local/php/bin/phpize

swoole文档上没带参数

[root@dev swoole-1.9.3]# ./configure

[root@dev swoole-1.9.3]# make && make install

然后在php.ini里配置,用phpinfo找一下php.ini的位置
[root@dev swoole-1.9.3]# vim /etc/php.ini

extension=swoole.so


完成之后重启,service php-fpm restart , 然后报如下错误:

swoole: Unable to initialize module Module compiled with module API=20090626

PHP compiled with module API=20121212 These options need to match in Unknown on line 0


每次编译完swoole.so都会出现在/usr/lib/php/modules/这个目录,并且会覆盖原有的

修改 extension=/usr/lib/php/modules/swoole.so,错误仍是这样。


第二次重新安装:

其他步骤不变,修改 ./configure

./configure --with-php-config=/usr/local/php-5.6.27/bin/php-config

以上指令中,用 php -v 查一下服务器中php的版本,我的是php-5.6.27

然后make && make install 分开执行,先执行 make ,再执行 make install ,

make install 之后提示了这个路径 /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

修改extension=swoole.so

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/swoole.so

service php-fpm restart,没有报错

php -m , swoole有了。

phpinfo查看,swoole扩展也有了。


注:此外我第一次安装时,php是5.6.27版本,swoole是1.9.3版本,虽然swoole看似安装成功了,但实际上 并没有真正成功。

原因可能是swoole版本高了点,或许是其他依赖环境的问题。后面降低版本,php是5.4.45版本,swoole是1.7.6版本。所以如果有其他朋友遇到安装上不明白的问题,先多问问别人,实在不行更换版本也是不错的选择。

你可能感兴趣的:(swoole安装及报错上的一点经验)