Pdo_mysql Driver not working in Docker PHP 8.0

Edit - Solved
Ignore this, it was nothing to do with the version, but the location with an errant php.ini file.

I’ve been making a bit more progress setting up Docker environments. I got some sites and apps set up and working. I had things set up and working on the latest PHP 8.2, which was interesting, as it seems stricter than previous version and pointed out how sloppy some of my code is, making me fix lots or warnings. But that’s another story.
After doing that, I’m now working on more accurately matching the actual host servers that the production sites are on. One site is running on PHP 8.0, which is the latest the host currently has to offer.
When I set that going in Docker I can’t get a PDO connection.

PDOException: could not find driver in /var/www/.private/sqlcon/connect.php:15 Stack trace: #0 /var/www/.private/sqlcon/connect.php(15): PDO->__construct('mysql:host=...

When I check phpinfo() I don’t see pdo_mysql in there.

In PHP 8.2 it’s there and works.

The Dockerfile is like:-

FROM php:8.0-apache

RUN a2enmod rewrite
RUN service apache2 restart

RUN docker-php-ext-install pdo pdo_mysql

RUN pecl install xdebug && docker-php-ext-enable xdebug

The only difference between the dockerfiles of the working/non-working sites are the PHP version numbers on the first line. I don’t see any errors during build or up so I’m not sure why I’m not getting the driver.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.