В 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