Как основная директива php.ini 'memory_limit' рассматривается как переменная среды в примере кода из руководства по PHP? - PullRequest
0 голосов
/ 25 августа 2018

Я использую PHP 7.2.8 на моем компьютере, работающем в 64-разрядная операционная система Windows 10 .

Я сталкиваюсь со следующим примером кода из PHP Manual с некоторым описанием:

Использование переменных среды может использоваться в php.ini , как показано ниже.

Пример # 1 php.ini Переменные среды

; PHP_MEMORY_LIMIT is taken from environment
memory_limit = ${PHP_MEMORY_LIMIT}

Я выполнил приведенный выше код на моей машине, он дал мне следующие сообщения об ошибках:

Warning: Use of undefined constant PHP_MEMORY_LIMIT - assumed 'PHP_MEMORY_LIMIT' (this will throw an Error in a future version of PHP) in demo.php on line 3

Notice: Undefined variable: PHP_MEMORY_LIMIT in demo.php on line 3

Я проверил список доступных 'Переменные окружения' на моей машине, но я не получил такую ​​переменную окружения с именем $_ENV['PHP_MEMORY_LIMIT']

Затем я проверил файл php.ini на моей машине. Я нашел ядро ​​ php_directive memory_limit=128M

Итак, мой вопрос заключается в том, почему пример кода из Руководства по PHP рассматривает нечто подобное (${PHP_MEMORY_LIMIT}) с основной директивой 'php.ini' как 'Переменная среды' ?

Кроме того, код, написанный в этом примере кода, не работает, так как такой переменной среды с именем ${PHP_MEMORY_LIMIT} не существует.

Я даже проверил последний php.ini из Git, как рекомендовано в руководстве по PHP, но в этом файле я также обнаружил ядро ​​ php_directive memory_limit=128M и ни одна среда не похожа на него.

В руководстве по PHP приведен неправильный пример кода?

Кто-нибудь, пожалуйста, проясните мои сомнения.

Спасибо.

1 Ответ

0 голосов
/ 25 августа 2018

Первое, что нужно отметить, это то, что ваш пример - это не пример кода, а пример конфигурации.Таким образом, он принадлежит php.ini, а не файлу PHP.

Переменные среды зависят от системы, и вы можете их установить.В руководстве приведен пример с точно названным PHP_MEMORY_LIMIT.Вы можете установить эту переменную в своей системе, а затем использовать ее на php.ini.Но вы можете называть это как хотите, это всего лишь пример, он не основан на какой-либо конкретной платформе, где будет установлена ​​эта переменная.

...