Codeigniter不加载模型

时间:2015-04-07 21:26:11

标签: php codeigniter model

我对codeigniter有一个非常奇怪的问题!我会试着解释一下......

在我的服务器上加载主页后意识到我得到一个白页后,我开始发现问题了。关于这一点的第一个奇怪的事情是我在我的localhost(xampp)上没有得到白页。因此,经过几个小时的测试,在我的本地主机上进行测试后,我决定将我编辑过的文件推送到服务器上(通过github)并尝试在我的主页上加载 - >白页出现了。

然后,经过几个小时的谷歌搜索和调试,这就是我所知道的:

我按照代码行放入了所有控制器和模型结构:

log_message('info', get_class() . ' initialized');

然后我的日志输出看起来像这个

...
DEBUG - 2015-04-07 21:12:21 --> Model Class Initialized
INFO  - 2015-04-07 21:12:21 --> ModelName1_model initialized
DEBUG - 2015-04-07 21:12:21 --> Controller Class Initialized
INFO  - 2015-04-07 21:12:21 --> ControllerName1 initialized
DEBUG - 2015-04-07 21:12:21 --> Model Class Initialized
INFO  - 2015-04-07 21:12:21 --> ModelName2_model initialized
DEBUG - 2015-04-07 21:12:21 --> Model Class Initialized
INFO  - 2015-04-07 21:12:21 --> ModelName3_model initialized

然后就停止了。没有别的,没有错误信息 - 没有。但是在加载第三个模型之后,应该运行的以下代码行是:

$this->load->model('ModelName4_model') or die('error');

我尝试自动加载ModelName4_model,但后来发生了同样的事情。

所以似乎问题是我的ModelName4_model,但是

  1. 为什么它可以在我的localhost上运行?
  2. 我检查过这个模型两次:它是我最干净的文件之一。
  3. 构造函数与其他模型中的所有其他构造函数相同
  4. 我想在phpinfo()

    中添加一些差异

    服务器(失败)与Localhost(正常工作)

    • PHP版本:5.3.10-1ubuntu3.16 vs. 5.4.16
    • 服务器API:Apache 2.0处理程序与Apache 2.0处理程序
    • Apache版本:Apache / 2.2.22(Ubuntu)与Apache / 2.4.4(Win32)OpenSSL / 0.9.8y PHP / 5.4.16

    有什么建议吗?

    编辑:

    我刚刚意识到我的ModelName4_model不是唯一的问题!我在自动加载中没有我的ModelName4_model加载了我的主页 - 所以这很有效。提交表单后,我再次获得白页 - 无需加载ModelName4_model!

    提交表格后会发生什么?

    1. 使用回调函数进行表单验证
    2. if(form-validation === true)redirect ...
    3. 所以有重定向发生。日志文件与之前完全相同。它只是在加载一个模型后停止。 (我已经检查过问题是这个最后加载的模型,如果和另一个模型混在一起 - 这不是问题,同样的事情发生了。)

      如果脚本不会停止,接下来会发生的事情是

      DEBUG - 2015-04-08 00:07:49 --> Language file loaded: language/german/form_validation_lang.php
      

      此文件的第一行是

      <?php defined('BASEPATH') OR exit('No direct script access allowed');
      

      但我无法想象BASEPATH突然消失了......

      概要

      白页后:

      1. 加载ModelName4_model(在自动加载或任何文件中)
      2. 提交表单并重定向
      3. 现在有什么建议吗?

        edit2:2条评论后

        感谢您在我的浏览器中查看HTTP标头的建议。确实是500错误。因为我已经在stackoverflow上阅读了这个问题,所以我再次搜索了这些主题。在那里,我有建议在我的服务器上搜索另一个日志文件。那太完美了。我找到了另一个日志文件,它给了我更多关于我的问题的信息:

        1. ModelName4_model - 来自新的日志文件:“解析错误:语法错误,意外'['in ...”,这里是这行代码

          $ variable = $ query-&gt; result()[0];

        2. 它出了什么问题?请记住,它适用于我的本地主机!也许它是PHP 5.3而不是PHP 5.4的原因?

          1. 提交表单并重定向:以下是新日志文件的输出:“PHP致命错误:调用未定义的方法ModelName1_model :: methodname()in ...”
          2. 好的,我需要解决这个问题。还没有时间,但希望你随时了解情况。

            只是想知道为什么这两个错误会抛出HTTP 500错误而不仅仅是正常错误......

0 个答案:

没有答案