я использую PHP 7.2.8 на моей машине, которая работает на Windows 10 64-разрядная операционная система.
Я наткнулся на следующий пример кода из Руководство по PHP имея некоторое описание:
Использование переменных среды может быть использовано в 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 Manual рассматривает нечто подобное (${PHP_MEMORY_LIMIT}
) к ядру ‘Php.ini’ директива как «Переменная среды»?
Кроме того, код, написанный в этом примере кода, не работает как переменная среды с именем ${PHP_MEMORY_LIMIT}
не существует
Я даже проверил последний php.ini из Git, как рекомендовано в руководстве по PHP, но в этом файле я также нашел ядро php_directive memory_limit=128M
и никакой среды, похожей на нее.
В руководстве по PHP неправильный пример кода?
Кто-нибудь, пожалуйста, проясните мои сомнения.
Благодарю.
Первое, что нужно отметить, это то, что ваш пример — это не пример кода, а пример конфигурации. Так что это относится к php.ini
а не в файле PHP.
Переменные окружения зависят от системы, и вы сами можете их установить. Руководство дает вам пример с удачно названным PHP_MEMORY_LIMIT
, Вы можете установить эту переменную в своей системе, а затем использовать ее на своем php.ini
, Но вы можете называть это как хотите, это всего лишь пример, он не основан на какой-либо конкретной платформе, где будет установлена эта переменная.
Других решений пока нет …