So I’m running WordPress with a MariaDB SQL server in Docker for a small business. Everything has been going well except I’ve now got that “There has been a critical error on this website” error when I go to the WooCommerce menu in WordPress. I was able to setup WooCommerce no issues, but when I click on it to look at some of the options, I get the error. I’m also getting the PDO PHP extension error for MailPoet but I didn’t think they were related so I’ve been focusing on the WooCommerce issue. I enabled debugging and when I look at the logs it’s all PHP errors. I get this one over and over
PHP Fatal error: Uncaught Error: Undefined class constant ‘MYSQL_ATTR_INIT_COMMAND’ in /var/www/html/wp-content/plugins/mailpoet/lib/Doctrine/ConnectionFactory.php:84
Anyone know if they’re related and/or how I can narrow down the issue? I’ve been reading forum posts for a couple days and nothing seems to be solving my issue. Some people mentioning using a Dockerfile to install the PHP extension but I can’t do that to a running site.
Edit: It’s also only doing that error when I click on Analytics, Customers, or Home in WooCommerce
Edit: Solved! For anyone who’s reading in the future, I added a Dockerfile to build a new wordpress image for docker compose. I ran the command docker build -t nameforyourimage .. With a period at the end. The Dockerfile contained
FROM wordpress RUN docker-php-ext-install pdo_mysql RUN docker-php-ext-enable pdo_mysql
although I’m not sure the second line was necessary. After that, I changed my docker compose file to use that new image I created. Worked fine after that.
[ad_2]
What version of php are you running? The issue is with Mailpoet. If you’re using 8.1 go down to 8, and if that doesn’t work, 7.4.