我需要確定PHP文件是否正在通過cron或命令行加載代碼中。我怎樣才能做到這一點?如何確定PHP文件是否通過cron /命令行加載
回答
如果您可以控制cron或命令,是否考慮傳遞命令行參數並使用$_SERVER['argv'][0]
來讀取?
* * * * * /usr/bin/php /path/to/script --cron
在腳本:
<?php
if(isset($_SERVER['argv'][0]) and $_SERVER['argv'][0] == '--cron')
$I_AM_CRON = true;
else
$I_AM_CRON = false;
最可靠和最詳盡的方式來檢查您的腳本運行知道我是
非此非彼的任何然而,列出的其他列出的方法可以讓您區分「正常」CLI模式和cron調用。 gahooa的命令行參數理念可能是最好和最可靠的解決方案。
我不確定在過去的幾年裏有什麼改變了,但在我的系統上(CentOS 6.6 ,PHP 5.4.38,運行Litespeed),有一個區別。 'php_sapi_name()'從命令行運行時返回'cli'。它通過cron運行時返回'cgi-fcgi'。 – rinogo 2015-03-05 17:45:07
您可以檢查PHP_SAPI
不變,以檢查是否正在使用CLI解釋:
$is_cli= PHP_SAPI == 'cli';
儘管這裏沒什麼關係,但是很少有理由使用'=='運算符。 – Nathaniel 2013-06-05 21:01:07
- 1. 如何通過命令行將文件加載到球拍中?
- 2. 如何確定是否PHP被運行命令行
- 3. 如何通過Windows命令行確定ALBD服務是否正在運行?
- 4. cron命令定期執行php腳本
- 5. 如何通過CRON運行CodeIgniter文件?
- 6. 如何通過PHP執行SSH命令
- 7. 通過使用php的數組命令添加行到文件
- 8. Django Mailer 2 - 將通過cron運行命令將命令翻倍?
- 9. 通過cron作業時不執行bash命令 - PHP
- 10. 如何通過命令行將文件附加到Mailgun上?
- 11. 如何通過sftp通過命令行上傳文件?
- 12. 如何通過執行命令行壓縮通過php
- 13. 如何通過命令行選項加載不同的zshrc文件?
- 14. 如何從cron文件運行cake文件命令?
- 15. 如何通過命令行
- 16. 如何通過命令行
- 17. 如何通過命令行
- 18. 如何通過命令行
- 19. 確定是否通過window.open()命令打開了aspx頁面
- 20. 如何通過命令行向文本文件寫入文件?
- 21. 通過命令行運行.bat文件
- 22. 如何知道命令是否通過批處理文件成功執行?
- 23. 通過cron執行Django自定義管理命令錯誤
- 24. 如何確定文件是否仍然通過ftp傳輸
- 25. 如何通過命令行確定MKS沙箱是稀疏還是非稀疏?
- 26. 加載HTML - 命令行
- 27. 如何確定是否安裝了Xcode命令行工具?
- 28. 如何確定進程是否已成功運行命令c#
- 29. 如何從命令行確定服務器是否爲Amazon EC2
- 30. 如何確定CKEditor是否已加載?
裝成什麼樣?在什麼環境下? – wallyk 2009-12-06 04:05:48
Duplicate:http://stackoverflow.com/questions/1848803/execute-php-via-cron-no-input-file-specified – 2009-12-06 04:26:44