
Файл php.ini определяет конфигурацию PHP и напрямую влияет на производительность и стабильность сайтов на платформе Битрикс. В стандартной установке PHP этот файл находится в директории, указанной командой php —ini на сервере. Для большинства Linux-серверов путь выглядит как /etc/php/8.1/apache2/php.ini или /etc/php/8.1/cli/php.ini, где цифры соответствуют версии PHP.
При работе с Битрикс важно понимать, что система может использовать не системный php.ini, а локальный, размещённый в корневой папке сайта или в поддиректориях /bitrix/.settings.php. Проверить фактический используемый файл можно через административную панель: раздел Настройки → Инструменты → PHP Info отображает полный путь к активному php.ini.
Изменения в php.ini следует вносить с учётом особенностей Битрикс. Например, для корректной работы почтовых сервисов требуется memory_limit не ниже 512M, max_execution_time от 60 секунд, а для больших проектов важно увеличивать upload_max_filesize и post_max_size. После редактирования php.ini необходимо перезапустить веб-сервер или PHP-FPM, чтобы изменения вступили в силу.
Для удобства управления можно создавать локальные overrides через .user.ini в корне сайта, что позволяет менять параметры PHP для конкретного сайта без изменения глобального php.ini. Это особенно актуально при работе на shared-хостингах, где прямой доступ к системному файлу ограничен.
Расположение файла php.ini в Битрикс

Файл php.ini управляет конфигурацией PHP и влияет на работу Битрикс. В стандартной среде его расположение зависит от типа установки PHP: для Apache на Linux это обычно /etc/php/7.x/apache2/php.ini, для CLI – /etc/php/7.x/cli/php.ini. На Windows с XAMPP или Bitrix Environment путь чаще всего C:\xampp\php\php.ini или C:\Bitrix\php\php.ini.
Для сайтов на Битрикс, размещённых в shared-хостинге, физический файл php.ini может отсутствовать. В таких случаях применяются локальные конфигурации через .user.ini или .htaccess. Например, изменение лимита памяти выполняется строкой php_value memory_limit 256M в .htaccess или memory_limit = 256M в .user.ini.
Чтобы определить точное расположение активного php.ini, можно использовать встроенную функцию PHP: phpinfo(). В разделе Loaded Configuration File будет указан полный путь. Это важно для корректного внесения изменений, так как сервер может использовать несколько конфигураций для веб-сервера и CLI.
Рекомендуется не изменять системный php.ini без необходимости. Для Битрикс чаще достаточно локального .user.ini, особенно при установке модулей, изменении лимитов загрузки файлов или времени выполнения скриптов. После редактирования локального файла необходимо перезапустить веб-сервер или дождаться автоматической перезагрузки настроек.
В Bitrix Environment используется отдельная директория для конфигурации PHP: , где можно размещать кастомные настройки через .user.ini или конфигурационные скрипты, не затрагивая глобальный php.ini.
Проверка текущего php.ini через phpinfo()
Для точного определения используемого PHP-конфигурационного файла создайте новый файл в корне сайта, например info.php, с содержимым:
<?php phpinfo(); ?>
Дополнительно проверяйте секцию Additional .ini files parsed. Там указаны дополнительные файлы конфигурации, которые загружаются после основного php.ini. Настройки в них могут переопределять параметры основного файла.
После внесения изменений в php.ini обязательно перезапустите веб-сервер или PHP-FPM, чтобы новые значения вступили в силу. Проверку можно повторить через phpinfo(), чтобы убедиться, что изменения применились.
Для сайтов на Битрикс с разными версиями PHP учтите, что путь к php.ini может отличаться для CLI и веб-версий PHP. phpinfo() показывает конфигурацию, используемую веб-сервером.
Найти php.ini на хостинге с разными панелями управления

Расположение php.ini зависит от используемой панели управления и версии PHP. Ниже приведены конкретные пути и методы для популярных панелей.
| Панель управления | Метод поиска php.ini | Пример пути |
|---|---|---|
| cPanel | В разделе «Select PHP Version» → «Options» отображается путь к текущему php.ini. Также можно использовать команду phpinfo() в любом PHP-скрипте. |
/usr/local/lib/php.ini или |
| Plesk | В разделе «PHP Settings» указан путь к php.ini для каждой версии PHP. Для Linux-доступа через SSH используйте php --ini. |
/etc/php*/apache2/php.ini или /opt/plesk/php/*/lib/php.ini |
| DirectAdmin | В меню «PHP Settings» или через SSH команда php -i | grep "Loaded Configuration File". |
/usr/local/php*/lib/php.ini |
| ISPmanager | В «Настройки PHP» указывается путь к конфигурации. Через SSH использовать php -i | grep "Loaded Configuration File". |
/etc/php.ini или /usr/local/php*/lib/php.ini |
| VestaCP | В разделе «Web» → «Edit Domain» → «PHP Settings». Проверка через SSH: php -i | grep "Loaded Configuration File". |
/etc/php/*/fpm/php.ini или /etc/php/*/cli/php.ini |
Если php.ini не найден, можно создать пользовательский файл php.ini в корне сайта и включить его через директиву user_ini.filename в глобальной конфигурации. Для проверки активного файла используйте скрипт с phpinfo();.
Отличие системного и локального php.ini в Битрикс
В Битрикс используется два уровня конфигурации PHP: системный и локальный. Системный php.ini управляет настройками для всего сервера и влияет на все сайты, расположенные на нём. Локальный php.ini применяется только к конкретному сайту или каталогу и переопределяет системные параметры.
Основные различия:
- Местоположение: системный php.ini обычно находится в директории, указанной командой
php --ini(например,/etc/php/8.1/apache2/php.iniили/etc/php/8.1/cli/php.ini); локальный php.ini размещается в корне сайта или подкаталоге/bitrix/php_interface/. - Область действия: системный файл изменяет настройки глобально, локальный – только для конкретного сайта или подпапки. Это позволяет применять специфичные параметры, не затрагивая остальные проекты.
- Приоритет: локальный php.ini имеет приоритет над системным. Например, если в системном указано
memory_limit = 128M, а в локальномmemory_limit = 256M, для сайта будет использоваться 256 Мб. - Применяемые параметры: локальный php.ini чаще корректирует ограничения памяти, время выполнения скриптов (
max_execution_time), размеры загружаемых файлов (upload_max_filesize,post_max_size) и включение нужных расширений PHP.
Рекомендации:
- Для корректной работы Битрикс используйте локальный php.ini только при необходимости, чтобы не нарушить работу других сайтов на сервере.
- После изменений локального php.ini проверяйте результат через
phpinfo()или консольную командуphp -i, чтобы убедиться, что параметры применились. - Если используется PHP-FPM, не забудьте перезапустить соответствующий пул процессов для применения изменений.
- Документируйте изменения локального php.ini, чтобы избежать конфликтов при обновлениях или миграции сайта.
Таким образом, системный php.ini задаёт базовые ограничения и настройки PHP на сервере, а локальный php.ini позволяет тонко настраивать конкретный проект Битрикс без влияния на другие ресурсы.
Изменение настроек PHP для конкретного сайта

В Битрикс для управления настройками PHP на уровне отдельного сайта используется файл .user.ini или локальный php.ini, если сервер поддерживает per-directory конфигурацию.
Файл .user.ini размещается в корне сайта. Изменения применяются после задержки, заданной директивой user_ini.cache_ttl (по умолчанию 300 секунд). Для немедленного эффекта необходимо перезапустить веб-сервер или сбросить кэш PHP-FPM.
Примеры типичных параметров, которые можно изменить для конкретного сайта:
memory_limit = 512M – увеличение доступной памяти для скриптов.
max_execution_time = 60 – ограничение времени выполнения скриптов.
upload_max_filesize = 100M и post_max_size = 100M – настройки для загрузки больших файлов.
Для сайтов с высокой нагрузкой рекомендуется также настроить opcache.enable=1 и opcache.memory_consumption=256 для ускорения работы PHP.
Если сервер использует Apache с модулем mod_php, изменения через .user.ini не применяются, необходимо редактировать php.ini для виртуального хоста и перезапускать Apache.
Проверка актуальных значений настроек выполняется через phpinfo() или команду php -i | grep 'имя_директивы'. Это позволяет убедиться, что параметры применились корректно только для выбранного сайта, без влияния на остальные проекты на сервере.
Проблемы доступа к php.ini на shared-хостинге

На shared-хостинге пользователи часто не имеют прямого доступа к глобальному файлу php.ini. Изменение системных параметров PHP напрямую невозможно, так как один сервер обслуживает множество сайтов. Попытка редактирования глобального php.ini через SSH или панель управления обычно блокируется хостингом.
Вместо этого применяются локальные методы: создание файла .user.ini в корне сайта или использование директив в .htaccess (для Apache). Например, для изменения лимита памяти можно добавить в .user.ini строку memory_limit = 256M. Изменения вступают в силу через 5–10 минут, что требует проверки через phpinfo().
Некоторые параметры, такие как disable_functions или open_basedir, редактировать нельзя. Попытка изменить их приведет к игнорированию настроек или ошибкам выполнения скриптов. В таких случаях рекомендуется переносить обработку функций на серверные скрипты, доступные через API хостинга, или запрашивать изменение через техподдержку.
Для отладки конфигурации полезно создавать тестовые скрипты с ini_get() для проверки текущих значений. Это позволяет понять, какие параметры можно менять локально, а какие жестко заданы провайдером.
При использовании Bitrix важно учитывать, что некоторые компоненты требуют определенных лимитов памяти, времени выполнения скриптов и размера загружаемых файлов. Если хостинг не позволяет их корректировать через локальные ini-файлы, оптимизация сайта через кеширование и минимизацию модулей становится критически важной для стабильной работы.
Проверка внесённых изменений в php.ini через Битрикс
Для контроля изменений в php.ini в Битрикс используйте встроенный модуль phpinfo. Создайте файл info.php в корне сайта с содержимым <?php phpinfo(); ?> и откройте его в браузере. В таблице настроек ищите параметр, который вы изменяли, например memory_limit или post_max_size.
Если настройки не совпадают с внесёнными изменениями, проверьте активный php.ini. В phpinfo() найдите строку Loaded Configuration File – она указывает точный путь к используемому файлу.
Для ускорения проверки можно использовать административную панель Битрикс: раздел Настройки → Инструменты → Информация о PHP. Здесь отображаются текущие значения всех директив, что позволяет сверять их с изменениями без обращения к серверу напрямую.
После внесения изменений рекомендуется перезапустить веб-сервер или PHP-FPM, иначе новые значения могут не применяться. Для проверки конкретной директивы в командной строке используйте php -i | grep "имя_директивы", что гарантирует получение актуальной информации вне зависимости от кэширования Битрикс.
Если параметр игнорируется, убедитесь, что он не переопределяется локальными файлами .user.ini или .htaccess. В Битрикс это особенно важно для upload_max_filesize и max_execution_time, так как они напрямую влияют на работу ядра и модулей.
Вопрос-ответ:
Где находится файл php.ini на сервере с Битрикс?
Расположение php.ini зависит от конфигурации сервера. На большинстве серверов с Linux файл находится в директории PHP, например /etc/php/7.4/apache2/php.ini для Apache или /etc/php/7.4/cli/php.ini для командной строки. В Bitrix также можно проверить путь через административную панель в разделе «Инструменты» → «Настройки PHP» или с помощью функции phpinfo().
Как узнать, какой php.ini использует сайт Битрикс?
Чтобы определить активный файл php.ini, можно создать PHP-скрипт с функцией phpinfo(), загрузить его на сайт и открыть в браузере. В выводе будет указана строка «Loaded Configuration File», где отображается путь к текущему php.ini. Это помогает точно понимать, какой файл управляет настройками PHP для вашего сайта.
Можно ли изменить настройки PHP для Битрикс без редактирования php.ini?
Да, некоторые параметры можно изменить через .htaccess, если используется Apache, или через local/php_interface/init.php, используя функцию ini_set(). Например, можно увеличить лимит памяти или время выполнения скрипта. Однако некоторые настройки, например расширения PHP, требуют редактирования именно php.ini и перезапуска веб-сервера.
Почему изменения в php.ini не применяются на сайте Битрикс?
Чаще всего это связано с тем, что редактируется не тот php.ini, который использует веб-сервер. В случае Apache изменения вступят в силу только после перезапуска сервера. Также возможна ситуация, когда сервер использует отдельные конфигурационные файлы для разных версий PHP или виртуальных хостов, и нужно убедиться, что редактируется именно активный файл.
Можно ли иметь несколько файлов php.ini для разных сайтов на одном сервере с Битрикс?
Да, на сервере можно настроить отдельные конфигурации PHP для разных виртуальных хостов. Например, Apache позволяет указать путь к php.ini через директиву PHPINIDir в настройках виртуального хоста. Это удобно, если один сайт требует одни настройки PHP, а другой — другие. Важно после изменений перезапускать веб-сервер, чтобы новые параметры вступили в силу.
Где находится файл php.ini в Битрикс и как его найти?
В Битрикс файл php.ini может располагаться в разных местах в зависимости от конфигурации сервера. На большинстве хостингов с доступом к root он находится в директории установки PHP, например, /etc/php/8.1/apache2/php.ini на Linux с Apache или /etc/php/8.1/fpm/php.ini для PHP-FPM. Если используется shared-хостинг, файл может быть недоступен напрямую, тогда можно создать локальный php.ini в корне сайта или использовать файл .user.ini. Чтобы точно определить путь к активному php.ini, можно создать скрипт с кодом и открыть его в браузере — в разделе «Loaded Configuration File» будет указан полный путь к файлу.
