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

San*_*Jha 51 php

我的代码是这样的:

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

    {
    die("socket_create() failed, reason: ".socket_strerror($this->master));
    }
Run Code Online (Sandbox Code Playgroud)

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

因此,我无法连接Web套接字,也无法从套接字获取响应消息,因为在运行客户端页面时,我的浏览器中显示Socket Status:3(Closed).

你知道缺少什么吗?先感谢您.

Jan*_*čič 63

您需要安装(或启用)Socket PHP扩展:http://www.php.net/manual/en/sockets.installation.php

  • 我只需要在php.ini中取消注释; 我还必须将它从另一个目录复制到PHP目录,但它随附安装. (2认同)

amb*_*llo 36

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


Arm*_*n H 8

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


Kir*_*iya 5

php.ini在您的服务器环境中打开该文件并;从 中删除;extension=sockets。如果不起作用,您必须下载socketPHP 扩展并将其放入extphp 安装路径的目录中。重新启动你的 http 服务器,一切都会正常。