繁体   English   中英

laravel cron无法启动会话,因为标头已经在第0行由“”发送了

[英]laravel cron Failed to start the session because headers have already been sent by “” at line 0

我正在使用Laravel 4来构建我的网站,我刚刚创建了一个新命令来备份数据库并进行一些数据库更新。 通过Windows命令提示符在我的计算机上调用它可以正常工作:

php artisan dbupdate

但是,当我尝试将其用作共享主机服务器上的cron作业时,如下所示:

1 * * * * php -q /home/******/laravel/artisan dbupdate

我收到以下错误:

无法启动会话,因为标头已经由“”在第0行发送了。

我以为这可能是我的代码中的某些内容,所以我将其全部注释掉了,只是将echo“ hello command”行放入其中进行测试,但是仍然遇到相同的错误。 它来自laravel / vendor / symfony / http-foundation / Symfony / Component / HttpFoundation / Session / Storage / NativeSessionStorage.php

我对Laravel很陌生,对cron工作也很陌生。 可能是什么问题呢?

我在这篇文章中尝试使用php-cli而不是php

所以我的Cron工作现在看起来像这样:

1 * * * * php-cli -q /home/******/laravel/artisan dbupdate

尽管我仍然不太了解这有什么不同,但它运行得很好。

简而言之,您将在已发送一些输出之后尝试发送标头。 我不能从您输入的内容中看出来,但很可能在代码中的某个地方有一个include()函数。

有关原因和修复的完整说明,请参见此处-https://stackoverflow.com/a/8028987/1566393

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM