解析错误:语法错误,PHP中意外的文件结束

时间:2015-04-21 06:49:12

标签: php codeigniter

我收到的错误是:

  

解析错误:语法错误,... \ system \ core \ Loader.php(829)中的意外文件结束:第307行的eval()代码..

这是loader.php

中的代码
foreach ($this->_ci_model_paths as $mod_path)
        {
            if ( ! file_exists($mod_path.'models/'.$path.$model.'.php'))
            {
                continue;
            }

            if ($db_conn !== FALSE AND ! class_exists('CI_DB'))
            {
                if ($db_conn === TRUE)
                {
                    $db_conn = '';
                }

                $CI->load->database($db_conn, FALSE, TRUE);
            }

            if ( ! class_exists('CI_Model'))
            {
                load_class('Model', 'core');
            }

            require_once($mod_path.'models/'.$path.$model.'.php');

            $model = ucfirst($model);

            $CI->$name = new $model();

            $this->_ci_models[] = $name;
            return;
        } // this line number 307

和eval代码

if ((bool) @ini_get('short_open_tag') === FALSE AND config_item('rewrite_short_tags') == TRUE)
        {
            echo eval('?>'.preg_replace("/;*\s*\?>/", "; ?>", str_replace('<?=', '<?php echo ', file_get_contents($_ci_path))));//this is line number 829
        }
        else
        {
            include($_ci_path); 
        }

我试图搜索这个但找不到任何东西。

1 个答案:

答案 0 :(得分:1)

这将由您撰写的文件引起。

看起来您可能正在加载缺少{或}或某些语法错误的模型。因此,您需要确定要加载的模型。

您可以通过URL执行此操作,以查看您要呼叫的控制器/方法。检查控制器构造函数以查看是否在那里加载任何模型...检查方法并检查自动装载器。

然后检查那些模型 - 您编写的模型 - 并查找错误。如果您使用的是体面的编辑器或IDE,您应该看到它们的位置。