php - 帮助 Kohana 3 和 CRON

标签 php cron kohana kohana-3

我已经设置了一个 CRON 来调用 Kohana 3 中的一个 URL。

php /home/user/public_html/index.php my/route/in/bootstrap.php

它似乎可以正常访问 URL。

但是,我收到了这个错误(在我的主机根据 CRON 发送的电子邮件中发回)

Undefined index:  HTTP_HOST
SYSPATH/classes/kohana/url.php [ 40 ]

Source of url.php

在 Kohana 系统文件中。这是因为 CRON 作业没有发送 HTTP header 吗?

我该如何解决这个问题并使其正常工作(希望不会破解核心文件)。

还是我做错了 CRON?

更新

Pekka 提供了一个 good answer ,但是我想避免更改核心文件(尽管我会作为最后的手段)。

看起来 Kohana 3 确实支持 CLI,因为有一个静态属性 $is_cli

http://github.com/kohana/core/blob/master/classes/kohana/core.php#L54

最佳答案

您似乎打开了 E_STRICT 通知,Kohana 的错误处理捕获了它。 E_STRICT 会提示 undefined index 。该索引确实未定义,因为通过 CLI 调用时,PHP 脚本中没有 HTTP_HOST。

尽管如此,您的脚本仍有可能运行良好。您必须在某些时候关闭 error_reporting 以防止消息显示 - 我对 Kohana 的了解不够深,无法知道从 CLI 调用时是否可以使用不同的配置文件。

也许只是在你的特定 Controller 中关闭 error_reporting() 就可以解决问题,尽管它有点 hacky。

关于php - 帮助 Kohana 3 和 CRON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2474106/

相关文章:

php - 来自 Kohana ORM 的订单结果

php - 为 MySQL 中的函数 st_geometryfromtext 提供的无效 GIS 数据

php - 如何在 php 中只提取特定的 json 对象字段值?

php - 使用 CPanel 在 cron 作业中运行 PHP 文件

php - Kohana PHP、ORM 和 MySQL BLOB

PHP向数据库插入数据

php - Elasticsearch或查询以逗号分隔的值

PHP - 提取数组值(方括号与箭头符号)

linux - 脚本从终端运行,而不是 cron。我需要对此脚本进行哪些编辑?

php - Cron 作业未出现在 WP-Control 插件的 cron 列表中