Что делать если нет php ini
Файл конфигурации ( php.ini ) считывается при запуске PHP. Для версий серверных модулей PHP это происходит только один раз при запуске веб-сервера. Для CGI и CLI версий это происходит при каждом вызове.
- По месту расположения модуля SAPI ( PHPIniDir директива Apache 2, -c параметр командной строки CGI и CLI)
- Переменная среды PHPRC .
- Местоположение файла php.ini может быть указано для различных версий PHP. Корневой ключ реестра зависит от разрядности операционной системы и установки PHP. Для 32-разрядного PHP на 32-разрядной Windows или 64-разрядного PHP и 64-разрядной Windows используйте [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] . Для 32-разрядного PHP на 64-разрядной Windows [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] . Следующие ключи реестра исследуются при поиске для установок с совпадающей разрядностью: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x] , где x, y и z подразумевают major, minor и release версии PHP. Для 32-разрядного PHP на 64-разрядной Windows ключи реестра будут другими: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x] . Если также имеется значение IniFilePath в любом из этих ключей, то местонахождение php.ini будет определено первым ключом по порядку (только для Windows).
- [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] или [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] , значение IniFilePath (только для Windows).
- Текущая директория (исключая CLI).
- Директория веб-сервера (для модулей SAPI) или директория PHP (иначе в Windows).
- В директории Windows ( C:\windows или C:\winnt ) (для Windows) или —with-config-file-path с выбором при компиляции.
Если файл php-SAPI.ini существует (где SAPI — это тип интерфейса, который используется, например, php-cli.ini или php-apache.ini ), то он используется вместо php.ini . Тип интерфейса между веб-сервером и PHP может быть определён с помощью функции php_sapi_name() .
Замечание:
Веб-сервер Apache изменяет текущую директорию на корневую при запуске, в результате чего PHP считывает php.ini из корневой файловой системы, если файл существует.
В php.ini можно использовать переменные окружения, как показано ниже.
Пример #1 Переменные окружения php.ini
; PHP_MEMORY_LIMIT взята из переменных окружения memory_limit = $
Директивы php.ini , обрабатываемые модулями, описаны на соответствующих страницах модулей. Список директив ядра имеется в приложении. Не все директивы PHP документированы в этом руководстве: для ознакомления с полным списком директив доступных в вашей версии PHP, прочитайте комментарии вашего php.ini . Кроме того, вы можете найти полезной » последнюю версию php.ini из Git.
Пример #2 Пример php.ini
; любой текст в строке после точки с запятой (;) без кавычек игнорируется [php] ; маркеры разделов (текст в квадратных скобках) также игнорируется ; Могут быть установлены следующие логические значения: ; true, on, yes ; или false, off, no, none register_globals = off track_errors = yes ; вы можете заключать строки в двойные кавычки include_path = ".:/usr/local/lib/php" ; обратный слеш обрабатывается так же, как любые другие символы include_path = ".;c:\php\lib"
Возможно обращаться к существующим ini-переменным из ini-файлов. Пример: open_basedir = $ «:/new/dir» .
Сканирование директорий
Существует возможность сконфигурировать PHP для сканирования директорий в поисках .ini-файлов после считывания php.ini . Это можно сделать на моменте компиляции, указав опцию —with-config-file-scan-dir. Сканирование директорий может быть переопределено во время исполнения установкой переменной среды PHP_INI_SCAN_DIR .
Можно сканировать несколько директорий, разделяя их разделителем, используемом в вашей операционной системе ( ; в Windows, NetWare и RISC OS; : на всех остальных платформах; в PHP есть константа PATH_SEPARATOR , которую можно использовать) Если PHP_INI_SCAN_DIR пуста, то PHP также будет сканировать директорию, заданную на этапе компиляции с помощью —with-config-file-scan-dir.
В каждой директории PHP сканирует все файлы заканчивающиеся на .ini в алфавитном порядке. Список всех загруженных файлов в том порядке, в котором они были загружены, доступен с помощью функции php_ini_scanned_files() , либо при запуске PHP с опцией —ini.
Допустим, что PHP сконфигурирован с --with-config-file-scan-dir=/etc/php.d, и разделитель путей . $ php PHP загрузит все файлы /etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php PHP загрузит все файлы /usr/local/etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php PHP загрузит все файлы /etc/php.d/*.ini, а потом /usr/local/etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php PHP загрузит все файлы /usr/local/etc/php.d/*.ini, а потом /etc/php.d/*.ini как конфигурационные.
PHP can’t find php.ini configuration file
I am running a webserver with Apache2.4 and have added the following lines in the httpd configuration file to setup php with Apache:
# PHP8 module PHPIniDir "c:/php" LoadModule php_module "c:/php/php8apache2_4.dll" AddType application/x-httpd-php .php
I have both php and Apache extracted to their respective folders directly under my c:/ drive and have setup the windows PATH variable for php. Output from phpinfo() :
Configuration File (php.ini) Path no value Loaded Configuration File (none)
EDIT: On Windows php.ini does not exist and must be created by copying either php-ini-development or php-ini-production (or re-naming either file to php.ini ) however this did not solve the issue
Как исправить «Configuration File (php.ini) Path» no value
Функция phpinfo показывает полную информацию о рабочей среде PHP, в том числе какие модули включены, где располагаются файлы настроек, с какими опциями были скомпилированы бинарные файлы PHP и многое другое.
Чтобы использовать эту функцию в папке веб-сервера создайте файл и скопируйте в него:
Сохраните файл и откройте его в веб-браузере.
Почему Configuration File (php.ini) Path имеет значение no value
Как следует из название пункта «Configuration File (php.ini) Path» это путь до конфигурационного файла php.ini. Файл php.ini является важным, поскольку в нём включаются и выключаются модули, устанавливаются лимиты на использование аппаратных ресурсов системы и делаются все другие настройки PHP.
Как можно увидеть на скриншоте, «Configuration File (php.ini) Path» определено как «no value», то есть нет значения. Можно подумать, что что-то сделано не верно и PHP работает без модулей.
Но на самом деле, PHP и веб-сервер на компьютере, с которого был снят скриншот, работают как следует. Обратите внимание на следующий после выделенной строки пункт «Loaded Configuration File», в нём указано значение C:\Server\bin\PHP\php.ini, то есть конфигурационный файл загружен.
Что касается «Configuration File (php.ini) Path» то здесь пишется путь до файла, где по умолчанию ищется php.ini — это значение указывается при компиляции PHP, вам не нужно об этом беспокоиться.
То есть нужно обращать внимание только на «Loaded Configuration File», поскольку если там также «no value», то это действительно означает, что конфигурационный файл php.ini не загружен и не используется.
Если не работают какие-то модули, то внимательно проверяйте содержимое php.ini — действительно ли вы раскомментировали нужные строки?
После внесения изменений в файл php.ini не забывайте перезагружать веб-сервер, чтобы сделанные изменения вступили в силу.
Связанные статьи:
- Ошибка «Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl» (РЕШЕНО) (100%)
- Решение проблемы «AH00369: Failed to open the Windows service manager, perhaps you forgot to log in as Adminstrator?» (93.4%)
- Ошибка «You’re speaking plain HTTP to an SSL-enabled server port» (РЕШЕНО) (93.4%)
- Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin (76.3%)
- Окно Apache появляется и сразу пропадает (РЕШЕНО) (73.7%)
- Для чего нужна и как использовать open_basedir (RANDOM — 56.6%)
Нет php.ini, но есть php.ini-development и php.ini-production. Какая между ними разница?
Скачал PHP c php.net, распаковал и прописал этот путь в PATH.
В папке с PHP нет php.ini, но есть php.ini-development и php.ini-production.
Они одинаковы. Насколько я понимаю, надо просто переименовать один из них, удалив часть названия, чтобы остался только php.ini. Но который?
И нужно ли предпринимать еще дополнительные действия в связи с этим переименованием — вручную задавать пути к ним где-то и т.д.?
Именно php.ini есть свой отделдьный в XAMPP, но мне надо запускать не только через браузер, а и билдить php-вывод прямо в Sublime Text 3. Поэтому нужно понимать, как настраивать именно «системный» php.
Как правильно поступить?
- Вопрос задан более трёх лет назад
- 3705 просмотров
Комментировать
Решения вопроса 1
Stalker_RED @Stalker_RED

Не одинаковы, разница в конфигах есть.
просто переименовать один из них, удалив часть названия, чтобы остался только php.ini. Но который?
Да, предполагается, что вы возьмете один из этих файлов как основу для создания собственного php.ini. Если для разработки — берите за основу development. Все равно вам придется внутри что-то менять, по умолчанию там много всего отключено.
И нужно ли предпринимать еще дополнительные действия в связи с этим переименованием — вручную задавать пути к ним где-то и т.д.?
Файл php.ini подключится автоматически. Но в принципе вы можете иметь сколько угодно конфигов для разных задач и указывать их как описано в документации.