Edit report at https://bugs.php.net/bug.php?id=60981&edit=1

 ID:                 60981
 Updated by:         jpa...@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] tyr...@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] tyr...@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] s...@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

Reply via email to