【问题标题】:Php Cron job not working, using crontab -e commandPhp Cron 作业不工作,使用 crontab -e 命令
【发布时间】:2017-07-23 04:04:50
【问题描述】:

我想在服务器上设置一个 cron 作业,但它不工作。我知道网络上有数百个链接显示如何设置 cron 作业,但我似乎无法使其工作。我现在做的是: 1) 运行 crontab -e。 然后它在命令行中显示一堆行。 2)我走到底部并添加 */5 * * * * path/to/myfile.php 然后我在命令行中退出编辑器。请告诉我这里有什么问题。我需要把我的文件放在一个特定的文件夹中吗?还是我需要转到所需的文件夹,然后使用 crontab -e 或其他东西。请见谅,这是我的第一个cronjob,希望下次能做得更好。 这是我在做什么的图片。

【问题讨论】:

    标签: php cron


    【解决方案1】:

    更新文件后是否重启了 cron 服务?

    您是否尝试过首先从命令行执行 php 脚本以验证它是否按预期执行?可能是 cron 任务正在执行但脚本失败。如果脚本没问题,您可能想尝试使用 php 作为命令,后跟 php 文件的路径和文件名,然后在使用 -q 完成后退出执行。

    */5 * * * * php path/to/myfile.php -q 
    

    【讨论】:

    • 是的,我已经在 localhost 上尝试过该文件,它工作正常..我 100% 确定该文件没问题。您说“更新文件后是否重新启动了 cron 服务?”这意味着什么以及如何做到这一点?
    • 每次更新一个cron文件,都需要重启cron服务才能生效。例如,在 ubuntu 上,保存文件后,您将键入“service cron restart”以重新启动服务并使所做的更改生效。
    • 嗯,我会这样做的,刚才我的脑海里闪过一个念头,我在 cron 作业中运行的文件位于 /home/admin/file.php 中,我的意思是它是否放置正确?我的意思是我应该放在 /var/www/ 下还是其他地方?
    • 还有一个小问题,像 localhost 中的 htdocs 这样的服务器上的根目录是什么??
    • 我会尝试在 /var/www/ 位置下运行,看看是否可行。我之前已经使用单独的脚本目录完成了此操作,并且效果很好。对于您的其他问题,这将取决于您正在运行的操作系统。
    【解决方案2】:

    问题很可能是您正在尝试执行一个 PHP 文件,而您的系统不知道如何处理它。

    您的 PHP 文件是否可执行?

    您可以通过运行使其可执行

    $ chmod +x file.php
    

    如果你给它添加一个shebang

    #!/usr/bin/php
    <?php
    
    // ...
    

    PHP脚本可以通过运行来执行

    $ ./file.php
    

    或者,您需要运行 PHP 解释器并将文件的路径作为参数传递给它。

    $ php file.php
    

    参考见:

    【讨论】:

    • 我这样做了,什么也没发生。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2014-05-03
    • 1970-01-01
    • 2018-06-01
    相关资源
    最近更新 更多