Pdo :: GetAvailabledRivers () gibt ein leeres Array zurück.
Ursache: PHP wird nicht kompiliert oder die PDO -Erweiterung ist nicht aktiviert, oder die entsprechende Erweiterung der Datenbanktreiber ist nicht installiert.
lösen:
Bestätigen Sie, dass erweitert = pdo.so oder erweitert = php_pdo.dll in der PHP -Konfigurationsdatei php.ini aktiviert ist.
Für bestimmte Datenbanktreiber wie MySQL müssen Sie die Erweiterung pdo_mysql aktivieren: Erweiterung = pdo_mysql.so oder erweitert = php_pdo_mysql.dll .
Starten Sie den Webserver oder den PHP-FPM-Dienst neu.
Verwenden Sie PHP -M, um die aktivierten Module anzuzeigen und zu bestätigen, ob es PDO und entsprechende PDO_MYSQL usw. gibt.
Leistung: Auch wenn die Erweiterung installiert ist, wird noch ein leeres Array zurückgegeben.
Ursache: Es gibt einen Fehler in der PHP -Konfigurationsdatei oder in mehreren Konfigurationsdateienkonflikten, was dazu führt, dass die Erweiterung nicht wirksam wird.
lösen:
Verwenden Sie PHP -INI , um den geladenen PHP.ini -Dateipfad zu bestätigen.
Stellen Sie sicher, dass es keine andere Konfigurationsüberschreibung gibt oder dass die in der CLI und in der Webumgebung verwendete Konfiguration unterschiedlich ist.
Überprüfen Sie das PHP -Fehlerprotokoll, um zu bestätigen, ob beim Laden der Erweiterung ein Fehler vorliegt.
Fügen Sie die entsprechende Erweiterung = Anweisung in php.ini manuell hinzu.
Leistung: PDO ist für einen bestimmten Treiber verfügbar, aber nicht verfügbar.
Ursache: Die PHP -Version ist zu alt oder die erweiterte Version stimmt nicht überein.
lösen:
Aktualisieren Sie PHP auf die empfohlene Version (z. B. Php 7.4 und höher).
Installieren Sie die Erweiterung neu, um die Versionskompatibilität zu gewährleisten.
Unter Linux können Sie den Paket-Manager verwenden, um den entsprechenden PDO-Treiber zu installieren, z .
Leistung: Keine PDO -Unterstützung.
Ursache: -ABLEA-PDO und die entsprechenden Datenbanktreiberparameter wurden beim Kompilieren von PHP nicht hinzugefügt.
lösen:
Kompilieren Sie PHP neu und fügen Sie beispielsweise Parameter hinzu:
<span><span>./configure --enable-pdo --with-pdo-mysql --with-pdo-sqlite
</span></span>
Oder verwenden Sie das Binärpaket, um die Version zu installieren.
Leistung: Gibt normal unter CLI zurück, aber die Webseite gibt ein leeres Array zurück.
Ursache: Die von der CLI und im Web verwendeten PHP -Konfigurationsdateien sind unterschiedlich.
lösen:
Verwenden Sie PHPInfo (), um die tatsächlich geladenen Konfigurationsdateien und Erweiterungsinformationen in einer Webumgebung anzuzeigen.
Stellen Sie sicher, dass die PHP -Konfigurationsdatei des Webservers PDO und zugehörige Treiber aktiviert.
Wenn Sie PDO :: GetAvailabledRivers () begegnen, gibt ein leeres Array oder einen Fehler zurück, die Kernidee lautet:
Überprüfen Sie, ob die Erweiterungen PDO und entsprechender Datenbanktreiber installiert sind.
Bestätigen Sie, dass die Erweiterung korrekt geladen wird.
Überprüfen Sie, ob die Konfiguration der PHP -Version und der Umgebungskonfiguration konsistent ist.
Starten Sie den Server- oder PHP -Dienst neu, um sicherzustellen, dass die Konfiguration wirksam wird.
Überprüfen Sie die Protokolle und phpinfo () auf Hinweise.
Beherrschen Sie diese Untersuchungsschritte und die meisten Probleme können leicht gelöst werden. Ich hoffe, dieser Artikel ist hilfreich für die Probleme, die Sie während des PDO -Gebrauchs begegnen!