与其检测何时从crontab运行脚本,不如检测何时手动运行脚本。
从命令行运行脚本时,会设置许多环境变量(在$
_ENV数组中)。这些内容会有所不同,具体取决于您的服务器设置和登录方式。在我的环境中,在手动运行脚本时会设置以下环境变量,而从cron运行时不会设置这些环境变量:
- 术语
- SSH_CLIENT
- SSH_TTY
- SSH_CONNECTION
也有其他人。因此,例如,如果您始终使用SSH来访问该框,则以下行将检测脚本是否从cron运行:
$cron = !isset($_ENV['SSH_CLIENT']);



