2011-05-26 119 views
33

我的代码是这样的:致命错误:调用未定义功能socket_create()

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

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

当我运行我的PHP文件,该文件创建网络套接字连接,我得到了错误 致命错误:调用未定义的函数socket_create()在行 如果(($这 - >主= socket_create(AF_INET,SOCK_STREAM,SOL_TCP))< 0)

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

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

+1

是否在您的配置中启用了套接字? – martynthewolf 2011-05-26 11:38:15

+0

你的php.ini中是否启用了扩展功能? (检查phpinfo())。 – 2011-05-26 11:39:16

+0

支持套接字支持,浏览器也支持网络套接字。 – 2011-05-26 12:28:34

回答

45
+0

为你做了这个工作吗? – mrBorna 2011-08-11 19:08:18

+2

我只需在我的php.ini中取消注释;我也必须将它从另一个目录复制到PHP目录中,但它随安装而来。 – 2012-07-20 13:16:38

+0

感谢鲍勃。我正在使用wamp服务器。首先,我改变了Apache的php.ini并没有效果。然后,我也改变了php的php.ini。最后,websocket服务器启动了。 :) – balamurugan 2014-10-04 10:19:13

23

对于一个典型的XAMPP安装上你可能在你的C的php_sockets.dll窗口:\ XAMPP \ PHP \ ext目录。你所要做的就是去C:\ xampp \ php目录下的php.ini,并将;extension=php_sockets.dll更改为extension=php_sockets.dll

+0

工作就像一个魅力! – 2017-05-06 02:06:21

相关问题