Я пытаюсь изучить Symfony, что «требует» использования php в командной строке / терминале для некоторых задач.
Мне нравится хранить мой php.ini
в каталоге /apache2/conf
, чтобы иметь все конфигурации сервера в одном месте (и не нужно иметь дело с UAC Windows каждый раз, когда я что-то меняю). В Apache нет проблем, чтобы установить местоположение по умолчанию php.ini через
PHPIniDir "C:/apache2/conf"
Однако при запуске php с терминала – не через сервер Apache – он ищет файл в каталоге C: \ Windows по умолчанию, хотя его там нет:
C:\>php -i ... Configuration File (php.ini) Path => C:\Windows Loaded Configuration File => (none) Scan this dir for additional .ini files => (none) Additional .ini files parsed => (none) ...
Конечно, я могу обойти это, используя php -c C:\apache2\conf ...
каждый раз, когда я его использую, но я бы предпочел более простое и постоянное решение.
Это возможно? Заранее спасибо!
http://www.php.net/manual/en/configuration.file.php
В этих местах (в порядке) выполняется поиск php.ini:
Специфическое расположение модуля SAPI (директива PHPIniDir в Apache 2, опция командной строки -c в CGI и CLI, параметр php_ini в NSAPI, переменная среды PHP_INI_PATH в THTTPD)
Переменная среды PHPRC. Перед PHP 5.2.0 это было проверено после упомянутого ниже раздела реестра.
Начиная с PHP 5.2.0, расположение файла php.ini может быть установлено для разных версий PHP. Следующие ключи реестра рассматриваются в следующем порядке: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] и [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x], где x, y и z означают майор PHP, младшие и выпускные версии. Если в этих ключах есть значение для IniFilePath, то первое найденное будет использоваться как местоположение php.ini (только для Windows).
[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], значение IniFilePath (только для Windows).
Текущий рабочий каталог (кроме CLI)
Каталог веб-сервера (для модулей SAPI) или каталог PHP (иначе в Windows)
Каталог Windows (C: \ windows или C: \ winnt) (для Windows) или опция -with-config-file-path compile time
В дополнение к PHP 5.3 вы можете использовать файлы .ini для каждого каталога. См. http://php.net/manual/en/configuration.file.per-user.php
Попробуйте добавить этот раздел реестра
HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ 5 \ IniFilePath -> (ваш путь)