|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-04-10 05:11 UTC] sv_forums at fmethod dot com
Description:
------------
The "log_errors_max_len" config option should allow us to disable the cap limit if we set it to 0. This has no effect and the actual limit remains 1024. Same about entering values over 1024.
Reproduce code:
---------------
1. Use the following error reporting settings:
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors',0);
ini_set('log_errors',1);
ini_set('log_errors_max_len','0'); // alternatively use values larger than 1024, they also don't work
ini_set('html_errors',0);
2. Produce a code with enough nested calls so when you throw an exception, together with the full stack trace, it'll be over 1024 bytes
3. Throw exception inside the chain.
4. Check the log.
Expected result:
----------------
Since in the example above I've set log_errors_max_len to 0, the log stack traces should not be clipped at the 1024 boundary, but it is.
Actual result:
--------------
The error report log gets clipped at 1024 bytes.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Dec 06 04:00:01 2025 UTC |
'log_errors_max_len' is not the filesize of the logfile. It's the maximum lenght of an error message, printed in each log entry. Reproduce code: --------------- <?php error_reporting(E_ALL); header('Content-Type: text/plain'); if (file_exists('./phplog.log')) { unlink('./phplog.log'); } touch('./phplog.log'); ini_set('display_errors', '0'); ini_set('log_errors', '1'); ini_set('error_log', realpath('./phplog.log')); for ($i = 1; $i <= 5; $i++) { ini_set('log_errors_max_len', $i); trigger_error(str_repeat('-', 10), E_USER_WARNING); } readfile('./phplog.log'); ?> Actual result: -------------- [10-Apr-2007 15:13:58] PHP Warning: - in C:\php-5.2.1\testlog.php on line 13 [10-Apr-2007 15:13:58] PHP Warning: -- in C:\php-5.2.1\testlog.php on line 13 [10-Apr-2007 15:13:58] PHP Warning: --- in C:\php-5.2.1\testlog.php on line 13 [10-Apr-2007 15:13:58] PHP Warning: ---- in C:\php-5.2.1\testlog.php on line 13 [10-Apr-2007 15:13:58] PHP Warning: ----- in C:\php-5.2.1\testlog.php on line 13Description: ------------ The "log_errors_max_len" config option should allow us to disable the cap limit if we set it to 0. This has no effect and the actual limit remains 1024. Same about entering values over 1024. Reproduce code: --------------- 1. Use the following sample code: <?php error_reporting(E_ALL|E_STRICT); ini_set('display_errors',0); ini_set('log_errors',1); ini_set('log_errors_max_len','0'); ini_set('html_errors',0); function deepTrace($a, $b, $c) { if ($c < 50) {deepTrace($a, $b, $c+1);} else {throw new Exception('Example exception that together with the trace is over 1024 bytes.');} } deepTrace('example','function',0); ?> 2. Check the log. Expected result: ---------------- Since in the example above I've set log_errors_max_len to 0, the log stack traces should not be clipped at the 1024 boundary, but it is. Actual result: -------------- The error report log gets clipped at 1024 bytes.