ID: 50690 Updated by: paj...@php.net Reported By: php at keithtyler dot com -Status: Assigned +Status: Closed Bug Type: PHP options/info functions Operating System: Windows XP PHP Version: 5.3.1 Assigned To: pajoye New Comment:
This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2010-01-24 13:49:47] s...@php.net Automatic comment from SVN on behalf of pajoye Revision: http://svn.php.net/viewvc/?view=revision&revision=293902 Log: - #50690, putenv does assign value when their length is one char ------------------------------------------------------------------------ [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