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

(PHP)当脚本作为cron作业执行时,如何获取文件名(或文件路径)?,php,cron,Php,Cron,我有一个PHP脚本,在通过浏览器调用时可以完美执行。但是,当作为cron作业调用时,它会失败。失败是因为脚本需要访问自己的文件名,我通过$thefilepath=$\u SERVER['REQUEST\u URI']访问。不幸的是,当文件作为cron作业调用时,$\u SERVER['REQUEST\u URI']变量没有填充。我尝试$\u SERVER['PHP\u SELF']也同样失败 如果有人感兴趣,脚本需要访问自己的文件名,因为文件名包含一个整数,例如,filename=myfile4

我有一个PHP脚本,在通过浏览器调用时可以完美执行。但是,当作为cron作业调用时,它会失败。失败是因为脚本需要访问自己的文件名,我通过$thefilepath=$\u SERVER['REQUEST\u URI']访问。不幸的是,当文件作为cron作业调用时,$\u SERVER['REQUEST\u URI']变量没有填充。我尝试$\u SERVER['PHP\u SELF']也同样失败

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

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

谢谢大家!

$argv[0]将始终包含脚本的名称:

使用_文件_或_目录_或目录名_文件__

不应使用的。设想一个脚本充当前端控制器,它将cronjob名称作为一个参数,cronjob名称将是感兴趣的部分;我现在已经测试了Marc B的使用$argv[0]的解决方案和Martin B的使用文件的解决方案,这两种方法都很有效,谢谢!。我没有资格评估这些解决方案的任何细微差别或其他考虑因素——很高兴得到了一个有效的解决方案。我现在测试了Marc B使用$argv[0]的解决方案和Martin B使用文件的解决方案,这两个解决方案都很有效,谢谢!。我没有资格评估这些解决方案的任何细微差别或其他考虑因素——只是很高兴得到了一个有效的解决方案。