> Faqs > Solucionar error PHP "could not find driver" al usar MariaDB

Solucionar error PHP "could not find driver" al usar MariaDB

Buenas. Estoy usando Laravel en un nuevo servidor y me encuentro el error "could not find driver" al ejecutar una página web. Me ocurre también con un comando de php artisan.

¿Cómo se puede solucionar? porque he visto en una página que me tengo que cambiar a MySQL, pero me parece muy raro que no funcione sobre MariaDB.

Uso Nginx con lo que PHP lo he instalado con php-fpm.

Respuestas

Por supuesto que funciona en MariaDB. Todo lo que funciona en MySQL funciona también en MariaDB o al menos debería y por supuesto Laravel funciona excelente con MariaDB.

El problema que tienes me parece que es que no dispones del driver de PDO instalado. Necesitas el driver para MySQL.

Para instalarlo tienes que realizar un comando que depende de tu distribución, e incluso de la versión de PHP.

Por ejemplo para PHP 7.3 tendrías que lanzar este comando:

sudo apt install php7.3-mysql

Hay otras alternativas que igual te funcionan en tu distribución como simplemente:

sudo apt install php-mysql

El comando depende un poco de tu sistema. Por supuesto, lo tienes que hacer con "sudo" si no eres el usuario "root".

Una vez instalado tienes que reiniciar el servidor. Si fuera Apache tendrías simplemente que reiniciar Apache, pero con php-fpm tienes que reiniciar el propio demonio de PHP.

Aquí también depende de tu sistema y cómo esté instalado PHP-fpm e incluso de la versión. Prueba:

systemctl restart php7.3-fpm.service

(Puedes sustituir tu versión de PHP si no es 7.3). Incluso si ejecutas el comando

systemctl

Podrás ver cuál es el nombre del servicio de PHP exacto que tienes en tu sistema.

Otras alternarivas de este reinicio de PHP son:

service php-fpm start
service php7.3-fpm start
/etc/init.d/php-fpm start

Puedes probar con "sudo" también!!

Una vez reiniciado PHP tendrías que ver en el phpinfo() que PDO está activado y que tienes instalado el driver de MySQL, con lo que debería funcionar para MariaDB.

Julian
1100 46 84 45
Sí. Me había extrañado mucho que me sugirieran instalar MySQL en lugar de MariaDB. En realidad era eso, que no estaban bien instaladas las extensiones de PHP para usar MySQL desde PDO. Una vez instalado todo MariaDB va perfecto. No sé si tiene que ver con PDO, creo que lo que pasa es que simplemente no tenía las extensiones de MySQL para trabajo desde PHP. El comando clave es "sudo apt install php-mysql" y luego reiniciar el servidor, claro. Si estás trabajando con el servidor interno de PHP, simplemente páralo y vuelve a arrancar.

Es simplemente lanzar el comando:

sudo apt install php-mysql

Para instalar la extensión de MySQL para PHP. Luego reiniciar el servidor.

En mi caso que uso el servidor interno de PHP, simplemente es pararlo CTRL+C y volverlo a arrancar.

php -S localhost:8000
Marcos
157 1 14 11
Hola, tengo una duda, presento el mismo problema, pero en qué parte iría el comando? Ese comando es para Linux, lanzas el comando en el terminal, no importa la carpeta, porque es software que se instala en tu equipo. Si estás en Windows generalmente instalamos php con algún software como Xammp o Laragon, que ya tienen ese módulo instalado. Si no es así puedes intentarlo con el gestor de paquetes chocolatey