Ich versuche, eine MySql-Erweiterung für die PHP-Entwicklung zu laden.
Beim Ausführen <?php phpinfo(); ?>
sehe ich, dass die MySql-Erweiterung nicht geladen ist. Das ist auch offensichtlich, wenn ich ein Skript ausführe, das die mysql_connect
Funktion verwendet und den Fehler erhalte Fatal error: Call to undefined function mysql_connect() in C:\Apache24\htdocs\test.php on line 11
.
Beim Ausführen php --ini
erhalte ich folgende Ausgabe:
Loaded Configuration File: C:\php\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Wenn ich also meine php.ini-Datei bearbeite, um die MySql-Erweiterung zu aktivieren, weiß ich, dass ich die richtige .ini-Datei bearbeite. Die Ausgabe phpinfo()
verweist auf dieselbe Datei.
In meiner php.ini-Datei habe ich geändert
;extension=php_mysql.dll
Zu
extension=php_mysql.dll
Für mein Erweiterungsverzeichnis in meiner php.ini-Datei:
extension_dir = "./ext"
In diesem Verzeichnis habe ich die php_mysql.dll
Datei.
Ich bin hier ein wenig ratlos und weiß nicht wirklich, was mir entgeht. Jede Antwort, die ich auf den SE-Sites und anderswo gefunden habe, verweist lediglich darauf, eine Zeile in der Datei php.ini zu kommentieren und zu überprüfen, ob das Erweiterungsverzeichnis auf einen Speicherort verweist, der die richtige DLL-Datei enthält.
Was fehlt mir, um diese Erweiterung richtig zu laden?
Ich wäre für jede Hilfe sehr dankbar.
Antwort1
Eine häufige Ursache hierfür kann sein, dass das Installationsverzeichnis von PHP nicht in der PATH
Umgebungsvariable enthalten ist (siehe:PHP: Installation von Erweiterungen unter Windows), was dazu führt, dass das PHP-Modul MySQL nicht finden kann.
Gibt es in den Protokollen einen Fehler bezüglich des fehlgeschlagenen Ladens der Erweiterung?