Передача переменной среды в PHP в командной строке

В CentOS я пытаюсь передать переменную окружения в скрипт PHP.

Я создал этот файл, test.php:

<?php print_r($_ENV);

Когда я запускаю эту команду:

DB=mysql php test.php

Я получаю следующий вывод:

Array
(
)

Что я упустил?

0

Решение

Проверьте свои variables_order php.ini переменная. Он должен содержать E за $_ENV быть населённым. Вы также можете сделать:

$ DB=whatever php -d variables_order=E -r 'echo $_ENV["DB"];'
whatever

Кроме того, вы можете использовать getenv() который будет работать независимо от значения variables_order,

3

Другие решения

использование GETENV функция:

$ cat test.php
<?php
print_r(getenv('DB'));
?>

$ DB=msql php test.php
mysql
1

По вопросам рекламы [email protected]