Ich habe MySQL (5.5.23 Community Server), Apache (2.2) und PHP (5.3.13) auf einem Fedora 15-Rechner (64- Bit). Jeder funktioniert ohne Probleme für sich.PHP/Apache: PHP Schwerwiegender Fehler: Aufruf zu undefinierter Funktion mysql_connect()
Ich dachte, dass PHP für die Arbeit mit MySQL konfiguriert/kompiliert wurde, aber wenn ich versuche, eine PHP-Webseite zu laden, die einen MySQL-Aufruf macht, bekomme ich den oben genannten fatalen Fehler (im Apache-Fehlerprotokoll). PHP funktioniert alleine, über Apache und über die Kommandozeile.
Wenn ich php -i von der Kommandozeile aus starte, dann zeigt es wirklich alle MySQL Bits und Teile, aber wenn ich eine Seite mit phpinfo() lade, dann werden keine MySQL Module erwähnt.
Ich habe auch versucht, "extension = mysql.so" in php.ini zu kommentieren, aber PHP klagt dann mit "PHP Startup: Kann dynamische Bibliothek '/usr/lib64/php/modules/mysql.so'."
nicht laden (obwohl das Modul dort residiert). Aber dann bin ich mir nicht ganz sicher, ob diese Zeile unkommentiert sein muss oder nicht. [Korrektur: Der angegebene Fehler war eigentlich auf einen Tippfehler zurückzuführen, aber das Ausführen von der Befehlszeile zeigt, dass das Modul sowieso schon geladen ist - da ist es eine Warnung von PHP, die das sagt.]
Ich habe auch SELinux deaktiviert, gestoppt/neu gestartet Apache mehrmals, yummed MySQL-Devel, falls es einen Unterschied machte, und, so scheint es, jede andere mögliche Sache.
Wenn ich ein kleines PHP-Testskript von der Kommandozeile aus benutze, um auf die MySQL-Datenbank zuzugreifen, dann funktioniert es problemlos, also weiß PHP nichts über MySQL, aber wenn es unter Apache läuft, scheint es keine Ahnung zu haben, dass MySQL überhaupt existiert .
Ich habe seit Monaten ein- und ausgeschaltet, um dieses Problem zu lösen, und scheinen alles versucht zu haben, aber nichts scheint zu funktionieren.
Ich habe nichts dagegen, PHP neu zu installieren, wenn ich wirklich muss, wenn jemand den richtigen Weg zur Konfiguration/Kompilierung mit MySQL-Unterstützung demonstrieren kann, damit ich es unter Apache arbeiten kann, obwohl ich idealerweise würde es einfach vorziehen, die bestehende Installation zum Laufen zu bringen.
Vielen Dank im Voraus für jede Hilfe!
sind Sie sicher, dass dies das Modul Sie benötigen? 'msql.so'? Wie wäre es mit dem Versuch, das PDO-Modul zu laden? – Sebas
Sie könnten zwei php.ini-Dateien zum Ändern haben. /etc/php5/apache2/php.ini und /etc/php5/cli/php.ini. –
Versucht, pdo ebenfalls zu laden, aber den gleichen "unable to dynamic library" -Fehler zu bekommen. – Cheddar