我已经在这几天了,只是不能解决这个问题。我也把它放到了Ubuntu论坛上,但是什么也没听到。基本上,我在/tmp/mysockets中有一个本地套接字我在php脚本中成功创建了-
if (($sock = socket_create(AF_UNIX, SOCK_STREAM,0)) === false)
{
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "'n";
exit();
}
,但我无法连接,通过
if (socket_connect($sock, $sock_str) === false)
{
echo "socket_connect() on " . $sock_str . " failed: reason: " . socket_strerror(socket_last_$
socket_close($sock);
exit();
}
得到
警告:socket_connect():无法连接[111]:连接被拒绝在/var/www/myscript.php第66行socket_connect()上/tmp/mysockets/sock failed: reason: Connection refused
现在,我认为这可能是一个权限问题,但我已经chmod 777' s/tmp, mysockets和sock,这并不重要。有什么问题吗?
在socket_create()
之后需要使用socket_bind()
和socket_listen()
所以,原来应该监听这个套接字的进程崩溃了——我正在远程执行这个操作(我刚刚习惯了远程编译/调试),所以我一开始没有看到这个。对不起,我错误地描述了这个问题。@duskwuff你的想法是对的