Битрикс: переход на 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' => '*****',
      ),
    ),
  ),

Важные нюансы

  1. Хотя Битрикс полностью совместим с PHP 7 - в текущий момент никак не проверяется, что приложения, установленные из маркетплейса, так же совместимы с пхп 7. Они могут оказаться несовместимы.
  2. После перехода на PHP 7 нельзя будет установить из Marketplace демо-версии платных модулей, если у них не было выпущено обновлений после 1 июля 2016. Это связано с изменением механизма защиты этих модулей.

Если после переключения на пхп 7 сайт перестал работать:

  1. проверьте, используется ли mysqli в обоих конфигах
  2. проверьте, нет ли несовместимых с пхп 7 расширений из маркетплейса или в самописном коде
  3. проверьте, не допустили ли вы ошибки при редактировании или сохранении конфигурационных файлов
Тэги: bitrix, php