Назад | Перейти на главную страницу

Еще один PDO не может найти проблему с драйвером

Последние две ночи я работал над установкой собственного сервера LEMP на Amazon ec2. Я не эксперт по серверам, поэтому все шло медленно, и последняя ошибка «не удалось найти драйвер» выдается при попытке создать новый объект PDO.

Я прочитал, кажется, десятки веток об этой ошибке, и, к сожалению, ни одно из исправлений не работает для меня. По большей части они все говорят, что мне нужно установить php-mysql, но, конечно, это недоступно:

$ sudo yum install php-mysql
Last metadata expiration check: 0:22:54 ago on Sat 17 Aug 2019 02:26:41 AM UTC.
No match for argument: php-mysql
Error: Unable to find a match

Между тем, phpinfo (), похоже, сообщает, что драйвер является установлены??

MySQL driver for PDO    George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter

Но в разделе PDO phpinfo () говорится:

PDO drivers     odbc, sqlite

Итак, я полагаю, что драйвер mysql действительно отсутствует? Оставить меня на том же месте - найти и установить ... Но как найти подходящий для моей установки? Я попытался использовать yum для поиска, но это не удалось (большой сюрприз):

$ yum search php-
Red Hat Update Infrastructure 3 Client Configuration Server 8                                                                   0.0  B/s |   0  B     00:00
Error: Failed to synchronize cache for repo 'rhui-client-config-server-8'

Погуглил эту ошибку, и я потерялся еще в сотне или около того тем, ни один из которых не помог ..

Может кто-то указать мне верное направление? Я полагаю, что мне нужно запустить простую команду, специфичную для моей установки, мне просто нужно выяснить, что это такое ...

Еще кое-что, что я пробовал:

Вот различные подробности моей ОС:

$ cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.0 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.0"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.0 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.0:GA"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.0
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.0"

$ php -v
PHP 7.2.11 (cli) (built: Oct  9 2018 15:09:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

$ nginx -v
nginx version: nginx/1.14.1

$ mysql --version
mysql  Ver 8.0.17 for Linux on x86_64 (Source distribution)

и некоторые выдержки из php.ini:

[Pdo]
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
; http://php.net/pdo-odbc.connection-pooling
;pdo_odbc.connection_pooling=strict

;pdo_odbc.db2_instance_name

[Pdo_mysql]
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/pdo_mysql.cache_size
pdo_mysql.cache_size = 2000

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket=

выдержки из /etc/php-fpm.d/www.conf:

user = nginx
group = nginx

Надеюсь, информации достаточно - заранее спасибо за любую помощь!

Драйвер PHP PDO MySQL находится в пакете с именем php-mysqlnd. Установите этот пакет, затем перезапустите php-fpm служба.

[root@rhel8 ~]# dnf info php-mysqlnd
Updating Subscription Management repositories.
Last metadata expiration check: 0:08:40 ago on Sat 17 Aug 2019 01:48:02 AM EDT.
Installed Packages
Name         : php-mysqlnd
Version      : 7.2.11
Release      : 1.module+el8+2561+1aca3413
Arch         : x86_64
Size         : 451 k
Source       : php-7.2.11-1.module+el8+2561+1aca3413.src.rpm
Repo         : @System
From repo    : rhel-8-for-x86_64-appstream-rpms
Summary      : A module for PHP applications that use MySQL databases
URL          : http://www.php.net/
License      : PHP
Description  : The php-mysqlnd package contains a dynamic shared object that
             : will add MySQL database support to PHP. MySQL is an
             : object-relational database management system. PHP is an
             : HTML-embeddable scripting language. If you need MySQL support for
             : PHP applications, you will need to install this package and the
             : php package.
             : 
             : This package use the MySQL Native Driver

[root@rhel8 ~]#