簡體   English   中英

Cron 作業在 cpanel 中無法正常工作

[英]Cron job is not working properly in cpanel

我已經設置了 cron 作業,它工作正常,但是當我直接運行 php 文件(從路徑/url)時,它成功運行,但從 cron 運行卻沒有。 但是,我設置了另一個非常簡單的文件以確保我的 cron 命令/路徑設置正確,我創建了另一個文件並使用了簡單的 php 郵件功能,並且它運行成功。 請建議我研究它的可能領域。 (我正在使用 Cpanel)

而不是像這樣放入 cronjob 命令

php -f /path_to_script/script.php 

像這樣放置命令:

curl http://domain.com/yourscript.php

如果你想抑制輸出,你可以在最后添加> /dev/null

所以完整的命令是:

curl http://domain.com/yourscript.php > /dev/null

希望這可以幫助!

作為 cURL 的替代方法,您可以通過基於文本的瀏覽器調用您的腳本。 像這樣的東西:

lynx -dump http://localhost/script.php

你不應該有任何相對路徑——這包括文件和命令 例如,如果你想復制一個文件,你不應該只調用cp ,而應該調用/bin/cp之類的命令的完整路徑 要找出完整路徑,您可以在命令行運行which <cmd>

我遇到了同樣的問題。 我在 cpanel 上的 laravel 項目中使用任務調度。 我的命令是

/usr/local/bin/php /home/user_name/public_html/path/to/cron/script

是版本問題。 我的服務器默認 php 版本是 7.1.33,但在我的項目中,php 版本是 7.2。 因此,當我運行 schedule 命令時,它會使用與我的項目不兼容的 php7.1。 因此,根據 cpanel 文檔,該命令實際上適用於不同的 php 版本

/usr/local/bin/ea-php99 /home/shadhinapp/domain_path/path/to/cron/script

我的任何 cron 作業命令是:

/usr/local/bin/ea-php72 /home/user_name/path_to_your_project/artisan schedule:run >> /dev/null 2>&1

curl http://mydomain/auto_push/task.php?p=1

這是我項目中的實時工作代碼。 見下圖:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM