2011-11-06 43 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