安装swoole成功后却出现undefined symbol 情况的解决方法
·
问题显现
最近有个项目需要用到swoole,直接去官网按照教程
https://wiki.swoole.com/zh-cn/#/environment?id=pecl
顺利安装完成,
然后就是进去php.ini 添加 extension=swoole.so 就可以了(简单简单)
但使用php -m 查看是否安装成功却出现
PHP Startup: Unable to load dynamic library 'swoole.so' (tried: /usr/lib/php/XXXXX/swoole.so (/usr/lib/php/XXXXX/swoole.so: undefined symbol.............
寻找对策
官网没告诉我这些怎么解决,去问文心一言,建议我重装(我…),后来查看了自己php配置文件并根据网上的解答,发现在配置目录下有一个conf.d的文件夹和php.ini的配置文件,扩展的配置基本都放在conf.d里面,但我在php.ini里面填写了extension=swoole.so,运行时,php会先加载php.ini的配置再去conf.d里面加载配置,结果swoole想要运行的扩展都没加载到,所以会出现underfined某个扩展的问题,即时你扩展已经装了,根据加载顺序的不同也会出现这错误
解决问题
既然知道是加载顺序导致问题出现,那就简单了,去conf.d里面新建一个swoole的配置文件,把extension=swoole.so 写进去,重新php -v ,OK,一切正常,又可以愉快的玩耍了
更多推荐
所有评论(0)