#50690 [NoF->Asn]: putenv() does not assign values to env. vars when the value is one character
ID: 50690
Updated by: pajoye@php.net
Reported By: php at keithtyler dot com
-Status: No Feedback
+Status: Assigned
Bug Type: PHP options/info functions
Operating System: Windows XP
PHP Version: 5.3.1
-Assigned To:
+Assigned To: pajoye
Previous Comments:
------------------------------------------------------------------------
[2010-01-23 01:08:09] v-ryanbi at microsoft dot com
Bug still exhibited.
SVN revision 293853 Clean (checked out 2010-01-22 10:15 PST)
Compiled on Windows 2008 R2 / VC9 (VS 2010 Express)
------------------------------------------------------------------------
[2010-01-16 01:00:00] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2010-01-08 07:02:05] jani@php.net
Please try using this snapshot:
http://snaps.php.net/php5.3-latest.tar.gz
For Windows:
http://windows.php.net/snapshots/
It's either fixed or win32 only issue since I can't reproduce this
under linux using latest SVN checkout.
------------------------------------------------------------------------
[2010-01-08 01:35:52] php at keithtyler dot com
Description:
------------
In PHP 5.3.1, a putenv() call with a one character value does not
assign the value to the variable -- however it does create the
variable.
It doesn't matter what type of character it is (alpha, numeric, or
other).
A workaround is to add a space character before or after the value,
e.g.:
putenv("bar= x");
putenv("bar=x ");
(...as long as this space does not cause problems for the consumers of
the variable as it will be part of the string value.)
Reproduce code:
---------------
<?php
putenv("foo=ab");
putenv("bar=c");
var_dump(getenv("foo"));
var_dump(getenv("bar"));
var_dump(getenv("thisvardoesnotexist"));
?>
Expected result:
----------------
We would expect the output to be:
string(2) "ab"
string(1) "c"
bool(false)
which it does under PHP 5.3.0.
Actual result:
--------------
string(2) "ab"
string(0) ""
bool(false)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=50690&edit=1
Thread (5 messages)