ID: 50626 User updated by: sworddragon2 at aol dot com Reported By: sworddragon2 at aol dot com Status: Bogus Bug Type: Output Control Operating System: Windows XP Professional SP3 PHP Version: 5.3.1 New Comment:
Maybe this should be written as a Note in the documentation that PHP can internally call date related functions. Previous Comments: ------------------------------------------------------------------------ [2010-01-01 21:56:20] [email protected] You *need* to make that setting. Internally PHP can also use date related functions that require a proper date.timezone of being set. You can debug this with a C-level debugger and setting a breakpoint at guess_timezone and get a backtrace. ------------------------------------------------------------------------ [2010-01-01 21:45:02] sworddragon2 at aol dot com The date.timezone setting is not set but this is no necessary because no related date functions are called. I can use date_default_timezone_set('UTC') as exmaple in my load_content.php but this would just be a workaround. There must be a reason why a date related error message appears after a flush(); while no date related funtions are used. ------------------------------------------------------------------------ [2010-01-01 21:36:27] [email protected] Do you have the "date.timezone" setting actually set in php.ini (phpinfo() output will tell you). ------------------------------------------------------------------------ [2010-01-01 18:58:12] sworddragon2 at aol dot com Description: ------------ I have a script, that got sometimes a date - related error message but nowhere is such a function called. I don't got the errors myself, I see them just in my error log from other users. Maybe this is not a bug, but i'm searching for a few days for a solution and have no explanation why this bug at line 26 after a flush(); appears (line 26 is marked as a comment in "Actual result:"). The error don't appear at the most time. This is very randomly. Reproduce code: --------------- <?php header('Expires: Tue, 19 Jan 2038 03:14:07'); header('Last-Modified: Thu, 01 Jan 1970 00:00:00'); header('Cache-Control: public'); require_once($global['path'].'core/global/functions/mime_type.php'); if(!$mime_type=mime_type($_GET['file'])) if(isset($_GET['mime_type']) && ($_GET['mime_type']==='image/bmp' || $_GET['mime_type']==='image/gif' || $_GET['mime_type']==='image/jpeg' || $_GET['mime_type']==='image/png' || $_GET['mime_type']==='text/css' || $_GET['mime_type']==='text/html')) $mime_type=$_GET['mime_type']; else $mime_type='text/plain'; header('Content-type: '.$mime_type.'; charset=utf-8'); $size=filesize($_GET['file']); $file=fopen($_GET['file'],'rb'); if($global['server_configuration']['compress_'.$mime_type]==='TRUE') ob_start('ob_gzhandler'); else ob_start(); while($size>$global['server_configuration']['output_buffer']) { $size-=$global['server_configuration']['output_buffer']; echo fread($file,$global['server_configuration']['output_buffer']); if($size>0) { ob_flush(); flush(); }//This is line 26 } if($size>0) echo fread($file,$size); ob_end_flush(); fclose($file); exit(); ?> Actual result: -------------- Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '1.0/no DST' instead in E:\Programme\Lokaler Server\Apache Software Foundation\Apache2.2\htdocs\tower-defense\core\global\includes\load_content.php on line 26 If needed I can post the declared variables at the moment the error appears or other related scripts. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=50626&edit=1
