Edit report at https://bugs.php.net/bug.php?id=60981&edit=1
ID: 60981
Updated by: jpauli@php.net
Reported by: david at davidfavor dot com
Summary: Shell environment inaccessible in tests
Status: Assigned
Type: Bug
Package: Testing related
Operating System: Ubuntu 11.10
PHP Version: 5.3.10
Assigned To: danielc
Block user comment: N
Private report: N
New Comment:
I confirm that getenv() works regardless any .ini config.
It proxies to SAPI/system getenv()
Previous Comments:
------------------------------------------------------------------------
[2012-02-07 14:30:43] tyrael@php.net
the problem is that the run-tests.php fetches the environment variables from $_ENV
http://svn.php.net/viewvc/php/php-src/trunk/run-tests.php?view=markup#l134
then passes the environment variables to the system_with_timeout call (which will
proc_open using those environment variables).
so there is no documentation issue, only run-tests.php needs a change to either
force the variable_orders to contain E(we could pass the --d variable_orders=EGPCS
in the run-tests.php call in http://svn.php.net/viewvc/php/php-
src/trunk/Makefile.global) or changing run-tests.php to not use the $_ENV array
for fetching all the environment vars.
------------------------------------------------------------------------
[2012-02-07 14:18:14] tyrael@php.net
AFAIK getenv does work independently from variable_orders:
foo=bar php -d variables_order=GPC -r 'echo $_ENV["foo"];echo
getenv("foo");'
outputs "bar" for me, so it works.
Tyrael
------------------------------------------------------------------------
[2012-02-07 14:11:31] david at davidfavor dot com
That works...
So there are two doc errors...
#1) http://php.net/manual/en/reserved.variables.environment.php
contains
comments
that getenv() returns environment variables, independent of variable_orders
setting. I've submitted a note to clarify this.
#2 http://php.net/manual/en/ini.core.php states
variables_order default setting
is "EGPCS", which is incorrect.
Both php.ini-production and php.ini-development contain "GPCS".
Best to fix both php.ini files so they match the docs.
Let me know if I should open another bug request for the doc change.
Thanks for helping me get this to work!
------------------------------------------------------------------------
[2012-02-06 21:30:59] sixd@php.net
Try adding E to php.ini's variables_order.
------------------------------------------------------------------------
[2012-02-06 20:12:20] david at davidfavor dot com
export var=foo is the same as sourcing a file that includes...
export var=foo
Problem is no shell environment is reaching the test scripts.
Please suggest a way to turn off clearing of the environment.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=60981--
Edit this bug report at https://bugs.php.net/bug.php?id=60981&edit=1