커맨드 라인 PHP 을 실행하여 웹 서비스를 호출하고 매일 7 시간 동안 DB에 데이터를 삽입하는 스크립트를 실행합니다. 이상한 일은 가끔 끝나지 않는 경우입니다.PHP로 crontab이 시작되었지만 때로는 끝내 지 않습니다.
나는 예외가 잡히면 여전히 스크립트의 끝까지 검사해야 함을 확인했다. 스크립트에 오류가 있으면 run.html에 오류가 표시됩니다.
내 crontab을 내 run.html 나던 작성, 상황은 지금 때로는 매 7 시간
php run.php >> "run.html"
아래와 같이 실행하는 bash는 스크립트를 아무것도있다 실행 중입니다. 0 바이트.
실행 중일 때이 프로세스에는 pid가 연결되어 있습니다. 그러나 run.html에 아무 것도 기록되지 않고 (ps -eo pid, lstart, etime, cmd | grep php 명령을 사용하여) 프로세스를 다시 확인한 후 7 시간이 지나면 프로세스가 이미 종료되었음을 알게됩니다.
I하지 시간 제한 문제가 php_errors.log에 표시 오류가없고, 나는 이미 어떤 다른 원인이 될 수 내 스크립트
ini_set ("memory_limit",0);
에서 설정 한대로인가?
스크립트가 완료되기 전에 오류 상태가 발생하면 run.html에 기록하는 것이 좋습니다. 어딘가에 이런 일이 발생하는 오류가있을 수 있습니다. 수명이 긴 프로세스는 일반적으로 디버그하기가 까다 롭습니다. – Wayne
많은 도움이되는 한 가지는 로깅을 많이 추가하는 것입니다. 이미 출력물을 캡처하고 있기 때문에 때때로 상태를 반향시키고 싶을 수 있습니다. PHP 오류를 출력하지 않는 잘못된 데이터를 치는 것일 수 있습니다. –
hmmm, 그것에 대해 좀 더 말해줘. 내가하는 일은 echo 일지라도 run.html은 공백이다. php를 컴파일 한 후에 만 렌더링되고 bash 스크립트는 .html 파일에 쓰여진다. – flyclassic