Fatal error: Call to undefined function socket_create() 怎么解决

2024-12-21 15:47:44
推荐回答(3个)
回答1:

在两个目录下都有php.ini 我们使用wamp 的管理界面直接修改的php.ini是位于:
C:\wamp\bin\apache\apache2.2.8\bin\php.ini 下的(因个人安装的目录而不同),事实证明我确实在这个php.ini文件中修改了php_sockets.dll前面的注释符号”;” ,但为什么没有用呢?
那是因为在另外一个目录: C:\wamp\bin\php\php5.2.6\php.ini(也因个人的安装而不同)中的扩展没有修改, 而我们只需修改它,就行了, 再拷一份修改后的php,ini文件到目录C:\Windows\目录下。

回答2:

一般的解决方案是: 
1. 找到php.ini,看 extension=php_gd2.dll和 extension=php_sockets.dll 扩展是否打开; 
2. 看phpInfo()显示的内容里,socket模块是否为enable;

我检查了一下,发现都是符合的。但错误仍然出现?怎么回事呢? 
后来我才发现,原来是我在phpInfo()里看到的和在cmd窗口里使用的php不是同一个版本。

原因是我多次安装过php. 先前的php在系统的环境变量里面注册了path。所以在cmd窗口里使用的是以前的php. 而在phpInfo()里显示的是现在的php的设置。

解决的办法很简单了,就把系统环境变量里的path里,指向老的php的路径改为指向正在使用的Php的路径。这样在cmd里的php和在浏览器里的php就是同一个东西了。

重新打开cmd,完美解决!

回答3:

解决方案是:
1. 找到php.ini,看 extension=php_gd2.dll 和 extension=php_sockets.dll 扩展是否打开;
2. 看phpInfo()显示的内容里,socket模块是否为enable;