我目前已将Codeigniter根index.php
的{{1}}变量设置为environment
。
我还没有启用微小的URL模式。
我不想每天都检查development
!
希望我的PHP错误返回页面。 500内部错误实际上是 * HARD * \ test方法,可用于显示错误。
请注意,我们正在使用默认配置的Ubuntu 12.04 LTS服务器。
答案 0 :(得分:13)
正如评论中提到的,我怀疑这是CodeIgniter的问题。您可能只是在display_errors
中将php.ini
设置为关闭。
如果我没记错的话,CI index.php
包含对ini_set('error_reporting', ..);
的调用,无论如何都要更改默认行为,因此您可以随时查看该内容,看看发生了什么。
看看,这是默认值:
/*
|---------------------------------------------------------------
| PHP ERROR REPORTING LEVEL
|---------------------------------------------------------------
|
| By default CI runs with error reporting set to ALL. For security
| reasons you are encouraged to change this when your site goes live.
| For more info visit: http://www.php.net/error_reporting
|
*/
error_reporting(E_ALL);
如果您只是在ini_set('display_errors', 1);
下添加,它应该开始正常工作。显然最好的办法是为你的环境添加一个开关来设置这些变量,我不知道为什么它不是那样的,但这是一个例子:
if (defined('ENVIRONMENT'))
{
switch (ENVIRONMENT)
{
case 'development':
error_reporting(E_ALL);
ini_set('display_errors', 1);
break;
case 'production':
error_reporting(0);
ini_set('display_errors', 0);
break;
}
}
答案 1 :(得分:3)
在开发环境案例中,只需在index.php中添加以下内容:
case 'development':
error_reporting(E_ALL);
ini_set('display_errors', 'On');
编辑:正如Rudi Visser所说,你可以修改它改变你的php.ini。我更喜欢在这里修复它,所以每当我下载项目时(我的笔记本电脑,办公室电脑或我在紧急情况下借用的电脑,我都不需要更改php.ini配置)
答案 2 :(得分:0)
我有同样的问题,我从codeigniter得到的唯一的东西只有500内部错误。(我的旧项目和干净的安装做了同样的事情) 但有趣的是,我的非CI项目仍然有效,主要包含php。
用
写出错误的提示ini_set('display_errors', 'On' / ,1)
由于某种原因解决了我的问题,我没有权利阅读codeigniter核心文件。
在文件中添加'+ r'解决了问题。
Rudi Visser
CarlosIPe
我感谢你们两个解决方案。