【问题标题】:Execute PHP in Ubuntu 18.04 crontab在 Ubuntu 18.04 crontab 中执行 PHP
【发布时间】:2019-06-06 22:10:49
【问题描述】:

我无法在 crontab 中执行 PHP 脚本

Ubuntu 18.04

PHP 7.3

数字海洋上的 Nginx 网络服务器

编辑:

sudo nano /etc/crontab
sudo /etc/init.d/cron restart

我以 root 用户身份尝试了以下组合和其他变体,但无法运行 php 脚本

* * * * * /usr/bin/php /home/forge/laravel/public/cron/account_balances.php
* * * * * php /home/forge/laravel/public/cron/account_balances.php
* * * * * forge /usr/bin/php /home/forge/laravel/public/cron/account_balances.php >> /dev/null 2>&1
* * * * * forge php /home/forge/laravel/public/cron/account_balances.php >> /dev/null 2>&1
* * * * * sudo -u www-data php /home/forge/laravel/public/cron/account_balances.php >> /dev/null 2>&1

脚本在浏览器中运行良好,并更新了 mysql 数据库中的一些行,因此我知道 cron 是否正在执行它。我检查了日志,没有看到任何错误:

sudo cat /var/log/syslog | grep cron

我在某处读到它可能是运行 cron 的权限问题,因为我使用的是 Nginx?

【问题讨论】:

  • 不要以root身份运行,以非特权用户身份运行。 (不是通过 sudo,就在该用户自己的 cron 下。) nginx 无关紧要,因为您是直接调用 PHP 而不是通过 URL。首先确保您可以通过 /path/to/php /path/to/script.php 从命令行运行脚本。
  • @AlexHowansky 从终端的伪造用户运行不做任何事情。该文件没有执行,我没有收到任何错误。我用随机字符更改了脚本的路径,它说“没有这样的文件......”所以显然路径是正确的
  • 好吧,好吧,cron 只是一个运行命令行脚本的计时器,所以你不能指望它在 cron 下工作,直到你从命令行让它工作。将 error_reporting 设为 max 并启用 display_errors 以查看问题所在。
  • @AlexHowansky 明白了。我想我正在讨论这个问题。 php 文件只能读写。我确实找到了 * -type d -print0 | xargs -0 chmod 0755 # 用于目录查找。 -type f -print0 | xargs -0 chmod 0644 # 用于文件和 php 脚本从终端执行
  • OK 现在以 forge 用户身份运行 crontab -e 以编辑该用户的 crontab,并输入从命令行工作的命令,最好使用所有内容的完整路径。保存编辑会话时,新命令会自动激活,因此您无需重新启动 cron。

标签: php ubuntu cron digital-ocean


【解决方案1】:

发现问题。

首先,我从命令行执行的 php 脚本没有正确的权限。通过运行修复

find * -type d -print0 | xargs -0 chmod 0755 # for directories 
find . -type f -print0 | xargs -0 chmod 0644 # for files

其次,我的 php 文件中有一个 require_once 路径错误。该脚本在浏览器中运行良好,但无法通过命令行运行。

更改自:

require_once ("../libs/php_sdk/config.php");

收件人:

require_once (__DIR__ . "/../libs/php_sdk/config.php");

【讨论】:

    猜你喜欢
    • 2020-03-09
    • 2022-01-23
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 2014-08-08
    • 2016-07-19
    • 2018-12-24
    • 1970-01-01
    相关资源
    最近更新 更多