332 votes

PDOException « pilote introuvable »

Je viens d'installer Debian Lenny avec Apache, MySQL et PHP et je reçois une PDOException could not find driver.

C'est la ligne de code spécifique, il est fait référence à:

$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS)

DB_HOST, DB_NAME, DB_USER, et DB_PASS sont des constantes que j'ai défini. Il fonctionne très bien sur le serveur de production (et sur mon ancien Ubuntu Server setup).

Est-ce quelque chose à faire avec mon installation de PHP?

Une recherche sur internet n'a pas aidé, tout ce que j'obtiens est des experts-échange et des exemples, mais pas de solutions.

270voto

ZZ Coder Points 36990

Vous devez avoir un module appelé pdo_mysql. Vous cherchez suivantes dans phpinfo(),

210voto

ghbarratt Points 4468

La dsn dans votre code révèle vous essayez de vous connecter avec le pilote mysql. Votre message d'erreur indique que ce pilote n'est pas disponible.

Vérifiez que vous avez l'extension mysql est installé sur votre serveur.

Dans Ubuntu/Debian-vous de vérifier pour le paquet:

dpkg --get-selections | grep php5-mysql

Installer le package php5-mysql si vous ne l'avez pas.

Dans Ubuntu/Debian, vous pouvez utiliser:

sudo apt-get install php5-mysql

Enfin, pour le faire fonctionner avec Apache, vous aurez besoin de redémarrer Apache.

sudo /etc/init.d/apache2 restart

91voto

Sudipta Chatterjee Points 1396
<pre><code></code><p>Si votre phpinfo() n’est pas montrant la ligne pdo_sqlite (dans mon cas, sur mon serveur Ubuntu), il vous suffit d’exécuter les lignes ci-dessus et vous serez bon pour aller.</p></pre>

22voto

berdzi Points 21

Sur ma machine Windows, j’ai dû donner le chemin d’accès absolu au dir extension dans mon php.ini :

``

14voto

Dmitry Sobolev Points 300

Sur Ubuntu juste exécuter

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X