Итак, есть у Вас веб приложение. Во время работы в логи приложение пишет подобную ошибку:
DB Error: [Error message: extension mysql is not compiled into PHP]
И иногда это выглядит странно, ибо и PHP установлен, и MySQL установлен, и нормальные приложения PHP работают без проблем из PHP в MySQL (функция mysql_connect(), например, отрабатывает без косяков, все крутится и вертится). Но вот данное конкретное приложение хочет чего-то еще.
РешениеДело в том, что данное конкретное приложение работает с MySQL через лишнюю прослойку MDB2. И вот этот пакет тоже имеет расширения, одно из которых служит для работы с MySQL сервером. Т.е. да, по-нормальному PHP+MySQL работают, но программисты приложения решили пойти путем использованию другой прослойки, о чем сразу и не догадываешься (а как зависимость оно, как ни странно, не всегда подтягивается). Как яркий пример - Roundcube, который именно с такой проблемой к нам и приплывает: как зависимость он нужный пакет не тянет, а работает именно через MDB2.
Итак, нам не хватает пакета php-mdb2-driver-mysql, установив который мы решим наши проблемы.
Например, для Debian:
$ sudo apt-get install php-mdb2-driver-mysql
Ну или CentOS/RHEL:
$ sudo yum install php-pear-MDB2-Driver-mysql.noarch
После установки перезагружаем сервер Apache.
Например, для Debian:
$ sudo /etc/init.d/apache2 restart
Или CentOS/RHEL:
$ sudo /etc/init.d/httpd restart
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)