Что делает "setenv PHPRC" и как он используется?


У меня есть клиент с некоторыми техническими навыками, который любит просматривать файлы и понимать, как они работают.

Вчера мы установили брандмауэр Ninja в их WordPress, и их сервер веб-хостинга нуждается в настройке SetEnv PHPRC по пути php.ini в файле.htaccess. Я хотел бы получить объяснение SetEnv PHPRC на простом английском языке для моего клиента, но в моем исследовании было только немного этого и немного того, и никаких четких объяснений.

Author: Stephen Ostermiller, 2016-12-17

1 answers

PHPRC является заменой php.ini,... Сайты, похоже, рассказывают, как его создать.

Я думаю, что это что-то немного другое (в отношении создания файла "phprc" - локального файла конфигурации PHP - что-то уникальное для DreamHost AFAIK)?

PHPRC (Конфигурация среды выполнения PHP) переменная среды - это один из способов указать PHP, где найти основной файл php.ini. Иногда его можно использовать для изменения расположения основного php.ini файл.
Ссылка: http://php.net/configuration .файл

На некоторых хостах переменная среды PHPRC также может использоваться для установки локального (для каждого сайта) php.ini файла конфигурации PHP. (В противном случае попытка изменить местоположение php.ini на общем хосте ничего не даст, кроме установки переменной среды.) Это также может быть достигнуто с помощью локального файла .user.ini и/или .htaccess - но это может варьироваться от хоста к хосту.

Директива Apache SetEnv (часть mod_env) просто устанавливает эту переменную среды. PHPRC затем доступен для любого языка сценариев, который считывает эти переменные среды.

Почему это необходимо для NinjaFirewall?

Документы ninjafirewall состояние:

Установка... NinjaFirewall потребуется добавить некоторые инструкции в ваши системные файлы (php.ini, .htaccess). В большинстве случаев он сможет определить вашу конфигурацию и внести эти изменения за вас

Я предполагаю, что для этого NinjaFirewall необходим локальный (php.ini в вашем случае) конфигурационный файл, в котором можно вносить изменения. Или, что менее вероятно, требуется набор PHPRC env var, чтобы иметь возможность найти местоположение файла php.ini, который затем можно отредактировать. (Конкретный путь, который устанавливается, скажет вам об этом... это путь в вашем веб-пространстве? Или где-то еще в файловой системе?)

Это также указано в этом WordPress.org поток, который:

Директива SetEnv PHPRC в .htaccess является только необходим, когда вы используете php.ini, который не является рекурсивным, т.Е. Не применяется к подкаталогам.

Хотя мне кажется, что в этом нет особого смысла? (Если php.ini не является "рекурсивным", то я не думаю, что вы бы использовали php.ini для начала?)

Дальнейшее чтение:

 4
Author: MrWhite, 2020-06-16 10:32:57