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