宝塔安装了swoole的扩展在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.so
cat /path/to/php.ini | grep swoole.so
如果没有直接将extension=swoole.so添加进去就可以了
为什么命令行能看到网页上看不到
仔细看上面的, 说明cli和apache/fpm模式下的ini配置文件是在不同位置的, 需要找到正确的ini文件.