我一直在敲我的头5个小时,我终于解决了问题,但我不知道原因就睡不着.我先解释一下这个问题.
我使用了codeigniter HMVC扩展并将ion_auth安装为一个单独的模块.
|-modules
|--auth
|---config
|-----ion_auth.php
|---controllers
|-----auth.php
|---models
|-----ion_auth_model.php
|---views
Run Code Online (Sandbox Code Playgroud)
当我试图获得用户的组时,我开始遇到有线SQL错误.然后我缩小了问题,并发现文件config/ion_auth.php中没有加载项目ion_auth_model.php.
ERROR - 2016-02-24 20:09:26 - >查询错误:您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在'as
id,'附近使用正确的语法.name,.description加入.=.id在哪里 第1行='2' - 无效查询:SELECT.作为id,.name,.description加入.=.id在哪里 ='2'
然后我尝试了几个东西,当我'ion_auth'从ion_auth_model.php一切方法调用中删除索引时,一切都开始起作用了.
我变了
$this->tables = $this->config->item('tables', 'ion_auth');
$this->join = $this->config->item('join', 'ion_auth);
Run Code Online (Sandbox Code Playgroud)
至
$this->tables = $this->config->item('tables');
$this->join = $this->config->item('join');
Run Code Online (Sandbox Code Playgroud)
谁能告诉我它为什么有效?
目前我正在使用codeigniter3.0版.我想知道如何在其中实现HMVC结构,任何人都可以帮忙吗?
我正在尝试使用Codeigniter 3.0添加第三方扩展来创建HMVC应用程序
但是,当我加入MY_Loader和MY_Router文件到核心文件和文件夹MX Third_party文件夹,它会产生一个致命的错误:
致命错误:在第300行的C:\ xampp\htdocs\codeigniter\application\third_party\MX\Loader.php中调用未定义的方法MY_Loader :: _ ci_object_to_array().
当我删除它们时,应用程序运行正常.是否有运行应用程序所需的其他设置?
我正在尝试从CLI运行代码,正如CI文档中所述,但由于某些原因,可能因为使用HMVC扩展,它不会进入指定的控制器.
我没有在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);
}
}
Run Code Online (Sandbox Code Playgroud)
无论我是从文档根运行它:
php index.php cron generatepdfs
Run Code Online (Sandbox Code Playgroud)
或这个:
/usr/bin/php -f /home/user/public_html/index.php cron generatepdfs
Run Code Online (Sandbox Code Playgroud)
它不会显示"未到达".
如果我从浏览器运行它,它会这样做.
这些是输出到控制台的一些错误:
无法找到指定的类:Session.php
我在application/libraries/session/MY_Session.php中有一个覆盖的Session库MY_Session,它在浏览器中完美运行.如果我将此文件向上移动一个目录,则此错误将不会再次显示在控制台中,但它在浏览器中不起作用.它是自动加载的方式.
我根本不喜欢的解决方法:在两个位置复制相同的文件.
下一个错误:
PHP致命错误:第196行/home/mysite/public_html/system/core/Common.php中找不到类"CI_Preferencias"
我有一个名为Preferencias的自定义库,它也是自动加载的,在application/libraries/Preferencias.php中
同样,这在浏览器中完美运行.但是,从CLI开始,它似乎搜索不存在的CI_Preferencias库.如果我将其重命名为CI_Preferencias,并自动加载"CI_Preferencias",CI将从CLI搜索名为CI_CI_Preferencias的类.
我不确定我是否遗漏了某些内容,或者CI中存在实际错误,或者HMVC模块正在弄乱它.
谁能帮助我?这让我抓狂,因为我必须使用从cronjobs安排的CLI操作,我觉得完全迷失了.
我有一个内置的应用程序Codeigniter 3 HMVC.该应用程序在PHP 5.6版本上运行良好,但在升级我的PHP版本后,7.1.4我无法登录到我的应用程序.完成检查后,我发现该会话根本没有设置.
我回到PHP 5.6并且会话再次正常工作,而切换到PHP 7.1.4 会导致"会话不工作"问题.
我尝试改变一些配置值,如cookie前缀和cookie保存名称等,似乎没有什么可以解决它.
谁能请帮忙.
我得到了流行的Modular Extensions - HMVC安装
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
并使用codeigniter设置它2.2.2 但是当一切都工作正常时,我得到了这个错误
MX_Router :: _ set_default_controller()的访问级别必须是第23行的C:..\application\third_party\MX\Router.php中的公共(如类CI_Router中)
这是在杀我
我有什么?CI版本:2.1.4模块化扩展 - HMVC by wiredesignz一个基本的codeigniter(hmvc)项目,可以在本地服务器(mamp)中使用php 5.5.3正常工作
我将项目移动到公共Web服务器后我的问题我改变了以下的事情.--application /配置/ config.php中
$ config ['base_url'] =' http://example.com/ ';
--application /配置/ database.php中
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'newdbusername';
$db['default']['password'] = 'newdbpassword';
$db['default']['database'] = 'newdbname';
Run Code Online (Sandbox Code Playgroud)
--public_html /的.htaccess
RewriteEngine On
RewriteBase /
#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L] …Run Code Online (Sandbox Code Playgroud)