Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP CodeIgniter错误日志工作不正常_Php_Codeigniter_Logging_Configuration_Error Handling - Fatal编程技术网

PHP CodeIgniter错误日志工作不正常

PHP CodeIgniter错误日志工作不正常,php,codeigniter,logging,configuration,error-handling,Php,Codeigniter,Logging,Configuration,Error Handling,我在php.ini中有以下设置- error_reporting = E_ALL | E_NOTICE | E_STRICT|E_WARNING display_errors = Off log_errors = On error_log = "/var/log/php_errors.log" 和CodeIgniter中的config.php- $config['log_threshold'] = 1; $config['log_path'] = getcwd() . '/' . SYSDIR

我在php.ini中有以下设置-

error_reporting = E_ALL | E_NOTICE | E_STRICT|E_WARNING
display_errors = Off
log_errors = On
error_log = "/var/log/php_errors.log"
和CodeIgniter中的config.php-

$config['log_threshold'] = 1;
$config['log_path'] = getcwd() . '/' . SYSDIR . '/logs/';
在Index.php文件中-

case 'development':
error_reporting(E_ALL);
break;

case 'testing':
case 'production':
     error_reporting(0);
在Index.php中进行“开发”时,我会在网页上看到警告和错误消息,php致命错误,php Parse error在php_errors.log文件中。但如果我将其设置为“生产”,则不会在文件中显示或记录任何错误/警告。如何记录所有错误和消息而不显示


(这里只提一下-文件夹应用程序/logs/是777,我只有index.html,上面写着“403禁止”。

我不完全确定,但我认为你把两件事混在一起了

php设置中的错误报告显示在php脚本执行期间创建的错误。 如果使用“display_errors”=关闭。PHP不会显示任何这些错误。您已打开“日志错误”并设置了文件夹。因此,PHP错误将进入/var/log/PHP_errors.log文件

另一方面,CodeIgniter使用以下功能:

log_message('level,'message')
用于将错误/调试/信息存储到日志文件中。如果你打电话

log_message('error','I'm an error!')
在代码的某个地方,您确实应该在日志目录中有一个新的日志文件

如果存在任何PHP错误,Internaly CodeIgniter将使用log_message()。我真的不确定当display_error设置为Off(他会认为没有错误?)时,它将如何运行


尝试调用您自己的日志\u消息,并将显示错误打开。我认为它应该会有所帮助。

请检查您的config/config.php文件并检查您的设置

$config['log_threshold'] = 4;

**Note :**  

0 = Disables logging, Error logging TURNED OFF
1 = Error Messages (including PHP errors)
2 = Debug Messages
3 = Informational Messages
4 = All Messages

您必须设置错误报告(E_ALL);在index.php文件中的case“production”下,是否发生了配置的过度写入?是否尝试将日志路径保留为默认路径“”?是的,我尝试过。但什么都没有发生。我甚至尝试了完整的日志路径--“home/theuser/path/to/log/”,但它不起作用。。。您是否知道可能的原因?是否查看了error.log以查看它是否抛出任何错误?