我剛剛在我的服務器上安裝了模塊pecl_http 2.5.1,並且我試圖發送get要求從以下PHP腳本不同的端口我的網站(需要HTTPS):http Client-> enqueue(http Client Request) - > send()重置連接到服務器PHP
if(!isset($_POST['user']) || !isset($_POST['pass']) || $_POST['user']=="" || $_POST['pass']=="")
{
header("Location:https://MY_IP:444/");
exit;
}
require_once("contants.php");
//Usar información de Login contra el servicio REST
$request = new http\Client\Request("GET", SERVICE_URL."/login", ["Auth" => $_POST['user'].":".$_POST['pass']]);
$request->setOptions(["timeout"=>1]);
$client = new http\Client;
$client->enqueue($request)->send();
//$response=$client->getResponse();
//echo $response->getResponseCode();
兩個用戶連接到這個端口和服務器連接到端口我試圖通過SERVICE_URL聯繫要求使用HTTPS。但是,當我嘗試將表單發送到此頁面時,我的瀏覽器輸出「重置連接」錯誤,並拒絕繼續,因爲它認爲它是不安全的。
這是怎麼發生的? PHP不能保持打開多個套接字,因此它必須關閉一個才能打開另一個套接字?我怎樣才能解決這個問題?
其他服務器真的在端口444上運行嗎?默認的https端口是443.如果這是正確的,那麼可能是如果你的服務器使用自簽名SSL證書,你的PHP客戶端可能會拒絕它。 – Alexander
是的,服務器運行在444上。端口其他服務SERVICE_URL使用443.仍然,我檢查了apache日誌和php解釋器似乎有分段錯誤,這導致我認爲php模塊有一個錯誤。我要測試模塊的舊版本。 – Dechcaudron