【问题标题】:Setting up cron job to execute a PHP Script设置 cron 作业以执行 PHP 脚本
【发布时间】:2015-09-05 22:28:59
【问题描述】:

我需要设置一个 cron 作业,每分钟执行一个 PHP 脚本(用于向用户发送 iPhone 通知)。我已经尝试了几个代码 sn-ps,但它们似乎都不起作用。这是我尝试过的:

crontab -e

然后..在编辑器中,我输入了

* * * * * php  /Users/MYUSERNAME/Desktop/SimplePush/simplepush.php

但它不起作用。我在 Mac OS X Lion 上运行,并将在 Linux 服务上部署该服务,但我认为 crontab 功能不应该受到操作系统的影响,因为两者都基于 unix 核心。所以,无论如何,我需要这个 cronjob 每分钟触发simplepush.php 来发送通知。我该怎么做?

【问题讨论】:

    标签: php ios cron push-notification


    【解决方案1】:

    您是否尝试在终端中运行 php /Users/MYUSERNAME/Desktop/SimplePush/simplepush.php 以检查它是否正常工作?

    【讨论】:

    • 顺便说一句,为了让 cronjob 每分钟运行一次,语法如下:*/1 * * * *
    • 尝试使用终端中的邮件检查您的 cron 邮件日志。我认为这是使用 cron 的 osx 的默认行为。也许那里有一些 cron 错误
    • 是的..你想让我在终端的邮件日志中检查什么?
    • 在您的 cron 文件顶部,输入 MAILTO=yourremailaddress 。这样所有的错误都会被发送到你的 cron 以便更好地调试。
    【解决方案2】:

    使用此代码:

    * * * * * wget -q  /Users/MYUSERNAME/Desktop/SimplePush/simplepush.php
    

    * * * * * wget -o  /Users/MYUSERNAME/Desktop/SimplePush/simplepush.php
    

    【讨论】:

    • 是的..我在没有 crontab 的情况下尝试了它..使用 php PATH/TO/MY/FILE 并且它有效
    【解决方案3】:

    我知道这是一个老问题,但这在 OSX Yosemite 中对我有用

    */1 * * * * php -q /Users/path/to/php-file.php

    【讨论】: