0

I've been working for the last two nights to set up my own LEMP server on Amazon ec2. I'm not a server expert so it's been slow going, and the latest error "could not find driver" is given when attempting to create the new PDO object.

I've read what seems like dozens of threads about this error, and unfortunately none of the fixes seem to work for me. For the most part they all say I have to install php-mysql - but of course that's not available:

$ 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 

Meanwhile, phpinfo() seems to report that a driver is installed??

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

But under the PDO section of phpinfo() it says:

PDO drivers odbc, sqlite 

So I suppose the mysql driver really is missing? Leaving me at the same spot - finding it and installing it... But how to find the right one for my setup? I tried using yum to search but that failed (big surprise):

$ 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' 

Googling that error got me lost in another hundred or so threads, none of which helped..

Can anyone point me in the right direction? I imagine there's a simple command I need to run that's particular to my setup, I just need to figure out what it is..

Some other things I've tried:

  • run a php script from the linux command prompt to verify that the problem exists there: it does
  • check php.ini settings (they seem good, I'll paste them below)
  • check /etc/php-fpm.d/www.conf settings (these also seem good, will paste below)

Here's my various OS details:

$ 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) 

and some excerpts from 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= 

excerpts from /etc/php-fpm.d/www.conf:

user = nginx group = nginx 

Hope that's enough info - thank you in advance for any help!

1
  • I'm not sure why your RHEL AWS repos seem to be broken, but if they were broken for you then they were probably broken for everyone, and will be fixed sooner or later. At that point you should be able to install packages. If you still can't install packages after 24 hours, try it on a new instance to see if maybe there is a problem with your existing instance. Commented Aug 17, 2019 at 6:02

1 Answer 1

1

The PHP PDO MySQL driver is in the package named php-mysqlnd. Install this package, then restart the php-fpm service.

[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 ~]# 
1
  • That did it! On to the next problem :) Commented Aug 17, 2019 at 11:53

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.