
나는 IP 캠을 가지고 있고 Get 메소드를 사용하여 알람을 켰습니다.
브라우저를 사용하면 모든 것이 정상입니다.
http://da***.com:808/set_alarm.cgi?user=***&pwd=***&motion_armed=1"
이 PHP 파일을 사용하려고 하면 항상 "504 게이트웨이 시간 초과" 메시지가 나타납니다.
<?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에서 디버그 수준을 높이세요.