我在一台服务器上运行PHP套接字服务器。我已复制代码并将其放在另一台服务器上(Windows server 2012 r2)。我改变了一些事情,例如localhost ip和端口。当我通过cmd运行文件时它没有做任何事情。
这是代码。
$address=gethostbyname('localhost');
$port = 99999;
echo $address;
echo 'Hello';
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}
echo 'Hello2';
if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}
echo 'Hello3';
if (socket_listen($sock, 5) === false) {
echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}
这是我得到的输出。我还没有禁用任何错误报告。
正如你可以看到它只是'回声'第一个问候,然后只显示新的一行。
所以任何想法为什么这样做?
P.S。 php_sockets.dll已启用。我已经尝试将ip更改为ipv6和其他一些端口但运气不错。
非常感谢你的推荐。