PHP UNIX套接字XAMPP

时间:2013-07-19 20:14:16

标签: php xampp unix-socket

我在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到目前为止没有运气,我也尝试用php 5.4版本重新安装XAMPP - 仍然没有运气。我的选择很累,所以我认为你可以帮助我...但是我认为UNIX套接字在Windows上不起作用,因为类似的代码在* nix环境中运行良好。

1 个答案:

答案 0 :(得分:2)

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