2010-06-29 5 views
2

기본적으로 문제가 있습니다. 나는 cron 작업을 사용하여 페이스 북 상태를 내 사용자에게 게시하지만 브라우저에서 cron을 실행하면 약 30 초 후에 오류가 발생합니다. 최대 실행 시간을 허용하도록 .ini 파일을 편집했지만 작동하지 않는 것 같습니다.SSH에서 PHP 스크립트를 실행하면 최대 실행 시간을 거치지 않습니까?

첫 번째 700ish 사용자의 상태를 업데이트하지만 그 이후에는 중지됩니다.

터미널에서 실행할 수 있습니까? 아니면이 문제를 해결하기 위해 확인할 수있는 것이 있습니까?

+0

try http://php.net/set_time_limit? –

답변

2

PHP 스크립트를 명령 줄에서 실행할 때 기본 최대 실행 시간은 0입니다. 즉, 무제한입니다. HTTP 컨텍스트에는 Apache Timeout 지시문을 포함하여 스크립트를 종료 할 수있는 다른 설정이 있습니다. 이것은 확실히 PHP CLI를 통해 실행하는 직업입니다.

error logging은 스크립트가 실행되는 제한을 설명합니다. 많은 가능성이 있습니다 - 메모리 제한을 초과하거나 실행 시간이 너무 낮을 수 있습니다. Facebook API가 요청 속도를 제한 할 수 있습니다.

0

것은 수행하여이 오류를 볼 수 있는지 확인하십시오

error_reporting(E_ALL); 
ini_set('display_errors',1); 

을 스크립트의 상단에.

max_execution_time 한도 내에서 실행 중이거나 메모리가 부족할 수 있습니다. 오류 메시지가이를 확인하는 데 도움이됩니다.

Frank Farmer가 자신의 의견에서 암시 하듯이 스크립트에 set_time_limit(0);을 사용하면 무기한 실행이 가능합니다.

메모리 제한 문제가있는 경우 스크립트 (ini_set('memory_limit',...);)에서 메모리 제한 시간을 늘릴 수는 있지만 메모리를 계속 사용하지 않도록 코드를 수정해야합니다.

관련 문제