【问题标题】:Launching Laravel 4 artisan command through Cron task通过 Cron 任务启动 Laravel 4 artisan 命令
【发布时间】:2013-06-08 11:56:18
【问题描述】:

我是 Laravel 4 的新手,但不是创建 cron 或使用框架(codeIgniter / Yii,...)的新手

我在我的本地主机中设置了 Laravel 4 的安装,并在我的生产 Web 服务器中设置了相同的安装。

当我通过 cron 启动命令时:

php -q path/to/laravel/artisan command:myspecificcommand or (same effect)
php -q path/to/laravel/artisan cache:clear

然后我得到一个异常:

RuntimeException
Failed to start the session because headers have already been sent by "" at line 0.

发生在vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php

当我在 MacOs 的控制台中启动这些命令时,所有东西都正确实现了。 我在生产服务器中使用:php 5.3.13,有一个 output_buffered 集(由于错误的标题,我正在寻找它)但我完全卡住了。

我给出结果的图像(有堆栈)

【问题讨论】:

  • 这是由...自己解决的。我认为这可能取决于托管(goDaddy,ovh,one,...)。我尝试了 php ...我的工匠命令。然后我改用 php-cli ... artisan,一切都很好。我很高兴知道 php 和 php-cli 之间有什么区别
  • 如果您解决了问题,请转到“回答您的问题”并发布答案。

标签: cron laravel laravel-4


【解决方案1】:

这通常在很大程度上取决于您的托管以及他们如何进行设置。每个托管公司都有自己的设置方式。

PHP CLI 是 PHP 的命令行界面(例如,用于创建独立应用程序)。 CLI 版本旨在在命令行上运行(因此称为“命令行界面”)。这个不处理标头,或任何其他与服务器相关的东西。

虽然不是您的问题的重复,但您可能会发现这很有帮助:What is difference between php cli and php cgi?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 2016-06-18
    • 2016-02-07
    • 1970-01-01
    • 2018-07-01
    • 2016-10-01
    • 1970-01-01
    相关资源
    最近更新 更多