PHP Fatal error: Class 'PDO' ne trouve pas
J'ai cette fonction PHP qui a très bien fonctionné jusqu'à ce que j'ai réinstallé mon dev système:
function connectDB($database, $username, $password) {
$DSN = "mysql:host=localhost;dbname=$database";
try {
$DBH = new PDO($DSN, $username, $password); <--- LINE 10
return $DBH;
}
catch(PDOException $e) {
die("Could not connect to the database.\n");
}
}
Et j'obtiens le message d'erreur:
PHP Fatal error: Class 'PDO' not found in /var/www/im/tools.php on line 10
J'ai vérifié la fonction phpinfo() et PDO est activé:
Les drivers PDO : mysql
Driver PDO pour MySQL version: 5.1.54
La chose intéressante est que l'interaction avec les th de base de données MYSQL est ok, mais je suis encore en train de l'erreur lors du débogage.
Je suis perplexe sur cette erreur! Mon système Ubuntu 11.04 + NGINX + PHP 5.3
Toute astuce pour se débarrasser d'elle? Merci!
"l'interaction avec th de base de données MYSQL est ok, mais je suis encore en train de l'erreur lors de débogage". Qu'est-ce que cela signifie?
La fonction fonctionne ok, je peux interroger la base de données, mais dans l'Eclipse de débogage de l'interface-je obtenir cette "erreur fatale".
Vérifier
extension=pdo.il est donc juste en aop.ini . Il en existe plusieurs .ini dans le répertoire que vous avez mentionné, mais je ne suis pas sûr que l'ajout de l'extension=pdo.donc, pour chaque fichier est la solution. J'ai essayé d'ajouter à mysql.ini, mais sans résultat.
Merci mario, c'est tout.
La fonction fonctionne ok, je peux interroger la base de données, mais dans l'Eclipse de débogage de l'interface-je obtenir cette "erreur fatale".
Vérifier
/etc/php5/cli/conf.d/*
et assurez-vous que pdo.so
est activé. (Il semble que le CGI/mod_php version est activé.)extension=pdo.il est donc juste en aop.ini . Il en existe plusieurs .ini dans le répertoire que vous avez mentionné, mais je ne suis pas sûr que l'ajout de l'extension=pdo.donc, pour chaque fichier est la solution. J'ai essayé d'ajouter à mysql.ini, mais sans résultat.
Merci mario, c'est tout.
OriginalL'auteur Gabriel A. Zorrilla | 2011-05-16
Vous devez vous connecter pour publier un commentaire.
Êtes-vous l'utilisation des espaces de code? Peut-être que vous devez utiliser \PDO classe alors?
OriginalL'auteur Tomasz Kowalczyk
Cela peut aussi arriver si il y a un php.ini fichier dans l'application web du répertoire de travail courant. Si l'on y a été placé à modifier certains paramètres, il va se substituer à l'échelle mondiale.
Pour éviter ce problème, n'utilisez pas de php.ini modifier les paramètres; au lieu de cela, faire cela dans le vhost de déclaration ou d'un .fichier htaccess avec "php_flag'.
Voir aussi PHP Fatal error: Class 'PDO' ne trouve pas
PS stackoverflow.com/questions/16561937/...
Je n'ai aucune idée de pourquoi j'ai été downvoted sur cette. Je soupçonne que c'était par des gens qui pensent qu'ils sont des experts, et donc penser à un problème donné ne pouvait avoir qu'une seule cause.
Vous exécutez la tâche cron en tant que root? Si oui, peut-être que le php.ini n'est lisible que par root et, par conséquent, est ignoré par Apache.
Probablement, vous avez raison, aucune idée, mais de toute façon le problème a été celui vous l'avez souligné. Retrait de la php.ini dans le dossier racine a des choses va à nouveau comme avant. Merci!
OriginalL'auteur Alastair Irvine
essayer
OriginalL'auteur Bảo Nam