我需要确定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. 如何通过Windows命令行确定ALBD服务是否正在运行?
- 3. 如何通过PHP执行SSH命令
- 4. 如何通过CRON运行CodeIgniter文件?
- 5. 通过cron作业时不执行bash命令 - PHP
- 6. 如何通过命令行将文件附加到Mailgun上?
- 7. 如何通过执行命令行压缩通过php
- 8. 如何通过命令行选项加载不同的zshrc文件?
- 9. 如何通过命令行
- 10. 如何从cron文件运行cake文件命令?
- 11. 确定是否通过window.open()命令打开了aspx页面
- 12. 如何通过命令行向文本文件写入文件?
- 13. 通过命令行运行.bat文件
- 14. 如何确定文件是否仍然通过ftp传输
- 15. 加载HTML - 命令行
- 16. 如何确定进程是否已成功运行命令c#
- 17. 如何确定UIView是否已加载
- 18. 如何确定CKEditor是否已加载?
- 19. 如何编写php,以便可以通过linux命令行下载正确的文件?
- 20. 通过命令行执行PHP中的.jar文件
- 21. C#通过命令行传递文件
- 22. 通过命令行只(生成文件)
- 23. C#从命令行加载文件?
- 24. 是否有通过命令行指定openssl cert的basicConstraints
- 25. 通过命令行运行php
- 26. 如何通过输入文件名从命令行执行PHP脚本?
- 27. 命令从命令行运行,而不是从cron运行?
- 28. 如何通过命令下载IIS express?
- 29. 通过命令行运行cron时发生Perl错误?
- 30. 如何通过shell脚本确定网页是否存在?
装成什么样?在什么环境下? – 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