我正在使用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);