首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

解決 Crontab 無法執行 PHP 腳本的問題

     編輯:PHP 綜合知識

排程任務失效常見原因:系統 PATH 環境變數不包含 PHP 執行檔路徑。

診斷步驟

[root@LULU /]# whereis php
php: /usr/local/bin/php /usr/local/lib/php /usr/local/lib/php.ini /usr/local/php
[root@LULU /]# cd /bin
[root@LULU /bin]# ls
# 發現 /bin 下無 php 執行檔

解決方案:建立軟連結

[root@LULU /bin]# ln -s /usr/local/bin/php php

原理說明

  • Crontab 執行環境 PATH 通常僅含 /usr/bin:/bin 等標準目錄。
  • /usr/local/bin/php 不在預設路徑中,直接寫 php script.php 會報「command not found」。
  • 在 /bin (或 /usr/bin) 建立軟連結,使 php 指令全域可用。

替代方案

  1. Crontab 中使用絕對路徑:0 2 * * * /usr/local/bin/php /path/script.php
  2. 在腳本開頭加 Shebang:#!/usr/local/bin/php,並賦予執行權限 chmod +x script.php。
  3. 在 /etc/crontab 或腳本內 export PATH=$PATH:/usr/local/bin。

建立軟連結最簡單通用,一次解決所有排程腳本問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved