swoole 捕捉php错误,swoole错误“Uncaught Error: Class 'swoole_server' not found”的解决办法 在phpinfo中有在php -m中没有...

贺海
2023-12-01

swoole错误“Uncaught Error: Class 'swoole_server' not found”的解决办法 在phpinfo中有在php -m中没有

先确认CLI模式下是否有

命令行输入php --ri swoole

如果输出了swoole的扩展信息就说明你安装成功了!

99.999%的人在此步成功就可以直接使用swoole了

不需要管php -m或者phpinfo网页打印出来是否有swoole

因为swoole是运行在cli模式下的, 在传统的fpm模式下功能十分有限

fpm模式下任何异步/协程等主要功能都不可以使用, 99.999%的人都不能在fpm模式下得到想要的东西, 却纠结为什么fpm模式下没有扩展信息

先确定你是否真正理解了swoole的运行模式, 再继续追究安装信息问题!

原因

编译安装完swoole后,在php-fpm/apache的phpinfo页面中有,在命令行的php -m中没有。原因可能是cli/php-fpm/apache使用不同的php.ini配置

解决办法

一、确认php.ini的位置

cli命令行下

php -i|grep php.ini

或者

php --ini

php-fpm/apache,查看phpinfo页面找到php.ini的绝对路径。

二、查看对应php.ini是否有extension=swoole

cat /path/to/php.ini | grep swoole

可以通过下面的方法解决:

第一步:给php.ini文件加swoole扩展

vi /data/sort/php/bin/php.ini

新增:

extension=swoole

第二步:查看是否加入swoole扩展到php成功

php -m

可以看到多了个swoole扩展

第三步,再执行php swoole文件,即可发现运行正常,没有报错

 类似资料: