gpt4 book ai didi

php - 仅从 Cron 运行 php 脚本或检查是否来自 cron 的请求?

转载 作者:行者123 更新时间:2023-12-03 02:37:39 25 4
gpt4 key购买 nike

如何仅从 cron 运行 php 脚本,或者是否可以检查请求是否来自 cron?

编辑

我正在尝试使用参数调用 php 文件。但它们都不起作用:

php -q /home/domain/public_html/cronjob.php?i=a
php -q /home/domain/public_html/cronjob.php par1
php -q /home/domain/public_html/cronjob.php par1=a
php -q /home/domain/public_html/cronjob.php par1='a'

我无法使用 $_GET、$_SESSION 或 $argv。如何使用参数调用文件?

最佳答案

如果您问这个问题是因为您需要检查脚本是否不是从网络请求调用,则可以使用 php_sapi_name函数来查看调用方法 - 如果它是一个 cron 作业,该函数应该返回 cli 来指示命令行调用。然而,它并不能帮助区分 cron 作业和常规命令行调用。

如果您还需要区分 cron 作业和脚本的命令行调用,您可以检查运行脚本的用户,看看它是否与运行 cron 作业的用户相同。例如,可以在 *nix 系统上使用 posix_getuid 来完成此操作。或posix_getlogin功能。

最后,如果您担心有人以 cron 作业所有者身份登录并从命令行运行脚本,您应该使用没有 shell 的单独用户来执行 cron 作业。

关于php - 仅从 Cron 运行 php 脚本或检查是否来自 cron 的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16702472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com