【问题标题】:Cron job executes in browser but not in terminalCron 作业在浏览器中执行,但不在终端中执行
【发布时间】:2013-10-01 11:51:19
【问题描述】:

您好,我在终端中运行此 cron 脚本时遇到问题,

http://subdomain.website.com/database.php?password=mypassword

当我将这个 cron 脚本粘贴到浏览器中时,它可以工作并将文件下载到我的本地服务器,但在终端中它无法执行,我在互联网上阅读了许多文章,他们说你不能在你的 cron 喜欢 "?password=mypassword"

我尝试了很多方法来重新发明这个命令,但都无济于事,curl、get、wget 和 wget -q 也不起作用。

【问题讨论】:

    标签: php curl cron command


    【解决方案1】:

    要使用参数从命令行执行 PHP,您可以这样调用它:

    $ php /path/to/php/file arg1 arg2 arg3
    

    然后,在您的 PHP 脚本中,您可以使用

    访问参数列表
    $argv[0] // would return /path/to/php/file/
    $argv[1] // returns arg1
    $argv[2] // returns arg2 
    

    如果你想让你的脚本可以通过终端和浏览器访问,你可以这样做:

    $password = isset($argv[1]) ? $argv[1] : $_GET['password'];
    

    虽然如果你将它用于 CRON 并且你需要参数,那么你的程序架构是糟糕的。您应该在脚本中对这些参数进行硬编码,例如变量/属性/等。

    【讨论】:

    • 你说得对,程序架构很糟糕,谢谢你的帮助,如果它给我带来这么多麻烦,我应该把它扔掉。
    猜你喜欢
    • 2022-11-23
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多