解决Class swoole_server not found引发出php cli模式的思考

1.看下cli模式是否可以正常工作,命令行下运行

php -r "echo php_sapi_name();"

这条命令就是在cli模式运行php语句,php -r就是run一条php命令的意思,php_sapi_name()判断当前执行的php是在什么模式下,执行成功在屏幕上输出 cli,不成功说明你的php cli模式有问题。

2.查看当前cli已支持的扩展

php -m

结果

cli1.png

cli2.png

如果没有swoole,进入第3步。

 3.查看命令行的ini路径,命令行下运行

php --ini

结果

cli3.png

Loaded Configuration File为cli模式的php.ini配置文件路径

vi /etc/php.ini

加入

extension=swoole.so

最好是全路径

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

重启fpm(非必需)

pkill php-fpm

/usr/local/php/sbin/php-fpm

4.启动server.php

php server.php

网页访问 IP:9501


自己总结:看了今天这篇文章,终于知道了为什么有时候命令行(cli)模式下 php -m没有swoole扩展,但是通过浏览器查看phpinfo() 却能看到swoole扩展。。说明cli模式下的php配置文件(php.ini)和网页版本加载的php配置文件(php.ini)有可能不是同一个php配置文件!切记!


原文转载自:http://www.cnblogs.com/cxscode/p/7376711.html

关于cli模式更多介绍可参考:https://blog.csdn.net/webnoties/article/details/48807971

声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复12人评论7,777人参与