2010-05-20 6 views
1

PHP 스크립트를 cron 작업으로 실행하면 오류 처리기가 작동하지만 error_log() 함수는 디스크에 기록하지 않습니다. php.ini 값이 선택되지 않았기 때문에 cron을 통해 실행되는 스크립트에는이 줄이 포함되어 있지만 오류 로그에는 출력이 없습니다.PHP error_log()가 cron 작업에서 디스크에 쓰지 않음

ini_set('display_startup_errors', 0); 
ini_set('display_errors', 0); 
ini_set('error_log', LOG_FOLDER . 'error_log.txt'); 

일반적으로 오류 처리는 예상대로 작동하며 오류 메시지는 내가받은 cron 출력 전자 메일에 나타납니다.

임시 해결책으로 $ _SERVER를 검사하고 fopen() 등을 사용하여 오류 로그에 기록하여 스크립트가 cron 작업으로 실행되고 있음을 감지 할 수있었습니다. 그러나 올바르게 설정 될 수 있기를 기대했습니다. 그냥 error_log()를 사용하십시오.

+0

'LOG_FOLDER'을 (를) 올바르게 정의 했습니까? 'echo LOG_FOLDER는 무엇입니까? 'error_log.txt'는 생산합니까? – Josh

+0

크론의 출력을 리디렉션 할 수 있습니다. in crontab : php yourcommand.php &> /path/to/error_log.txt – Cfreak

+0

LOG_FOLDER를 출력했는데 정확한 경로가 표시됩니다. 그렇습니다. – Kevin

답변

1

글쎄, 그냥 실수 였고 LOG_FOLDER가 실제로 올바르지 않다는 것을 깨달았습니다. 누락 된 폴더가있었습니다. :)

관련 문제