ID: 50690 Updated by: paj...@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] j...@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