Ubuntu

授予 PHP 發送/接收請求的權限

  • August 19, 2012

我已經基於這個庫編寫了一個 PHP websockets 伺服器:https ://github.com/Flynsarmy/PHPWebSocket-Chat

該庫作為伺服器執行,並處理所有傳入請求。當我在本地執行時客戶端可以連接(連接到 address 127.0.0.1:9300),但如果我的客戶端不在執行伺服器的機器上,我將無法連接。我試過關閉我的防火牆;我是否需要授予 PHP 其他權限才能使其能夠接收和響應 websocket 通信?

我正在執行 PHP5、Ubuntu Server 12.04 LTS,並與 Google Chrome(最新)連接。

From line 62 of https://github.com/Flynsarmy/PHPWebSocket-Chat/blob/master/server.php

// 為了讓其他電腦連接,您可能需要將 // 這更改為您的 LAN IP 或外部 IP, // 或者使用:gethostbyaddr(gethostbyname($_SERVER

$$ ‘SERVER_NAME’ $$)) $Server->wsStartServer(‘127.0.0.1’, 9300);

將此行更改為,

$Server->wsStartServer('0.0.0.0', 9300);

或者把IP改成你的區域網路IP試試。

該文件server.php包含您的問題的答案

// for other computers to connect, you will probably need to change this to your LAN IP or external IP,
// alternatively use: gethostbyaddr(gethostbyname($_SERVER['SERVER_NAME']))
$Server->wsStartServer('127.0.0.1', 9300);

將最後一行更改為伺服器的任何面向公眾的 IP 地址可能會解決您的問題。

引用自:https://serverfault.com/questions/419118