我有 PHP 套接字服务器在一台服务器上工作。我已复制代码并将其放在另一台服务器(Windows server 2012 r2)上。我改变了一些东西,例如本地主机 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";
}
这是我得到的输出。我也没有禁用任何错误报告。
正如你所看到的,它只是“回响”第一个你好,然后只显示新行。
那么知道它为什么这样做吗?
ps php_sockets.dll 已启用。我曾尝试将 ip 更改为 ipv6 和其他一些端口,但很幸运。
非常感谢。