代码点火器不调用特定控制器的任何功能,而与其他控制器配合良好


codeigniter calls none of the functions of a specific controller while works fine with others

我正在使用CodeIgniter 2.2;

不久前,我用codeigniter创建了一个网站(遵循codeigniters动态数据教程),并制作了两个控制器(当然还有它们的模型),即建议和报告。至于第一个需要,我为这两个控制器创建了函数和视图。它们在我的本地(windows,MySQL)和远程(linux,MySQL)中都工作得很好。然而,昨天,我尝试添加视图函数,并在数据库中列出值。我添加了简单的视图功能

$data['suggestions'] = $this->suggestions_model->get_suggestions();
$this->load->view('suggestions/view',$data);

对于相同的报告

$data['reports'] = $this->reports_model->get_reports();
$this->load->view('reports/view',$data);

这在我的本地工作得很好,我可以看到他们两个的结果。然而,当我把它放到生产(远程)建议中时,控制器可以使用它的创建和查看功能,但报告控制器不会返回任何内容。现在报表控制器的创建功能也不起作用。它也只是简单地返回空的html并且没有错误。我将"echo"answers"var_dump()"命令放在了几个位置,包括报表控制器的构造函数。然而,它只是不返回任何错误消息。(由于是生产环境,php错误可能已经关闭(我不是管理员))那么,这可能是什么原因造成的,对于解决方案,我需要看看哪里?或者简单地说,解决方案是什么?

PS:我已经按照下面的建议编辑了index.php,这是我的错误消息:解析错误:语法错误,在第37行的/my_site/application/controllers/reports.php中出现意外的T_CONSTANT_ENCAPSED_STRING

第37行是:$data['reports']=$this->reports_model->get_reports();

看起来很好,但问题出在哪里?对于那些询问它的人,是的,我在构造函数中加载模型。。。提前谢谢。

尝试设置:

ini_set('display_errors', 1);

查看我的index.php

/*
 *---------------------------------------------------------------
 * APPLICATION ENVIRONMENT
 *---------------------------------------------------------------
 */
define('ENVIRONMENT', 'development');
/*
 *---------------------------------------------------------------
 * ERROR REPORTING
 *---------------------------------------------------------------
 */
if (defined('ENVIRONMENT'))
{
    switch (ENVIRONMENT)
    {
        case 'development':
            // Report all errors
            error_reporting(E_ALL);
            // Display errors in output
            ini_set('display_errors', 1);
        break;
        case 'testing':
        case 'production':
            // Report all errors except E_NOTICE
            // This is the default value set in php.ini
            error_reporting(E_ALL ^ E_NOTICE);
            // Don't display errors (they can still be logged)
            ini_set('display_errors', 0);
        break;
        default:
            exit('The application environment is not set correctly.');
    }
}
   Missed out the closing "'" for first parameter. Copy the below code and try.
   $this->load->view('suggestions/view',$data);
   $this->load->view('reports/view',$data);

把这个放在index.php中,也许你可以得到php错误来显示:

ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);