Битрикс: переход на PHP 7
Последние версии Битрикса полностью совместимы с PHP 7.0.
Для переключения сайта на пхп 7 необходимо в контрольной панели кликнуть на сайт и в разделе Приложения - выбрать “Apache 2.4 + PHP 7”.
Переход на PHP 7 позволяет получить примерно двухкратный прирост скорости работы сайта и небольшую экономию памяти.
Обязательно проверьте
Необходимо использовать расширение mysqli
вместо mysql
. Если вашему сайту много лет - возможно у вас в конфигах используется mysql
, которого нет в PHP 7.
Для того, чтобы использовать mysqli
, необходимо отредактировать два конфигурационных файла.
Важно - это необходимо делать по ftp/sftp. Если вы будете делать это через редактор битрикса - что-то может пойти не так и сайт перестанет работать.
В файле /bitrix/php_interface/dbconn.php
нужно добавить, если нет, в конец строчку
define("BX_USE_MYSQLI", true);
В файле /bitrix/.settings.php
убедиться, что className
выглядит так:
'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
Целиком соответствующий блок выглядит примерно так:
'connections' =>
array (
'value' =>
array (
'default' =>
array (
'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
'host' => 'localhost',
'database' => 'b1234',
'login' => 'b1234',
'password' => '*****',
),
),
),
Важные нюансы
- Хотя Битрикс полностью совместим с PHP 7 - в текущий момент никак не проверяется, что приложения, установленные из маркетплейса, так же совместимы с пхп 7. Они могут оказаться несовместимы.
- После перехода на PHP 7 нельзя будет установить из Marketplace демо-версии платных модулей, если у них не было выпущено обновлений после 1 июля 2016. Это связано с изменением механизма защиты этих модулей.
Если после переключения на пхп 7 сайт перестал работать:
- проверьте, используется ли mysqli в обоих конфигах
- проверьте, нет ли несовместимых с пхп 7 расширений из маркетплейса или в самописном коде
- проверьте, не допустили ли вы ошибки при редактировании или сохранении конфигурационных файлов
Вы знали, что у нас есть хостинг для Битрикс?
Тестовый период
10 дней
от 99 р/месяц