[英]Run a PHP file in a cron job using CPanel
我只是想在 CPanel 中使用 cron 作業運行 PHP 腳本 - 這是正確的語法:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
我沒有收到任何說明 cron 已完成的電子郵件通知,我是否需要對 PHP 文件執行任何特定操作?
我使用此命令為此激活 cron 作業。
/usr/bin/php -q /home/username/public_html/yourfilename.php
在godaddy 服務器上,它工作正常。
在 crontab 系統中:
/usr/bin/php
是 php 二進制路徑(在某些系統中不同,例如:freebsd /usr/local/bin/php
,linux: /usr/bin/php
)/home/username/public_html/cron/cron.php
應該是你的 php 腳本路徑/dev/null
應該是 cron 輸出,例如: /home/username/stdoutx.txt
所以你可以通過查看 cron 輸出/home/username/stdoutx.txt
來監控你的 cron
>/dev/null
阻止 cron 發送郵件。
實際上在我看來,最好讓php
腳本本身來關心它的日志記錄,而不是僅僅輸出一些東西到 cron
這是最簡單的方法:
php -f /home/your_username/public_html/script.php
如果要將腳本輸出記錄到文件中,請將其添加到命令的末尾:
>> /home/your_username/logs/someFile.txt 2>&1
這是方法:
/usr/bin/php -q /home/username/public_html/yourfilename.php >/dev/null
這條 cron 線在使用 cpanel 的 hostgator VPS 上為我工作。
/usr/bin/php -q /home/username/public_html/scriptname.php
我在 CPanel 上使用 /usr/bin/php 時遇到問題,因為它被編譯為“cgi-fcgi”二進制文件而不是“cli”。 嘗試使用 /usr/local/bin/php 或者,因為它是路徑中的第一個,只需使用'php':
php /path/to/script.php
如果要將腳本作為可執行文件運行,請給它 +x perms 並使用以下內容作為腳本的第一行:
#!/usr/bin/env php
我希望您的問題也與路徑和 php 二進制文件有關。 如果您已按照舊答案修復了路徑,請在運行 cron 作業時使用 php-cli 而不是 php 命令。
php_sapi_name()
可能沒有返回cli
。 它返回其他東西,如cgi-fcgi
等。
/usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
我希望它會有所幫助。
這工作正常並且還發送電子郵件:
/usr/bin/php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
以下兩個命令也可以正常工作,但不發送電子郵件:
/usr/bin/php -f /home/同上
php -f /home/同上
專家推薦。
/usr/local/bin/php /home/username/public_html/path/to/cron/script
其實很簡單,
php -q /home/username/public_html/cron/cron.php
對於特定於域的Multi PHP Cron Job ,請這樣做,
/usr/local/bin/ea-php56 /home/username/domain_path/path/to/cron/script
在上面的示例中,將“ea-php56”替換為分配給您要使用的域的 PHP 版本。
希望這可以幫助某人。
在 Hostgator CPANEL 上,這對我有用:
php /home/here_your_user_name/public_html/cronJob.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.