【发布时间】:2018-01-02 08:31:24
【问题描述】:
正如标题所暗示的,Cron Job 应该执行一个 php 文件(具体来说是 update.php)。然后 php 文件写入存储在同一目录中的 csv 文件。
我将时间设置为 * * * * * 以便它每分钟执行一次。命令编写如下: php -q /home//public_html/wallboard/update.php 我不相信这会导致任何错误,尽管它似乎也没有写入 CSV 文件。但是,当我在浏览器中访问 update.php 时,它会立即执行并写入 CSV 文件。我对 Cron Jobs 没有经验,我确信存在问题,但我不知道这个问题到底是什么。如果您有任何建议/问题,请告诉我。任何帮助表示赞赏!
当前命令:
* * * * * usr/bin/php -q /home/<user>/public_html/wallboard/update.php
更新.php:
<?php
include('lib/HelpDeskView.php');
include('lib/WallboardDisplay.php');
include('helpdesk.csv');
$helpdesk = new HelpDeskView();
$text="\r\ntest,test,test";
file_put_contents( "helpdesk.csv" , $text, FILE_APPEND);
【问题讨论】:
-
尝试将
php更改为/usr/bin/php -
你的相关代码+Linux的完整命令,请贴在这里。
-
尝试将 update.php 权限设置为 755。
-
1 - 您可能需要在包含语句中包含完整的目录名称,因为 PHP 在命令行模式下运行时可能不会想到与 Web 服务器运行时相同的起始目录. 2 - 我的托管公司,使用他们自己的控制面板,而不是 cpanel,通过使用文件的完整目录路径/名称而不是使用 /usr/bin/php 和文件名来运行 PHP cronjobs,并通过将 PHP 正确运行
#!/usr/local/bin/php.cli在文件的第一行。 3 - 我的托管公司说要使用权限 775。