注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

长风明志的博客

不要也不能做下一个谁,应该且可以做第一个自己

 
 
 

日志

 
 

命令行下执行php文件连接socket,错误:Fatal error: Call to undefined function socket_create()  

2012-04-27 19:04:38|  分类: PHP网络编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

我在Windows命令行输入命令C:\wamp\bin\php\php5.2.6\php.exe getXml.php以执行php文件。

出现错误Fatal error: Call to undefined function socket_create() in C:\wamp\www\getXml.php on line 13

网上搜了挺多论坛上的Q&A贴子,答案基本上是:
1.
找到php.ini,看  extension=php_sockets.dll 扩展是否打开,将前面的注释; 删去。
2.
phpInfo()显示的内容里,socket模块是否为enable;

还有说是少了一些dll文件,但是下了php4ts.dllphp5ts.dllphp_mime_magic.dll并将它们拷到目录C:/Windows/system32下,并确认php目录下的ext文件夹下存在php_sockets.dll文件,结果还是没有解决问题。

解决方案: 这是在一个英文论坛上看到的方案,经过实践证明是可行的。

原文是:

The command prompt uses a different php.ini file to the apache server.

The Apache php.ini file is accessible via the taskbar icon, and is located at:
X:\WAMP INSTALL DIR\Apache2\bin\php.ini

The command prompt php.ini file is located at:
X:\WAMP INSTALL DIR\php\php.ini

Once I’d enabled sockets in this file, by uncommenting the line:
extension=php_sockets.dll
and restarted the server, everything worked great.

在两个目录下都有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\目录下。

  评论这张
 
阅读(7483)| 评论(8)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017