gpt4 book ai didi

php - 来自 CLI : not entering controller 的 Codeigniter HMVC

转载 作者:可可西里 更新时间:2023-11-01 13:31:45 25 4
gpt4 key购买 nike

我正在尝试按照 CI 文档中的说明从 CLI 运行代码,但由于某种原因,可能是因为使用了 HMVC 扩展,它不会进入指定的 Controller 。

我没有在 HMVC 扩展站点中找到有关 CLI 执行的其他文档。

有人知道怎么处理吗?

这里的代码:

/**
* application/controllers/Cron.php
* This is just a wrapper controller to use an HMVC module using the basic CLI syntax for CI
*
*/
class Cron extends MX_Controller
{

public function generatepdfs($start_date = null, $end_date = null)
{
echo 'Not reached'; exit;

$this->load->module('facturation/documentscontroller');

$this->documentoscontroller->generatepdfs($start_date, $end_date);
}
}

无论我是否从文档根目录运行:

php index.php cron generatepdfs

或者这个:

/usr/bin/php -f /home/user/public_html/index.php cron generatepdfs

不会显示'Not reached'。

如果我从浏览器运行它,它会起作用。

这些是输出到控制台的一些错误:

无法定位指定类:Session.php

我在 application/libraries/session/MY_Session.php 中有一个覆盖的 session 库 MY_Session,它可以在浏览器中完美运行。如果我将这个文件向上移动一个目录,这个错误将不会再次显示在控制台中,但它不会在浏览器中工作。顺便说一句,它是自动加载的。

我一点都不喜欢的解决方法:在两个位置复制相同的文件。

下一个错误:

PHP fatal error :在第 196 行的/home/mysite/public_html/system/core/Common.php 中找不到类“CI_Preferencias”

我在 application/libraries/Preferencias.php 中有一个名为 Preferencias 的自定义库,它也是自动加载的

同样,这在浏览器中完美运行。但是,从 CLI 看来,它似乎在搜索不存在的 CI_Preferencias 库。如果我将其重命名为 CI_Preferencias,并自动加载“CI_Preferencias”,CI 将从 CLI 中搜索名为 CI_CI_Preferencias 的类。

我不确定我是否遗漏了什么,或者 CI 中确实存在错误,或者 HMVC 模块有问题。

谁能帮帮我??这让我发疯,因为我必须使用从 cronjobs 安排的 CLI 操作,我感到完全迷失了。

最佳答案

如果您在配置文件中添加了 subclass_prefix 作为“$config['subclass_prefix'] = 'MY_';”。试试 MY_Preferencias.php 而不是 Preferencias.php

如果你没有使用 $config['subclass_prefix'] = 'MY_';并将 session 库调用为 $this->load->library('session');它采用 CI 的 native session 库而不是您自定义的 MY_Session.php

Here is the link

关于php - 来自 CLI : not entering controller 的 Codeigniter HMVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36360780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com