场景描述
今天在一个新的环境下,部署一个项目,其中有用到rabbitMQ。但在执行过程中发现报错。错误信息:
{
"code": 3000,
"message": "Call to undefined function PhpAmqpLib\\Wire\\IO\\socket_strerror()",
"data": {
"file": "D:\\project\\***\\vendor\\php-amqplib\\php-amqplib\\PhpAmqpLib\\Wire\\IO\\StreamIO.php",
"line": 89
}
}
查找问题
根据提示我在对应的文件和行数下找到代码:
我在本地环境下找到socket_strerror()
所在的文件:
\***\plugins\php\lib\php.jar!\stubs\sockets\sockets.php
这是PHP的一个扩展,既然是Call to undefined function
那很可能就是sockets
相关的扩展没有安装或者打开。
经过查看php.ini
文件,发现果然是扩展没有打开
解决问题
-
去掉
;extension=php_sockets.dll
前面的;
,重启服务PHP
,apache
服务。 -
查看
phpinfo()
:
可以看到sockets
扩展已可用。报错消失,项目可正常使用。
标题:PHP下使用rabbitMQ报错Call to undefined function PhpAmqpLib\\Wire\\IO\\socket_strerror()的问题查找与解决
作者:barryzpc
地址:https://myblog.zhengpc.com/articles/2020/08/03/1596442518677.html
说明:转载请注明出处
赞赏:如果对你有帮助,可略微支持一下
