2017-05-30 40 views
-1

我必須每5秒運行一次php文件,並且有兩個問題 1.在瀏覽器中打開文件時運行良好,但運行'php myfile.php'命令失敗和產生以下錯誤未在CRON/CLI中運行的PHP文件

PHP Warning: include_once(../tutadmin/config/config.php): failed to open stream: No such file or directory in /var/www/html/cron/teacher_status_cron.php on line 3 
PHP Warning: include_once(): Failed opening '../tutadmin/config/config.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/cron/teacher_status_cron.php on line 3 
PHP Notice: Use of undefined constant TBL_USER - assumed 'TBL_USER' in /var/www/html/cron/teacher_status_cron.php on line 5 
PHP Notice: Use of undefined constant TEACHER_USER_GROUP_ID - assumed 'TEACHER_USER_GROUP_ID' in /var/www/html/cron/teacher_status_cron.php on line 9 
PHP Notice: Undefined variable: current_user_id in /var/www/html/cron/teacher_status_cron.php on line 14 
PHP Notice: Undefined variable: current_date_time in /var/www/html/cron/teacher_status_cron.php on line 15 
PHP Notice: Undefined variable: dbc in /var/www/html/cron/teacher_status_cron.php on line 20 
PHP Fatal error: Uncaught Error: Call to a member function Query() on null in /var/www/html/cron/teacher_status_cron.php:20 
Stack trace: 
#0 {main} 
    thrown in /var/www/html/cron/teacher_status_cron.php on line 20 
  • crontab的將不運行該程序每隔5秒,只有每分鐘的最好的。
  • 編輯:該文件不能在CLI以外的cron中工作,只能在Web瀏覽器上...... Cron不是問題。

    +0

    該文件是從另一個目錄,然後調用公共html目錄。所以你必須設置一個include_path。但是我認爲最好不要運行php,而要使用curl。要每5秒運行一次,您可以閱讀更多關於'workers'的信息 –

    +0

    '未能打開流:在第3行錯誤中的/var/www/html/cron/teacher_status_cron.php中沒有這樣的文件或目錄是自我解釋。文件路徑或權限有問題。 – Jagrati

    +0

    關於第二個問題,對於每5秒鐘運行一次cron,您應該在同一個文件上有多個cron作業,但超時。這是因爲cron是每分鐘運行(在其最低級別)。乾杯! –

    回答

    0

    由於您對文件沒有正確的權限,您的cron無法打開文件,更改權限。

    +0

    您是否知道我可以修復權限?我使用cron作爲www數據用戶。真的不想要chown。 – Sam

    +0

    @Sam檢查用戶的cron作業和該用戶的chown,或者更安全的你可以爲cron創建用戶,並在該用戶之後chown fie該用戶(默認root用戶運行cron) –