致命错误:调用未定义的函数socket_create()

时间:2011-05-26 11:36:14

标签: php

我的代码是这样的:

if( ($this->master=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0 )

    {
    die("socket_create() failed, reason: ".socket_strerror($this->master));
    }

当我运行我的php文件与web套接字创建连接时,我收到错误 致命错误:在行中调用未定义的函数socket_create() if(($ this-&gt; master = socket_create(AF_INET,SOCK_STREAM,SOL_TCP))&lt; 0)

因此我无法连接网络套接字,也无法从套接字获取响应消息,因为在运行客户端页面时,我的浏览器中显示套接字状态:3(已关闭)。

你知道缺少什么吗? 提前谢谢。

6 个答案:

答案 0 :(得分:58)

答案 1 :(得分:34)

对于Windows上的典型XAMPP安装,您可能在C:\ xampp \ php \ ext目录中有php_sockets.dll。您要做的就是转到C:\ xampp \ php目录下的php.ini,并将;extension=php_sockets.dll更改为extension=php_sockets.dll

答案 2 :(得分:1)

在服务器环境中打开php.ini文件,然后从;中删除;extension=sockets。如果不起作用,则必须下载PHP的socket扩展名并将其放在php安装路径的ext目录中。重新启动http服务器,一切正常。

答案 3 :(得分:1)

如果使用的是xampp 7.3.9。插座已安装。您可以检查xampp \ php \ ext,您将获得php_socket.dll。如果知道的话,请转到xampp控制面板,打开php.ini文件,然后从 extension = sockets中删除(;)。

答案 4 :(得分:0)

如果您使用的是openSuse或SUSE,请按照以下步骤操作。

如果尚未安装php7,请安装它。

zypper in php7

如果已安装php7,请使用以下命令进行更新:

zypper update php7

安装php7-sockets

zypper in php7-sockets

答案 5 :(得分:0)

我的.env文件未正确设置时出现此错误。确保您拥有一个带有有效数据库登录凭据的.env文件。