2009-06-26 15 views
0

cron 작업에서 파일을 설정하지만 메시지와 함께 메일을 보낼 것 "입력 파일을 열 수 없습니다 :"어떻게나는의 cPanel 에서 cronjob에를 설정하려고, 그래서 나는 매 순간 PHP 파일을 실행해야

내 PHP 파일 내부에 있음으로 public_html/schoolerp/cron.php

내가 그랬어 :

을 /public_html/schoolerp/cron.php -f/php에

/usr/local/bin이 내가 뭔가를하고 있습니까 잘못했다는 말을 잘못하면 나에게 맞게 설정하고, 잘못하면 제발 이 문제를 해결해주세요 ...

답변

1

이것이 완전히 수정되었지만 '/public_html/schoolerp/cron.php'에 대한 절대 경로 지정을 사용하고 있는지 확실하지 않은 경우에는 그 경로가 정확하지 않을 수 있습니다. 'public_html/schoolerp/cron.php'의 상대 경로를 찾을 수 있습니다 (앞에 '/'가 없음). 파일 시스템의 루트에서부터 적절한 절대 경로를 사용하고 싶을 수도 있습니다.

3
  • 사용 절대 경로는
  • , 스크립트가 접근 있는지 확인 파일의 액세스 권한을 확인/경로에있는 디렉토리
  • 스크립트의 모든 출력을 가지고 로 보내드립니다 기본적으로
  • 크론 귀하의 이메일

cron이 전자 메일을 보내지 못하게하려면 명령 출력을 file 또는/dev/null로 리디렉션 할 수 있습니다. 나중에 참조 할 수 있도록 로컬 파일로 리디렉션하는 것이 좋습니다. 디버깅에 유용하며 문제가 발생하면 좋습니다.

는이 같은 뭔가해야한다 생각한다

/usr/local/bin/php -f /public_html/schoolerp/cron.php > /logs/mylog.txt 2>&1 

리디렉션이 파일을 mylog.txt 및 stderror 표준 출력 모두 로그 파일에 있도록 표준 출력에 stderror를 추가 할 수 있습니다.

+0

철저한 대답, 내 것보다 훨씬 더. +1 –

+0

STDERR을 슬라이드하여 (리디렉션하지 않고) 전자 메일로 보낼 오류를 설정할 수 있습니다. MAILTO = [email protected]은 crontab 상단에 있어야합니다. STDOUT이 오류로 간주되면 단순히 리디렉션하지 마십시오. 로그인하고 로그를 확인하는 것보다 훨씬 좋네요. –