PDO :: GetAvailabledRivers () Renvoie un tableau vide.
Cause: PHP n'est pas compilé ou l'extension PDO n'est pas activée, ou l'extension du pilote de base de données correspondant n'est pas installée.
résoudre:
Confirmez que Extension = PDO.SO ou Extension = PHP_PDO.DLL est activé dans le fichier de configuration PHP Php.ini .
Pour des pilotes de base de données spécifiques, tels que MySQL, vous devez activer l'extension PDO_MYSQL : Extension = PDO_MYSQL.SO ou Extension = PHP_PDO_MYSQL.DLL .
Redémarrez le serveur Web ou le service PHP-FPM.
Utilisez PHP -M pour afficher les modules activés et confirmez s'il y a PDO et PDO_MYSQL correspondant, etc.
Performances: Même si l'extension est installée, un tableau vide est toujours retourné.
Cause: il y a une erreur dans le fichier de configuration PHP ou plusieurs conflits de fichiers de configuration, ce qui entraîne l'extension qui ne prend pas effet.
résoudre:
Utilisez PHP - ini pour confirmer le chemin de fichier PHP.ini chargé.
Vérifiez qu'il n'y a pas d'autre dépassement de configuration ou que la configuration utilisée dans l'environnement CLI et Web est différente.
Vérifiez le journal d'erreur PHP pour confirmer s'il y a une erreur lorsque l'extension est chargée.
Ajoutez manuellement l' instruction Extension = correspondante dans PHP.ini .
Performances: l'OPD est disponible mais non disponible pour un pilote spécifique.
Cause: la version PHP est trop ancienne ou la version étendue ne correspond pas.
résoudre:
Mettez à niveau PHP vers la version recommandée (comme PHP 7.4 et plus).
Réinstallez l'extension pour assurer la compatibilité des versions.
Sur Linux, vous pouvez utiliser le gestionnaire de packages pour installer le pilote PDO correspondant, tel que sudo apt install php-mysql .
Performances: pas de support APD.
Cause: - Les paramètres de pilote de base de données correspondants et correspondants n'ont pas été ajoutés lors de la compilation de PHP.
résoudre:
Recompiler PHP et ajouter des paramètres, par exemple:
<span><span>./configure --enable-pdo --with-pdo-mysql --with-pdo-sqlite
</span></span>
Ou utilisez le package binaire pour installer la version.
Performances: renvoie normal sous CLI, mais la page Web renvoie un tableau vide.
Cause: les fichiers de configuration PHP utilisés par la CLI et le Web sont différents.
résoudre:
Utilisez phpinfo () pour afficher les fichiers de configuration réellement chargés et les informations d'extension dans un environnement Web.
Vérifiez que le fichier de configuration PHP du serveur Web a une APD et les pilotes associés activés.
Lorsque vous rencontrez PDO :: GetAvailabledRivers () renvoie un tableau vide ou une erreur, l'idée de base est:
Vérifiez si l'APD et les extensions de pilote de base de données correspondantes sont installées.
Confirmez que l'extension est chargée correctement.
Vérifiez si la version PHP et la configuration de l'environnement sont cohérentes.
Redémarrez le serveur ou le service PHP pour vous assurer que la configuration prend effet.
Vérifiez les journaux et phpinfo () pour les indices.
Maître ces étapes d'enquête et la plupart des problèmes peuvent être résolues facilement. J'espère que cet article sera utile aux problèmes que vous rencontrez lors de l'utilisation de l'APD!