2011-11-06 74 views
1

Hezy,我试着去使用socket编程,我需要一个后台服务。我想一个简单的例子:PHP的socket函数没有找到

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) { 
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n"; 

,如果我尝试在浏览器,它的工作原理... 但对命令行的php.exe,它不工作...它说socket_create()不存在。但套接字已启用。怎么办?我没有在Windows目录

+0

你确定php_sockets.dll文件存在吗? – janoliver

回答

2

命令行的php.exe可能会使用其他的php.ini比的二手阿帕奇PHP模块另一php.ini文件,所以插座扩展没有加载命令行。

尝试执行php.exe -i,看看它的使用,其php.ini中,并在那里启用相应的扩展。

+0

也一样。我在那里复制了我的php.ini文件,它暴露了大量的警告,并且失败了 – user893856

+0

你是如何修复它的? :-) – CodeCaster

+0

它是easyphp(就像WAMPP一样)。它拥有两个php.ini,其中一个是主要的,另一个是几乎没有修改的副本。我只需将其中一个复制到Windows目录。 – user893856