【问题标题】:Can't run cron in Laravel 5.4 (PHP7) with Docker无法使用 Docker 在 Laravel 5.4 (PHP7) 中运行 cron
【发布时间】:2017-07-24 20:53:25
【问题描述】:

这里有个问题 - 我们使用 Docker 和这个容器 https://github.com/shin1x1/docker-laravel-on-php7-apache 将 Laravel 5.3 更新到了 Laravel 5.4@

PHP 版本从 5.X 增加到 7。 我们有这个 cronjob

* * * * * php /var/www/laravel/artisan schedule:run >>/dev/null 2>&1

这在以前的版本中运行良好, 也运行这个命令

php /var/www/laravel/artisan schedule:run >>/dev/null 2>&1

直接从 SSH 也可以。

但它不通过 cron 运行。

我们修改了 cron 命令以产生这样的输出

  * * * * * php /var/www/laravel/artisan schedule:run > /etc/log/faillog 

(我不记得确切的语法,现在无法访问那台机器)

我们在日志中得到这个

/bin/sh: 1: php: not found

有什么想法可以完成这项工作吗?

【问题讨论】:

  • 安装 PHP-CLI。
  • 正如我所说,它直接从 SSH 工作
  • 找不到 php 的唯一原因是没有安装它。你可能有不同的环境。也许您使用的用户在其环境中有 php 而 Docker 没有。另一个建议是尝试找出安装 php 的路径并使用完整路径。喜欢* * * * * /usr/bin/php /var/www/laravel/artisan
  • 好的,我们试试

标签: docker laravel-5 cron


【解决方案1】:

您需要指定 PHP 的完整路径。在下面我使用了默认的 ubuntu php 路径。您的可能会有所不同。查找完整路径运行命令:which php

  * * * * * /usr/bin/php /var/www/laravel/artisan schedule:run > /etc/log/faillog 

【讨论】:

    猜你喜欢
    • 2019-02-26
    • 1970-01-01
    • 2020-09-27
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 2019-02-17
    • 2017-08-18
    相关资源
    最近更新 更多