PHP 4.0 Bug #6972: date("Z") fails after putenv("TZ=<val>"), works with a getenv("TZ") between
| From: | jdm at anteil dot com | Date: | Mon, 02 Oct 2000 06:14:58 +0000 |
| Subject: | PHP 4.0 Bug #6972: date("Z") fails after putenv("TZ=<val>"), works with a getenv("TZ") between | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-33945@lists.php.net to get a copy of this message | ||
From: jdm@anteil.com
Operating system: Linux (RH6.2)
PHP version: 4.0.2
PHP Bug Type: Unknown/Other Function
Bug description: date("Z") fails after putenv("TZ=<val>"), works
with a getenv("TZ") between
Script to produce the problem:
<?
$TZ=":America/New_York";
$oldTZ = getenv("TZ");
putenv("TZ=$TZ");
$y = date("Z");
$x = date("Z");
echo "A: TZ= $TZ: GMTOFFSET = $y <BR>";
echo "B: TZ= $TZ: GMTOFFSET = $x <BR>";
putenv("TZ=$oldTZ");
$oldTZ = getenv("TZ");
putenv("TZ=$TZ");
$y = date("Z");
$x = date("Z");
echo "A: TZ= $TZ: GMTOFFSET = $y <BR>";
echo "B: TZ= $TZ: GMTOFFSET = $x <BR>";
putenv("TZ=$oldTZ");
?>
If you swap the lines (at the top of the script):
$oldTZ = getenv("TZ");
putenv("TZ=$TZ");
to:
putenv("TZ=$TZ");
$oldTZ = getenv("TZ");
the script works fine.
My installation is RH6.2/apache 1.3.12/php4.0.2/mysql 3.22.23. I also have a
database logging and replication layer as a module in php, but I had someone
on the PHP GENERAL mailing list verify the bug on their setup. This appears
to be a glitch in environment memory handling, but I can't be sure.