Доброго времени суток всем.
Возникла проблема на виртуалке с Centos 7.
В скриптах php выводится ошибка при подключении к БД:
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in
Проблема обнаружилась после обновления системы через yum update. phpinfo() показывает только два драйвера: PDO drivers pgsql, sqlite
Хотя заходил в папку: /usr/lib64/php/modules/, там присутствуют файлы .so и для pdo_mysql.so, mysql.so
Добавлял строку в файл /etc/php.ini
extension = pdo_mysql.so, апач перезагружал, все равно в phpinfo() не вижу нужного мне драйвера.
Подскажите, может кто сталкивался с такой проблемой? Хоть куда копать, с чего начать?
Проблема с PDO Mysql Centos 7 (Не находит драйвер PDO Mysql)
Модератор: Bizdelnick
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Проблема с PDO Mysql Centos 7
А что в php --ini и php -i | grep mysql?
P.S.: в /etc/php.ini ничего добавлять не нужно.
P.S.: в /etc/php.ini ничего добавлять не нужно.
-
- Сообщения: 6
- ОС: Centos 7
Re: Проблема с PDO Mysql Centos 7
Вот очень странно, кстати, почему так. По факту сами файлы есть(в самом низу). Может быть что-то с правами доступа?
По факту файлы присутствуют:
Shell
[root@vps58001 ~]# php -i | grep mysql
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysql.so' - libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/php_soap.so' - /usr/lib64/php/modules/php_soap.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysql.so' - libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqli.so' - libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so' - libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo_mysql.ini,
Shell
[root@vps58001 ~]# php --ini
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysql.so' - libmysqlclient.so.18: cannot open shared object fil e: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/php_soap.so' - /usr/lib64/php/modules/php_soap.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysql.so' - libmysqlclient.so.18: cannot open shared object fil e: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqli.so' - libmysqlclient.so.18: cannot open shared object fi le: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so' - libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/bcmath.ini,
/etc/php.d/curl.ini,
/etc/php.d/dom.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/imap.ini,
/etc/php.d/intl.ini,
/etc/php.d/json.ini,
/etc/php.d/mbstring.ini,
/etc/php.d/mcrypt.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_pgsql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/pgsql.ini,
/etc/php.d/phar.ini,
/etc/php.d/posix.ini,
/etc/php.d/soap.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/sysvmsg.ini,
/etc/php.d/sysvsem.ini,
/etc/php.d/sysvshm.ini,
/etc/php.d/tidy.ini,
/etc/php.d/wddx.ini,
/etc/php.d/xmlreader.ini,
/etc/php.d/xmlwriter.ini,
/etc/php.d/xsl.ini,
/etc/php.d/zip.ini
Shell
[root@vps58001 modules]# cd /usr/lib64/php/modules/
[root@vps58001 modules]# ls -la
total 6544
drwxr-xr-x 2 root root 4096 Nov 2 19:03 .
drwxr-xr-x 4 root root 4096 Nov 3 02:37 ..
-rwxr-xr-x 1 root root 32680 Apr 12 2018 bcmath.so
-rwxr-xr-x 1 root root 74776 Apr 12 2018 curl.so
-rwxr-xr-x 1 root root 176600 Apr 12 2018 dom.so
-rwxr-xr-x 1 root root 2713464 Apr 12 2018 fileinfo.so
-rwxr-xr-x 1 root root 345168 Apr 12 2018 gd.so
-rwxr-xr-x 1 root root 107648 Jan 30 2015 imap.so
-rwxr-xr-x 1 root root 208080 Apr 12 2018 intl.so
-rwxr-xr-x 1 root root 44784 Apr 12 2018 json.so
-rwxr-xr-x 1 root root 1305776 Apr 12 2018 mbstring.so
-rwxr-xr-x 1 root root 49032 Jan 30 2015 mcrypt.so
-rwxr-xr-x 1 root root 146096 Apr 12 2018 mysqli.so
-rwxr-xr-x 1 root root 58032 Apr 12 2018 mysql.so
-rwxr-xr-x 1 root root 33256 Apr 12 2018 pdo_mysql.so
-rwxr-xr-x 1 root root 41840 Apr 12 2018 pdo_pgsql.so
-rwxr-xr-x 1 root root 116408 Apr 12 2018 pdo.so
-rwxr-xr-x 1 root root 29240 Apr 12 2018 pdo_sqlite.so
-rwxr-xr-x 1 root root 124816 Apr 12 2018 pgsql.so
-rwxr-xr-x 1 root root 272112 Apr 12 2018 phar.so
-rwxr-xr-x 1 root root 32976 Apr 12 2018 posix.so
-rwxr-xr-x 1 root root 343872 Apr 12 2018 soap.so
-rwxr-xr-x 1 root root 51472 Apr 12 2018 sqlite3.so
-rwxr-xr-x 1 root root 19976 Apr 12 2018 sysvmsg.so
-rwxr-xr-x 1 root root 11568 Apr 12 2018 sysvsem.so
-rwxr-xr-x 1 root root 15792 Apr 12 2018 sysvshm.so
-rwxr-xr-x 1 root root 53896 Jan 30 2015 tidy.so
-rwxr-xr-x 1 root root 36840 Apr 12 2018 wddx.so
-rwxr-xr-x 1 root root 33008 Apr 12 2018 xmlreader.so
-rwxr-xr-x 1 root root 49240 Apr 12 2018 xmlwriter.so
-rwxr-xr-x 1 root root 37184 Apr 12 2018 xsl.so
-rwxr-xr-x 1 root root 58496 Apr 12 2018 zip.so
Последний раз редактировалось Bizdelnick 26.11.2018 00:30, всего редактировалось 1 раз.
Причина: тег [sh]
Причина: тег [sh]
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Проблема с PDO Mysql Centos 7
Что-то недообновилось или переобновилось. =) Нужно доустановить libmysqlclient - он то ли в mysql-devel, то ли - в mysql-lib. А можно вообще удалить mysql, mysqli и pdo_mysql и заменить их на pdo_mysqlnd, который работает с MySQL напрямую (попутно, вероятно, поправив имя драйвера в строке коннекта PDO).
-
- Сообщения: 6
- ОС: Centos 7
Re: Проблема с PDO Mysql Centos 7
удалить в смысле записи о них из php.ini?
полагаться, я так понимаю, нужно на то что выводит phpinfo(), если он не видит драйвер, то и пытаться не стоит
или тупо mariadb переустановить?
полагаться, я так понимаю, нужно на то что выводит phpinfo(), если он не видит драйвер, то и пытаться не стоит
или тупо mariadb переустановить?
-
- Сообщения: 6
- ОС: Centos 7
Re: Проблема с PDO Mysql Centos 7
# yum install mysql-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.corbina.net
* epel: fedora-mirror01.rbc.ru
* extras: mirror.corbina.net
* updates: dedic.sh
Package 1:mariadb-devel-5.5.60-1.el7_5.x86_64 already installed and latest version
А этот установлен был
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.corbina.net
* epel: fedora-mirror01.rbc.ru
* extras: mirror.corbina.net
* updates: dedic.sh
Package 1:mariadb-devel-5.5.60-1.el7_5.x86_64 already installed and latest version
А этот установлен был
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Проблема с PDO Mysql Centos 7
avagadros
Удалить пакеты с модулями. Впрочем, можно и не удалять - они все равно не загружаются - достаточно просто установить php-mysqlnd.
Модули PHP/PDO не принадлежат MariaDB, нет смысла переустанавливать последнее.
Удалить пакеты с модулями. Впрочем, можно и не удалять - они все равно не загружаются - достаточно просто установить php-mysqlnd.
`php -i` - это оно и есть.
Модули PHP/PDO не принадлежат MariaDB, нет смысла переустанавливать последнее.
-
- Модератор
- Сообщения: 21281
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Проблема с PDO Mysql Centos 7
В lib, конечно же.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 6
- ОС: Centos 7
Re: Проблема с PDO Mysql Centos 7
Shell
yum erase php-mysql
Erasing : php-ZendFramework-Db-Adapter-Pdo-Mysql-1.12.20-1.el7.noarch 1/3
Erasing : phpMyAdmin-4.4.15.5-1.el7.noarch 2/3
warning: /etc/phpMyAdmin/config.inc.php saved as /etc/phpMyAdmin/config.inc.php.rpmsave
warning: /etc/httpd/conf.d/phpMyAdmin.conf saved as /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave
Erasing : php-mysql-5.4.16-45.el7.x86_64 3/3
Verifying : php-mysql-5.4.16-45.el7.x86_64 1/3
Verifying : phpMyAdmin-4.4.15.5-1.el7.noarch 2/3
Verifying : php-ZendFramework-Db-Adapter-Pdo-Mysql-1.12.20-1.el7.noarch 3/3
Removed:
php-mysql.x86_64 0:5.4.16-45.el7
Dependency Removed:
php-ZendFramework-Db-Adapter-Pdo-Mysql.noarch 0:1.12.20-1.el7 phpMyAdmin.noarch 0:4.4.15.5-1.el7
Shell
[root@vps58001 ~]# yum install php-mysqlnd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.corbina.net
* epel: mirror.logol.ru
* extras: mirror.corbina.net
* updates: dedic.sh
No package php-mysqlnd available.
Error: Nothing to do
Последний раз редактировалось Bizdelnick 26.11.2018 22:40, всего редактировалось 1 раз.
Причина: тег [sh]
Причина: тег [sh]
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Проблема с PDO Mysql Centos 7
Что за релиз такой? php-mysqlnd есть в base (в том числе и на corbina.net) 7 версии:
Shell
# yumdownloader --urls php-mysqlnd
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirror.yandex.ru
* extras: mirror.sale-dedic.com
* updates: mirror.sale-dedic.com
http://mirror.yandex.ru/centos/7.5.1804/os/x86_64/Packages/php-mysqlnd-5.4.16-45.el7.x86_64.rpm
-
- Сообщения: 6
- ОС: Centos 7
Re: Проблема с PDO Mysql Centos 7
Дистрибутив был предоставлен ВПС хостером:
[root@vps58001 ~]# uname -a
Linux vps58001 2.6.32-042stab132.1 #1 SMP Wed Jul 11 13:51:30 MSK 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@vps58001 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@vps58001 ~]# yumdownloader --urls php-mysqlnd
-bash: yumdownloader: command not found
Команда к сожалению не найдена
[root@vps58001 ~]# uname -a
Linux vps58001 2.6.32-042stab132.1 #1 SMP Wed Jul 11 13:51:30 MSK 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@vps58001 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@vps58001 ~]# yumdownloader --urls php-mysqlnd
-bash: yumdownloader: command not found
Команда к сожалению не найдена
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Проблема с PDO Mysql Centos 7
avagadros
7.2.1511 - неподдерживаемый релиз, пакеты для него не зеркалятся. См. https://mirror.corbina.net/centos/7.2.1511/readme.
Нужно обновляться на 7.5, либо подключать архив http://vault.centos.org/.
7.2.1511 - неподдерживаемый релиз, пакеты для него не зеркалятся. См. https://mirror.corbina.net/centos/7.2.1511/readme.
Нужно обновляться на 7.5, либо подключать архив http://vault.centos.org/.