Короткий ответ: в терминале путь к php.ini можно увидеть командой php --ini, а на сайте — через php_ini_loaded_file() или phpinfo(). Но важно помнить: PHP для командной строки и PHP для сайта могут использовать разные файлы настроек
php.ini — это основной файл конфигурации PHP. В нем задают лимиты памяти, загрузку файлов, вывод ошибок, часовой пояс, расширения и другие параметры
Проверка в терминале
Выполните
php --ini
Вы увидите что-то вроде
Configuration File (php.ini) Path: /etc/php/8.2/cli
Loaded Configuration File: /etc/php/8.2/cli/php.ini
Главная строка — Loaded Configuration File. Она показывает файл, который PHP реально загрузил для текущего запуска в терминале
Проверка через сайт
Создайте временный файл ini-check.php
<?php
echo php_ini_loaded_file() ?: 'php.ini не загружен';
Откройте его через браузер. Так вы проверите настройки именно веб-версии PHP, а не консоли
После проверки удалите файл
Проверка через phpinfo
<?php
phpinfo();
На странице ищите строки Loaded Configuration File и Scan this dir for additional .ini files. Но phpinfo() показывает много технических данных, поэтому оставлять такой файл на сайте нельзя
Почему в консоли и браузере разные php.ini
На сервере может быть несколько режимов PHP
- CLI для командной строки
- PHP-FPM для сайта
- Apache module
- отдельная версия PHP для конкретного домена
- контейнер Docker
Поэтому команда php --ini может показывать один файл, а сайт — другой. Если вы меняете настройку для сайта, проверяйте ее в браузере
Типичные места php.ini
Пути зависят от системы и установки, но часто встречаются такие варианты
/etc/php/8.2/cli/php.ini
/etc/php/8.2/fpm/php.ini
/usr/local/etc/php/php.ini
C:\php\php.ini
C:\xampp\php\php.ini
Не угадывайте путь вручную. Лучше спросить сам PHP через php --ini или php_ini_loaded_file()
Если php.ini нет
Иногда PHP показывает, что файл конфигурации не загружен. Это не всегда значит, что PHP не работает. Он может использовать настройки по умолчанию или конфигурацию из другого места
На shared-хостинге прямого доступа к php.ini может не быть. Тогда параметры меняются через панель хостинга, .user.ini, .htaccess или отдельный раздел PHP-настроек
Как проверить конкретную настройку
<?php
echo 'memory_limit: ' . ini_get('memory_limit') . '<br>';
echo 'display_errors: ' . ini_get('display_errors') . '<br>';
echo 'upload_max_filesize: ' . ini_get('upload_max_filesize') . '<br>';
Так вы проверяете не только путь к файлу, но и реальное значение настройки
После изменения php.ini
Если вы изменили php.ini, может понадобиться перезапустить веб-сервер или PHP-FPM. Иначе сайт продолжит работать со старыми настройками
Для локального сервера это может быть перезапуск Apache в XAMPP. Для VPS — перезапуск PHP-FPM или веб-сервера. На хостинге чаще достаточно сохранить настройку в панели, но иногда изменение применяется не мгновенно
Мини-практика
Проверьте php --ini в терминале, затем создайте ini-check.php с php_ini_loaded_file() и откройте его через браузер. Если пути отличаются, запишите оба варианта и подпишите: “консоль” и “сайт”
Частые ошибки
Меняют CLI php.ini и ждут изменений на сайте Сайт может использовать другой файл настроек
Оставляют phpinfo на сайте После проверки удаляйте диагностический файл
Не перезапускают PHP после изменения Некоторые настройки применяются только после перезапуска сервиса
Ищут один универсальный путь Путь зависит от системы, версии PHP и способа запуска
Что почитать дальше по PHP
Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:
- Как посмотреть ошибки в PHP-коде и понять, где сломалось
- PHP с нуля: первый файл и вывод на страницу
- PHP-скрипт: что это такое и как написать первый файл
- Как запустить PHP-файл в браузере через localhost



