
我有一個網路攝影機,我使用 Get 方法來開啟警報。
當我使用瀏覽器時一切正常
http://da***.com:808/set_alarm.cgi?user=***&pwd=***&motion_armed=1"
如果嘗試使用這個 php 文件,我總是會收到“504 gateway time out”
<?php
function httpGet($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
$output=curl_exec($ch);
curl_close($ch);
return $output;
}
echo httpGet("http://da***.com:808/set_alarm.cgi?user=***&pwd=***&motion_armed=1");
?>
有人能幫我嗎?
謝謝
答案1
我認為您正在從同一台伺服器請求一些腳本,並且504
可能是由於只有一個 PHP 後端進程,因此當您從瀏覽器請求時,它只有一個請求並且正在獲取伺服器。
如果您使用 php-cgi,在啟動 php-cgi 之前配置環境變量,希望對您有所幫助。
設定 PHP_FCGI_CHILDREN=0
設定 PHP_FCGI_MAX_REQUESTS=10000`
檢查您的後端是否可以同時處理多個請求,並且您的腳本不會以某種方式建立死鎖(請求自身的輸出)。
檢查 FCGI 日誌。如果這沒有幫助,請增加 nginx 上的偵錯等級。