我在CI的$autoload['libraries'] = array('database');
中有一行 - autoload.php
。因此,我得到一个空白页面。当我删除'database'
选项后,我开始获取输出。
现在我的问题不是如何配置数据库,而是如何配置CI以说出自己的想法。启用'database'
后,我得到的是一个完整的空白页面。 php日志中没有错误,Apache日志中没有错误,CI日志中没有错误。在PHP中,我设置了E_ALL
。在我的CI配置中,我已将log_threshold
设置为4
,即应记录所有消息。我还需要做什么?
答案 0 :(得分:15)
这取决于您的CI版本。对于< 2.x编辑顶级index.php并调整error_reporting函数以使用E_ALL“
error_reporting(E_ALL);
对于> = 2.x编辑顶级index.php并确保将ENVIRONMENT设置为:
define('ENVIRONMENT', 'development');
将error_reporting设置为E_ALL。
答案 1 :(得分:12)
使用以下内容在您的webroot中创建.htaccess文件
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value error_reporting -1
php_value log_errors_max_len 0
希望能够启用您的日志 确保在生产服务器上将值设置为 off 并向 0 报告:)
答案 2 :(得分:2)
以下环境设置将强制PHP在发生错误时显示错误:
错误报告
如果(defined('ENVIRONMENT') { 开关(环境) { 案例“发展”: //报告所有错误 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.');
}
}
答案 3 :(得分:1)
我不确定究竟是什么原因,但是我使用了剩余的php.ini文件安装了PHP。后来我用自己的PHP安装了完整的WAMP堆栈。当我从先前的安装中删除剩余的php.ini文件时,它开始正常工作。似乎新安装中的PHP二进制文件正在使用左侧的php.ini,它位于完全不同的目录中;也许是因为该目录在环境PATH中。