PHP / Apache: PHP Schwerwiegender Fehler: Aufruf zu undefinierter Funktion mysql_connect ()
Ich habe MySQL (Community Server 5.5.23), Apache (2.2), und PHP (5.3.13) läuft auf einem Fedora-15-Maschine (64-bit). Jeder arbeitet mit kein problem auf eigene Faust.
Dachte ich, dass PHP so konfiguriert wurde, dass/kompiliert werden um mit MySQL zu arbeiten, aber wenn ich versuche, laden Sie eine beliebige PHP-web-Seite, die eine MySQL aufrufen, dann bekomme ich die oben erwähnten schwerwiegenden Fehler (in der Apache-error-log). PHP funktioniert in Ordnung auf seine eigene, obwohl, durch und Apache auf der Kommandozeile.
Wenn ich php-i von der Kommandozeile dann sicher genug, es zeigt alle MySQL-bits und Stücke, aber wenn ich Sie laden eine Seite mit phpinfo (), dann gibt es keine MySQL-Module erwähnt.
Hab ich auch probiert un-kommentieren "extension=mysql.so" in php.ini, PHP meckert dann mit "PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysql.so'."
(auch wenn das Modul nicht dort wohnen). Aber dann bin ich nicht ganz sicher, ob diese Zeile wird benötigt, um das un-kommentiert oder nicht. [Korrektur: der Fehler festgestellt wurde, eigentlich aufgrund eines Tippfehlers, sondern laufen von der Befehlszeile zeigt an, dass das Modul bereits geladen ist jedenfalls - es ist eine Warnung von PHP, dass so sagt.]
Habe ich auch deaktiviert SELinux; beendet/neu gestartet, Apache unzählige Male; yummed MySQL-Devel, falls es irgendeinen Unterschied gemacht; und, wie es scheint, jede mögliche andere Sache.
Wenn ich ein kleines PHP-test-script von der Kommandozeile aus, auf die MySQL Datenbank zugreifen, dann funktioniert es ohne problem, also PHP hat wissen über MySQL, aber wenn Sie läuft unter der Apache scheint es, haben keine Ahnung von MySQL noch existiert.
Ich hab schon versucht das ein-und ausschalten für Monate, um dieses problem zu lösen, und es scheint, haben alles versucht, aber nichts scheint zu funktionieren.
Mir nicht mit neu installieren von PHP ist, wenn ich wirklich muss, wenn jemand nachweisen kann, die richtige Art und Weise zu konfigurieren/kompilieren, mit MySQL-Unterstützung, so dass ich bekommen kann es zu Arbeit unter der Apache, obwohl ideal ich würde es vorziehen, um die vorhandene installation zu arbeiten.
Vielen Dank im Voraus für jede Hilfe!
InformationsquelleAutor der Frage Cheddar | 2013-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Fall, jemand stellt sich dieser, ist es ein Fall von PHP keinen Zugriff auf die mysql-client-Bibliotheken. Mit einem MySQL-server auf dem system ist nicht der richtige fix. Fix für ubuntu (und PHP 5):
Nach der Installation des Clients sollte der webserver neu gestartet werden. Falls Sie apache benutzen, sollten die folgenden arbeiten:
InformationsquelleAutor der Antwort andreimarinescu
Beachten Sie, dass seit PHP 5.5.0 die
mysql_connect()
Funktion ist veraltet, und es wird vollständig entfernt, in PHP 7Weitere Infos finden Sie auf der in der php-Dokumentation:
Zitat:
InformationsquelleAutor der Antwort Tim Penner
Ich hatte das gleiche problem und musste beziehen sich auf die php-Handbuch die mir gesagt, die mysql-und mysqli-Erweiterungen erforderlich libmysql.dll zu laden. Ich suchte es unter C:\windows\system32 (windows 7) und konnte es nicht finden, also habe ich es heruntergeladen hier und legte es in meine C:\windows\system32. Ich habe Apache neu gestartet und alles hat gut funktioniert. Hat mich 3 Tage, um herauszufinden, hoffe es hilft.
InformationsquelleAutor der Antwort che-azeh
Das Apache-Modul PHP-version könnte für einige ungerade Grund, nicht Kommissionierung bis die php.ini-Datei als CLI-version würde ich vorschlagen, dass Sie einen guten Blick auf:
.ini
Dateien, die sich unterscheiden zwischenphp -i
undphpinfo()
über eine web-Seite*mysql.so
und die.ini
Dateien, aber ich denke, dass der Apache parst diese alsroot
BenutzerKlar hier, don ' T gehen auf der Suche für
php.ini
Dateien auf dem Datei-system, haben einen Blick an, was PHP sagt, dass es ist der Blick aufInformationsquelleAutor der Antwort James C
Wie Bout
sudo yum install php-mysql -
oder
sudo apt-get install php5-mysql
InformationsquelleAutor der Antwort Canadian_Republican
Erhielt ich eine ähnliche Fehlermeldung. Denke, dass ich versehentlich eingegeben "9o" zu Beginn der ersten Zeile von php.ini-Datei. Einmal habe ich entfernt, dass ich nicht mehr empfangen, die "fatal error" - Meldungen. Hoffe, das hilft.
InformationsquelleAutor der Antwort Gordon
Den
mysql
- Dämon ausgeführt werden soll.Wenn nicht versuchen Sie dies:
Oder so:
Und wenn Sie möchten, fügen Sie mysql auf boot:
Wenn ja, und es ist immer noch nicht funktioniert, versuchen Sie dies:
Heben Sie die Auskommentierung der folgenden Zeilen in der /etc/php/php.ini
Bitte überprüfen Sie Ihre post oben '/usr/lib64/php/modules/msql.so'. Es sollte mysql.so (wenn es falsch es zu ignorieren...)
InformationsquelleAutor der Antwort pixeltracer