问题1:php版本不够
原因:
系统有多个php版本,且默认版本不满足swoole要求。
解决:
需要把默认的切换至最新
问题2:php切换版本,修改/etc/profile无效
原因:
centos自带一个php,且使用级别比环境变量高,所以我就奇怪了,环境变量里都没有php的怎么能有这命令。
解决:
卸载centos自带php,设置系统环境变量指向需要版本的php地址,重启 profile使修改马上生效。
参考: https://www.cnblogs.com/dump/p/8659827.html
问题3:error while loading shared libraries: libsodium.so.23
描述: 网上其他答案什么更新libsodium换最新php版本都不行。
解决:
/etc/profile 结尾加上:
LD_LIBRARY_PATH=libsodium.so.23所在的目录
参考:
https://blog.csdn.net/wallwind/article/details/7580659?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3
https://blog.csdn.net/gx19862005/article/details/48528235
问题4:Call to undefined function swoole_async_readfile()
原因:
从4.3版本开始需要额外安装swoole-async扩展才能使用异步模块
解决:
安装swoole-async扩展
参考:
https://github.com/swoole/ext-async
https://wiki.swoole.com/wiki/page/p-async.html
问题5:swoole-async编译错误。
描述:
出现一大堆错误。
其中第一个错误是/swoole_async_client.cc:413:44: error: invalid conversion from ‘int’ to ‘swSocket_type’ [-fpermissive]
原因:
swoole-async扩展包和swoole版本不匹配(我都是从官方github上下的最新的。最新版本的swoole和最新的扩展包不同步还不兼容mmp)
解决
应该要下个旧一点的swoole或者等扩展更新(未实践)