Monday, September 28, 2009

遭遇了"Call to undefined function socket_create()"

更多精彩请到 http://www.139ya.com

今天在试验php socket时,在c:\window\system32\cmd.exe里遭遇了Fatal error: Call to undefined function socket_create()。

google一下,发现跟我有同样问题的人还不少。一般的解决方案是:

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就是同一个东西了。

No comments: