PHP UNIX socket XAMPP



我在Windows 7 Professional上使用XAMPP v3.2.1和PHP 5.5。一切都应该可以,但这段代码就是不想工作。

protected function _get_socket()
{
    if (($sock = @socket_create(AF_UNIX, SOCK_STREAM, 0)) === FALSE) {
        throw new VlaChatSe('socket_create', socket_last_error());
    }
    return $sock;
}

无论我做什么,都会抛出异常。我已经读到,对于UNIX套接字,我需要IP协议(0),尽管我也尝试了TCP和UDP。我尝试了SOCK_DGRAM而不是SOCK_STREAM,但到目前为止没有成功,我还尝试用php5.4版本重新安装XAMPP,但仍然没有成功。我的选项已经用完了,所以我想你可以帮我……然而,我认为UNIX套接字在Windows上不起作用,因为类似的代码在*nix环境中运行良好。

Windows没有实现Unix域套接字,因此您必须使用替代方案。最接近的等价物是命名管道,但我不知道如何从PHP中使用它们。一个可行的替代方案可以是绑定到环回接口的TCP套接字,尽管它们与端口号而不是文件名相关联。

最新更新