Файл php.ini определяет ключевые параметры работы PHP: лимиты памяти, размеры загружаемых файлов, настройки времени выполнения скриптов. При работе с 1С-Битрикс этот файл может существенно повлиять на производительность и корректность функционирования компонентов системы.
Если проект размещён на виртуальном хостинге, прямой доступ к php.ini чаще всего недоступен. В этом случае настройки меняются через файл .user.ini или с помощью интерфейса панели управления хостингом (например, ISPmanager, cPanel). Расположение .user.ini – в корне сайта или в папке bitrix.
На VPS или выделенном сервере путь к файлу зависит от версии PHP и настроек веб-сервера. Выполните команду php —ini в консоли или создайте файл с содержимым <?php phpinfo(); ?>
, затем откройте его в браузере. В разделе Loaded Configuration File будет указан точный путь к используемому php.ini.
Если используется BitrixVM, то файл /etc/php.ini не применяется. Конфигурация разбита по каталогам: /etc/php.d/, /etc/php-fpm.d/ и /etc/opt/remi/php*/ (в зависимости от версии). Для редактирования используйте команду find /etc -name «php.ini» или обратитесь к настройкам конкретного пула PHP-FPM.
После внесения изменений в php.ini или .user.ini обязательно перезапустите соответствующий процесс: php-fpm, apache2 или nginx, в зависимости от используемой связки.
Как определить активный php.ini на сервере с Битрикс
Для точного определения активного файла php.ini на сервере с установленным Битрикс, создайте диагностический файл с именем phpinfo.php
в корне сайта. Вставьте в него строку: <?php phpinfo(); ?>
. Сохраните файл и откройте его в браузере: https://ваш_домен/phpinfo.php
.
Найдите строку Loaded Configuration File. Именно по этому пути загружается активный php.ini. Этот файл и определяет текущие настройки PHP на сервере.
Если путь отсутствует, PHP работает с настройками по умолчанию. В этом случае используйте параметр --ini
в командной строке: php --ini
. Вы получите полный путь к используемому конфигурационному файлу.
На серверах с несколькими версиями PHP важно проверять php.ini именно той версии, которая используется для веб-сервера (Apache, Nginx). Уточните версию через php -v
в CLI и сравните с версией в phpinfo. Пути к конфигурационным файлам могут различаться.
В Битрикс-хостинге используйте bitrix.php_interface и файл .user.ini
только для переопределения настроек, если доступ к глобальному php.ini ограничен. Но всегда ориентируйтесь на путь из phpinfo()
как основной источник конфигурации.
Поиск php.ini через phpinfo() в Битрикс-проектах
Для точного определения расположения используемого файла php.ini в проекте на 1С-Битрикс, создайте отдельный PHP-скрипт с содержимым:
<?php
phpinfo();
?>
Сохраните файл с именем phpinfo.php в корне сайта и откройте его в браузере по адресу вида https://ваш-домен/phpinfo.php.
На загруженной странице найдите секцию Loaded Configuration File. Указанный рядом абсолютный путь – это фактическое местоположение загруженного файла php.ini, который влияет на текущую конфигурацию PHP.
Если значение Loaded Configuration File содержит (none), это означает, что PHP работает без основного конфигурационного файла. В этом случае проверьте переменную Scan this dir for additional .ini files – в указанной директории могут быть подключены дополнительные конфигурации.
После получения пути можно перейти по нему через SSH или файловый менеджер хостинга для анализа или редактирования настроек, таких как memory_limit, upload_max_filesize и других параметров, критичных для работы Битрикс.
По завершении не забудьте удалить файл phpinfo.php из публичной директории во избежание утечки конфиденциальной информации о сервере.
Расположение php.ini при использовании BitrixVM
В BitrixVM конфигурационный файл php.ini не располагается в стандартном системном пути. Его местоположение зависит от используемой версии PHP и выбранного режима работы – CLI, FPM или Apache.
Для режима FPM путь к файлу php.ini можно определить с помощью команды:
php -i | grep "Loaded Configuration File"
Однако в BitrixVM предпочтительнее использовать служебную утилиту bitrix-env. Для просмотра используемого конфигурационного файла выполните:
/opt/webdir/bin/bx-showphp
Также можно уточнить путь напрямую через systemd:
systemctl status php-fpm
Наиболее часто php.ini находится по следующему пути (пример для PHP 7.4):
/etc/php/7.4/fpm/php.ini
Для CLI путь будет отличаться:
/etc/php/7.4/cli/php.ini
Изменения в php.ini требуют перезапуска соответствующего сервиса:
systemctl restart php-fpm
Рекомендуется вносить правки не напрямую, а использовать файлы конфигурации в каталоге /etc/php/7.4/fpm/conf.d/
– это упростит обновление и поддержку окружения.
Нахождение php.ini в окружении на shared-хостинге с Битрикс
На большинстве shared-хостингов прямой доступ к глобальному php.ini ограничен. В таких случаях изменения конфигурации PHP в проектах на Битрикс выполняются через локальные файлы настройки.
Для начала создайте или отредактируйте файл .user.ini в корне сайта. Этот файл распознаётся PHP как конфигурационный аналог php.ini в ограниченной среде. Пример содержимого:
memory_limit = 512M
upload_max_filesize = 100M
post_max_size = 100M
Изменения вступают в силу автоматически, но на некоторых хостингах может потребоваться подождать до 5 минут из-за кэширования настроек интерпретатором.
Чтобы убедиться, какие параметры применяются, создайте файл phpinfo.php с содержимым:
<?php phpinfo(); ?>
Откройте его в браузере и найдите блок Loaded Configuration File. Если путь к php.ini недоступен, ориентируйтесь на значение user_ini.filename – как правило, это .user.ini.
Также проверьте наличие файла php.ini в подкаталогах /bitrix/.settings/ или /bitrix/php_interface/, но помните: эти файлы не влияют на поведение PHP напрямую – они используются только внутри Битрикс.
Если хостинг поддерживает панель управления (например, cPanel или ISPmanager), проверьте разделы «Настройки PHP» или «Выбор версии PHP». Часто они позволяют задавать параметры без ручного редактирования файлов.
Для внесения изменений, которые невозможно применить через .user.ini (например, disable_functions), потребуется обратиться в техническую поддержку хостинга.
Как найти php.ini при использовании nginx и php-fpm в Битрикс
При использовании nginx с php-fpm в Битрикс, php.ini не всегда находится в стандартном месте. Чтобы точно определить его расположение, выполните команду в терминале сервера:
php -i | grep «Loaded Configuration File»
Если команда возвращает путь, например /etc/php/8.1/fpm/php.ini, именно этот файл и используется php-fpm. Убедитесь, что вызываемая команда php относится к нужной версии PHP. Для этого проверьте:
php -v
Для полной уверенности в конфигурации именно fpm-пула, можно воспользоваться следующим способом. Найдите путь к файлу пула:
sudo find /etc/php/ -name www.conf
Откройте найденный файл и убедитесь, что параметр php_admin_value[error_log] или подобные указывают на логи – это подтверждает, что файл относится к активному пулу. После этого можно перезапустить php-fpm:
sudo systemctl restart php8.1-fpm
Изменения в php.ini вступают в силу только после перезапуска. Проверить текущие настройки можно через phpinfo(). Создайте файл phpinfo.php в корне сайта с содержимым:
<?php phpinfo(); ?>
Откройте его в браузере и найдите строку Loaded Configuration File – это и есть активный php.ini, который обрабатывает текущие запросы через php-fpm.
Настройка пользовательского php.ini в .user.ini для Битрикс
В Битрикс для изменения параметров PHP без доступа к основному php.ini применяется файл .user.ini
. Он действует локально в каталоге сайта и наследуется вложенными папками.
- Разместите
.user.ini
в корне веб-проекта или в папке, где требуется изменение настроек. - Изменения вступают в силу через интервал, заданный директивой
user_ini.cache_ttl
(обычно 300 секунд), либо после перезапуска PHP-FPM/веб-сервера. - Синтаксис идентичен php.ini, пример строки:
memory_limit = 512M
. - Запрещено менять параметры PHP, помеченные как PHP_INI_SYSTEM – такие можно изменить только в глобальном php.ini.
Рекомендуемые настройки для Битрикс через .user.ini
:
max_execution_time = 30
– ограничение времени выполнения скриптов;memory_limit = 512M
– увеличение лимита памяти;upload_max_filesize = 50M
иpost_max_size = 50M
– для загрузки больших файлов;
Для проверки применённых настроек создайте PHP-скрипт с phpinfo()
и убедитесь, что значения изменены. Если настройки не применяются:
- Проверьте разрешения и владельца файла
.user.ini
– он должен быть читаем веб-сервером. - Уточните у хостера, разрешена ли работа
.user.ini
и не перекрываются ли параметры глобальными настройками. - Перезапустите PHP-FPM или дождитесь истечения
user_ini.cache_ttl
.
Использование .user.ini
позволяет гибко настраивать PHP для каждого проекта Битрикс без прав суперпользователя и риска затронуть другие сайты на сервере.
Вопрос-ответ:
Где обычно располагается файл php.ini в Битрикс?
Файл php.ini в Битрикс обычно находится в директории с установленным PHP. Это может быть папка вроде /etc/php/7.x/apache2/ на Linux-серверах или C:\xampp\php\ на локальных машинах. Для точного определения можно проверить конфигурацию PHP через функцию phpinfo(), которая покажет путь к активному файлу php.ini.
Как проверить, какой именно php.ini использует Битрикс на сервере?
Чтобы узнать, какой php.ini применяется, достаточно создать небольшой скрипт с вызовом функции phpinfo() и открыть его в браузере. В информации, которая отобразится, будет указан полный путь к загруженному файлу конфигурации. Это поможет убедиться, что вы редактируете правильный файл, а не другой, похожий по названию или расположению.
Если я изменил php.ini, но настройки не применились, что может быть причиной?
После изменения php.ini настройки не всегда вступают в силу сразу. Нужно перезапустить веб-сервер (например, Apache или Nginx), чтобы обновления конфигурации начали работать. Также стоит проверить, нет ли в настройках Битрикс или в других местах переопределений параметров PHP, которые могут блокировать изменения из основного php.ini.
Можно ли настроить параметры PHP для Битрикс без редактирования php.ini? Как это сделать?
Да, некоторые параметры PHP можно задать через .htaccess или файл .user.ini, если сервер поддерживает такую возможность. Например, в .htaccess можно прописать директивы типа php_value upload_max_filesize 10M. Это удобно, когда нет доступа к основному php.ini или нужно настроить параметры только для конкретного сайта или раздела.