Установка и получение переменных глобальной среды с использованием PHP - PullRequest
0 голосов
/ 18 октября 2019

Я создал простые сценарии PHP для установки и получения переменных окружения.

set.php

putenv("TEST_VAR=HelloWorld");

get.php

echo getenv('TEST_VAR');

Но я неполучить любой вывод после выполнения get.php

Я использую Ubuntu 18.04. Я также попытался установить переменную env с помощью сценария оболочки.

test.sh

export TEST_VAR=HelloWorld

И попытался получить ее с помощью get.php. Но я всегда получаю это пустым.

Есть ли что-то еще, что мне нужно добавить или изменить в моем сценарии. Или есть какие-либо изменения конфигурации должны быть сделаны.

1 Ответ

0 голосов
/ 18 октября 2019

setenv () и getenv () работают только внутри одного и того же сценария и полезны, когда вы хотите отличить переменную окружения для одного конкретного сценария.

Чтобы хранить информацию между запросами, вы 'Вам понадобится некоторая форма хранения. Какой из них зависит от вашего варианта использования.

Кэш / память в памяти

Если вы хотите временно сохранить информацию, поиск должен быть быстрым, и это не проблема, еслиданные теряются, вы можете использовать их в памяти.

У вас есть несколько возможностей, таких как Redis и Memcached. Я бы не советовал APCu, потому что он больше не разрабатывается.

Постоянное хранилище

Вы можете хранить свои данные на диске. Это медленнее, чем в памяти, но вероятность потери данных гораздо меньше.

Вы можете использовать хранилище файлов:

set.php

<?php

file_put_contents('data/my.dat', 'My data');

get.php

<?php

echo file_get_contents('data/my.dat');

Или вы можете использовать базу данных.

Сеансовое хранилище

Вы часто хотите хранить данные, относящиеся к одному пользователю. Другие пользователи видят другие данные. Для этого можно использовать сеансы php.

Пример использования сеансов PHP: https://www.php.net/manual/en/function.session-start.php

Переменные окружения

Если вы настаиваете на использовании переменных окружения и хотите изменитьих во время выполнения вы можете использовать phpdotenv и записывать в файлы .env. Обратите внимание, что переменные среды должны использоваться для конфигурации программного обеспечения, а не в качестве шаблона хранения.

...