ID: 50626
Comment by: sworddragon2 at aol dot com
Reported By: sworddragon2 at aol dot com
Status: Feedback
Bug Type: Output Control
Operating System: Windows XP Professional SP3
PHP Version: 5.3.1
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[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