Мой test.php
файл выглядит следующим образом:PHP - Переменные окружения не доступен Когда скрипт вызывается из Cron Job/Командная строка
<?php
echo $_SERVER["myEnvVariable"];
echo getenv("myEnvVariable");
выше вернет мой набор переменную окружения дважды. Он работает, когда скрипт вызывается извне сервера.
Если я называю тот же сценарий на сервере, используя команду из командной строки:
php test.php
или с использованием cronjob
****** curl http://localhost/test.php
ничего не возвращается.
Как сделать доступными переменные среды внутри самого сервера? Я устанавливаю свои переменные среды в файле Apache httpd.conf
.
Является ли env var установленным для учетной записи, в которой вы вошли в систему, как при запуске из командной строки? Поскольку командной строке все равно, что может быть установлено в вашей конфигурации apache –
Если вы пытаетесь с http и используете настоящий url вместо localhost, вы получаете переменные env? – Maerlyn
Когда вы вызываете его из командной строки с помощью команды 'php', вы обходите Apache, поэтому вы не получаете переменную env. Не уверен, как обойти это. @MarkBaker вы должны написать ответ, в котором описывается, как установить var «для учетной записи, в которую вы вошли в систему». – mopo922