PHP: возможно установить константы в файле php.ini по умолчанию

Я хочу иметь константу (строку), доступную для всех PHP-скриптов на сервере.

Согласно http://php.net/manual/en/function.parse-ini-file.php, это довольно просто, если вы разбираете дополнительный файл .ini, однако я не хочу разбирать дополнительный файл, я хочу чтобы установить мою константу в глобальном php.ini без необходимости разбирать что-либо в скриптах. (На самом деле это весь смысл, потому что мне нужна константа, чтобы найти материал для включения / разбора / и т. Д .: Когда я знаю, где будет этот дополнительный файл .ini, мне он больше не нужен!)

Просто изобретать новую константу в php.ini, а затем пытаться получить к ней доступ с помощью ini_get () не работает, есть ли другой способ?

Я сам компилирую Apache и PHP, поэтому я мог бы также установить константу во время компиляции и / или использовать Apache-константы, если это необходимо.

Related of "PHP: возможно установить константы в файле php.ini по умолчанию"

Вы можете использовать скрипт PHP auto_prepend_file в своем PHP-файле для выполнения этого, поскольку он будет запущен до любого из ваших сценариев пользовательской земли:

Задает имя файла, который автоматически анализируется перед основным файлом. Файл включен, как если бы он был вызван с помощью функции require, поэтому используется include_path.

Таким образом, вы можете добавить строку ini, например:

 auto_prepend_file="/home/user/script.php" 

В /home/user/script.php:

 define('CONSTANT_NAME', 'your nice value here'); 

Теперь в ваших PHP-скриптах вы можете получить доступ к CONSTANT_NAME где бы вы ни находились, поскольку он доступен во всех скриптах PHP.

Я использую эту технику на моем промежуточном сервере, который использует массовый виртуальный хостинг на основе mod_rewrite, поэтому я могу дать своим PHP-скриптам правильный корень документа. Я уже обсуждал это в блоге .

Из того, что вы сказали, я думаю, вы обнаружите, что уже будет уже что-то подобное в $ _SERVER , в частности «DOCUMENT_ROOT».

Просто. Создайте файл xxx.php, где вы определяете константу и добавляете этот файл в глобальный include_path в php.ini. Я хотел бы добавить, что сохранение таких глобальных констант или переменных не является рекомендуемым способом работы, так как вы можете забыть, откуда возникают константы, и не делает ваши приложения очень портативными и явными для других разработчиков.