Curl取得.cgi文件,總是504網關逾時

Curl取得.cgi文件,總是504網關逾時

我有一個網路攝影機,我使用 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 上的偵錯等級。

相關內容