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

 ID:                 60981
 Comment by:         tyr...@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:

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.


Previous Comments:
------------------------------------------------------------------------
[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.

------------------------------------------------------------------------
[2012-02-05 19:00:29] dani...@php.net

The environment variables need to be established in a scope available all shell 
scripts.  For example, them in the ~/.bashrc script of the user executing "make 
test".

Set the variables in ~/.bashrc
source ~/.bashrc
make test ....

The "source" step is only necessary in the first shell since the variables were 
not available when the shell was opened.  All future shells will have them.

------------------------------------------------------------------------


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