(PHP)当脚本作为cron作业执行时,如何获取文件名(或文件路径)


(PHP) How to obtain the filename (or file path) when a script is executed as a cron job?

我有一个PHP脚本,通过浏览器调用时执行完美。但是,当作为cron作业调用时,它会失败。失败是因为脚本需要访问它自己的文件名,我通过$thefilepath = $_SERVER['REQUEST_URI']访问它。不幸的是,当作为cron作业调用该文件时,不会填充$_SERVER['REQUEST_URI']变量。(我同样失败了尝试$_SERVER['PHP_SELF'])。

如果有人感兴趣,脚本需要访问它自己的文件名,因为文件名包含一个整数(例如,filename = myfile4.php),用于计算数据库表中的行子集。更具体地说,myfile4.php接收id为40-49的行,而myfile5.php接收id为50-59的行,等等。

所以,我的问题是,鉴于$_SERVER['REQUEST_URI']$_SERVER['PHP_SELF']未能提供用于cron作业的文件名(或文件路径),有人可以建议在此cron执行上下文中访问脚本自己的文件名的替代方法吗?

谢谢!

使用__FILE____DIR__dirname(__FILE__)http://www.php.net/manual/en/language.constants.predefined.php

$argv[0]将始终包含脚本的名称:http://www.php.net/manual/en/reserved.variables.argv.php