I deploy a laravel project on an apache server on a Debian 10 machine.
The database is an MySQL deployed on another debian 10 machine on the same network.
I can go to the connection interface of the application but when I connect this error appears :
IlluminateDatabaseQueryException
could not find driver (SQL: select * from `users` where `email` = [email protected] limit 1)
I have already tried these commands :
php artisan migrate
sudo apt install php-mysql
sudo apt install php7.4-mysql
sudo systemctl restart apache2
composer require doctrine/dbal
composer update
these commands work but do not solve the problem.
and I already tried to comment and uncomment this line in the php.ini :
extension=pdo_mysql
in php-m i have
PDO and pdo-mysql
and i have restart my server with :
systemctl restart apache2
after modification
4
Answers
I finally found the solution infact the php version used by apache was 7.3 and not 7.4 with :
however when I did:
the version was indeed 7.4. I followed this tutorial to change the version https://tecadmin.net/switch-between-multiple-php-version-on-debian/?amp and it works
I got the same error when running my test suite. It was working before but it stopped working after I upgraded php. So I did and it worked for me.
If you have no problem using
php artisan migrate
, there is no problem for the command line to call the php script. If you use fpm and install a new extension, you need to restart it and try.I got this same error while running Laravel in a docker container. In my case the issue was that I did not install PDO when building the image. I solved this by adding the following line to my Dockerfile: