[php7] Поддержка расширения mysqli

В PHP 5.5.0 расширение mysql объявлено устаревшим, а в PHP 7 вообще удалено, вместо него необходимо использовать расширение mysqli

Чтобы запустить новый Битрикс D7 на новой версии PHP 7, необходимо заменить в Битриксе подключение mysql на mysqli, изменяются всего два файла.

1) В файле /bitrix/php_interface/dbconn.php необходимо добавить константу

define("BX_USE_MYSQLI", true);

2) В файле /bitrix/.settings.php необходимо заменить MysqlConnection на MysqliConnection

'connections'      =>
    array(
        'value'    =>
            array(
                'default' =>
                    array(
                        'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
                        'host'      => 'localhost',
                        'database'  => '*******',
                        'login'     => '*******',
                        'password'  => '*******',
                        'options'   => 2,
                    ),
            ),
        'readonly' => true,
    ),

3) Возможно еще потребуется подключить само mysqli.so расширение в конфигурации php.ini или mysql.ini

; For example, on php MySQL module
extension=mysqli.so
; For example, on Windows
extension=php_mysqli.dll
; For example, on Unix
extension=php_mysqli.so

4) Если все сделали,  а расширение так и не подключилось, проверить можно в <?phpinfo()?> поиском на странице по ключевому слову mysqli, то скорее всего само расширение не загрузилось на сервер с установкой php, загрузить можно командой в консоли сервера (PuTTY) так:

PHP5: #apt-get install php5-mysqli
PHP7: #apt-get install php7.0-mysqli

Если PHP на сервере установлен как модуль апач, то его надо будет перезагрузить, при каждом изменении php.ini или установки расширений надо рестартонуть апач, в Debian так:
#service apache2 restart

Имя *
Логин (мин. 3 символа)
E-mail *
*— обязательные для заполнения поля
Логин или e-mail
TUNING-SOFT.RU Разработка умных веб-сервисов