我想獲得一個php腳本在crontab中運行,但是當在crontab中運行時,我得到一個來自php的包含錯誤。如何設置一個php腳本在crontab中運行?
crontab條目看起來像:
* * * * * php /path/sendEmail.php > /path/logs/sendEmail/sendEmail-`date +\%Y-\%m-\%H\ \%k:\%M:\%S`.log 2>&1 &
然而,這將創建日誌文件,我得到一些PHP錯誤裏面的日誌文件:
PHP Warning: include_once(../../../lib/Database.php): failed to open stream: No such file or directory in /path/sendEmail.php on line 6
Warning: include_once(../../../lib/Database.php): failed to open stream: No such file or directory in /path/sendEmail.php on line 6
PHP Warning: include_once(): Failed opening '../../../lib/Database.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /path/sendEmail.php on line 6
Warning: include_once(): Failed opening '../../../lib/Database.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /path/sendEmail.php on line 6
PHP Fatal error: Class 'Database' not found in /path/sendEmail.php on line 9
Fatal error: Class 'Database' not found in /path/sendEmail.php on line 9
當我在crontab條目運行命令我在日誌文件中得到相同的錯誤。現在,當我在終端中運行php sendEmail.php
時,它工作得很好。電子郵件發送和一切。在以前的情況下,我收到錯誤(並且電子郵件也不發送)。
不知道如何管道輸出似乎改變PHP腳本如何運行。任何想法如何獲得一個PHP腳本作爲cronjob運行?
'echo getcwd();' – zerkms
你有路徑問題,包含文件的方式不安全.. ../../../ lib/Database.php – meda
有沒有更合適的方法包括這個文件? – thed0ctor