我一直在使用CodeIgniter(1.7.2+)多年,现在它在15个以上的现场制作环境(LOVE IT)中运行。最近,我和我的团队制定了一个非常复杂的系统,这需要一些比标准MVC更复杂的系统,所以我们开始研究CI(2.0.3)的HMVC模块化扩展。到目前为止,我们已经在本地系统的XAMPP和MAMP环境中解决了问题,而且看起来正是我们所需要的。当我们尝试在CentOS中加载时出现问题。CodeIgniter模块化扩展在CentOS上损坏
采取与我们本地安装适用的完全相同的SVN回购协议,并将其提供给CentOS服务器(我尝试了两个单独的CentOS盒),它只是抛出一个白色屏幕 - 拖尾日志我得到500错误。我确定它是HMVC模块的内部,因为这个相同的CentOS安装正在运行基本的CI安装而没有问题。
要解决我删除加载数据库,然后自动加载项我得到以下输出到屏幕上:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: CI::$db
Filename: MX/Controller.php
Line Number: 58
我只得到这对CentOS的盒子,这个文件的第58行不非常明显,HTTPD错误日志也没有显示任何有用的信息。有没有人有过这个问题,其他人可以重现吗?我从来没有见过任何服务器依赖关系,除了基础CI要求之外,所以我不知所措。我们迫切需要在这个项目上使用HMVC,但我无法用我甚至无法加载的东西进入市场。
为了进一步限制我们注入不好东西的可能性,我做了一个全新的CI安装,重新加载了HMVC模块,并没有碰到其他任何东西......失败!完全相同的结果,运行在CentOS 5.5上以相同错误打破的本地语言上。
任何帮助,不胜感激...
UPDATE
在意识到错误只是一个通知(就像我讨厌这样做)我打开错误报告关闭只是为了看看发生了。它立即回到刚刚抛出500错误。我能够在index.php中放入一个die()语句并将输出显示到屏幕上,因此更麻烦的是我在CentOS中完全忽略了HMVC模块,而不仅仅是一个通知。我将特里结构死()通过系统,发现是这样做的实际行....喜悦..
4级CI日志文件由克雷格Rodway
DEBUG - 2011-09-06 20:49:37 --> Config Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Hooks Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Utf8 Class Initialized
DEBUG - 2011-09-06 20:49:37 --> UTF-8 Support Enabled
DEBUG - 2011-09-06 20:49:37 --> URI Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Router Class Initialized
DEBUG - 2011-09-06 20:49:37 --> No URI present. Default controller set.
DEBUG - 2011-09-06 20:49:37 --> Output Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Security Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Input Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Global POST and COOKIE data sanitized
DEBUG - 2011-09-06 20:49:37 --> Language Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Language Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Config Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Loader Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Controller Class Initialized
DEBUG - 2011-09-06 20:49:37 --> Welcome MX_Controller Initialized
DEBUG - 2011-09-06 20:49:37 --> Loader Class Initialized
ERROR - 2011-09-06 20:49:37 --> Severity: Notice --> Undefined property: CI::$db /home/www/qualcentral.com/application/third_party/MX/Controller.php 58
的要求
更新#2
OK,出现两件事情已经引起了我的问题 - 我不是完全固定的,但我现在可以在系统正常工作。首先,在Windows机器上解压缩HMVC,提交给SVN,然后完全下载到CentOS。当我通过WGET将所有内容直接下载到CentOS并将其设置在服务器上时,它工作得很好!很奇怪,但至少这是一个解决方法 - 不需要对PHP或Apache进行调整,我想在最初的过程中会有一行结束或者有什么东西被顶起来了。
其次是当我使用HMVC模块时,我不能使用核心系统自动加载器加载数据库。我可以手动将它加载到三元组中,我可以使用三元组的config/autoload.php文件自动加载,但是如果我尝试了,核心系统会抛出500。这是一个怪癖,它加剧了,但我可以解决它。
再次感谢大家的建议,这只是一个古怪的游戏。
巴蒂尔
该错误看起来像是试图加载数据库,它不能 - 当你阻止它加载。所以这可能不是问题发生的地方。 尝试将application/config.php中的log_level更改为4,然后检查在application/logs文件夹中创建的文件,以查看是否有任何指向错误的指针。 –
良好的通话,我只是做了这一切,并与相关的日志条目更新我的文章 - 仍然没有帮助,但也许它会指出某人在正确的方向。 – Shane
如果您再次自动载入数据库库,它是否会得到相同的结果,因为它最初是? –