使用 cron 运行 php 脚本不起作用

问题描述 投票:0回答:1

我正在尝试在 MacOS 上使用 crontab 运行 php 脚本。我的 crontab 看起来像这样:

* * * * * /opt/homebrew/bin/php /Users/dan/Documents/test.php

test.php 看起来像这样:

<?php 

file_put_contents(__DIR__ . '/some-file.txt', 'Hello there', FILE_APPEND);

?>

但是脚本似乎没有运行。如果我直接在终端中输入

/opt/homebrew/bin/php /Users/dan/Documents/test.php
,则脚本运行正常 - 在我的文档文件中创建
some-file.php
,其中包含文本“Hello There”。

我还尝试使用

sudo crontab -e
将此 cron 命令添加到 root 用户 cron 选项卡中,但这似乎也没有运行该脚本。

有什么想法我做错了吗?

php terminal cron
1个回答
0
投票

向 cron 命令添加一些日志记录以查看任何输出或错误

* * * * * /opt/homebrew/bin/php /Users/dan/Documents/test.php >> /Users/dan/Documents/cron.log 2>&1

如果您尝试以 root 身份运行 cron 作业(通过 sudo crontab -e),请确保您的脚本具有适当的权限。

您还可以创建一个更简单的 PHP 脚本,仅将当前日期和时间附加到文件中,然后查看是否执行。如果是这样,那么问题可能出在 PHP 脚本本身。

$date = date('Y-m-d H:i:s');
file_put_contents(__DIR__ . '/time_log.txt', $date . PHP_EOL, FILE_APPEND);

更新您的 crontab 以运行这个新脚本,如果您看到附加了日期和时间,则意味着 cron 作业正在按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.