PHP will nicht zu MySQL verbinden
flowh
- php
-1 Tom1 Christoph Schnauß0 flowh
0 flowh
0 Christoph Schnauß0 flowh
Hallo Miteinander!
Ich habe auf meinem Rechner (Windows XP SP 2) einen Apache(apache_2.0.55-win32-x86-no_ssl.msi) + PHP(php-5.1.2-Win32.zip) als Modul laufen. Das funktioniert auch soweit wunderbar.
Zusätzlich läuft ein MySQL-Server (5.0.19, Installer, als Service), auf den ich per shell auch wunderbar zugreifen kann.
Will ich nun aber von PHP aus mit MySQL verbinden, dann erhalte ich folgende Fehlermeldung:
"Fatal error: Call to undefined function mysql_connect() in C:\Apache Group\Apache2\htdocs\mysql.php on line 3"
Ich habe natürlich gesucht, was die Ursache dafür sein könnte, auch einiges gefunden, aber bis jetzt keinen Erfolg verzeichnet. Es ist die Zeile "extension=php_mysql.dll" in der php.ini ohne Kommentar, es wird die richtige php.ini geladen, die libmysql.dll und die php_mysql.dll sind jedem erdenklichen Verzeichnis, ...
Der einzigste Hinweis, der bis jetzt noch ungeklärt ist, ist, dass PHP mit "--with-mysql[=DIR]" kompiliert werden muss. PHP auf Windows selber zu kompilieren ist allerdings mehr als mühsam...
Meine Frage ist nun: Liegt mein Problem daran, dass meine PHP-Version nicht mit "--with-mysql..." kompiliert wurde, und wenn ja gibts es vorkompilierte Versionen von PHP 5 für Windows (ich habe bei Google nichts gefunden)?
Oder ist die Ursache meines Problems eine andere?
Vielen Dank schonmal im Vorraus!
Servus
Hello,
ja, das kann daran liegen.
Frag einfach mal mit get_defined_funtions() ab, welche zur Verfügung stehen.
http://de2.php.net/manual/en/function.get-defined-functions.php
Und darüberhinaus nimm doch das XAMPP-Paket von http://apchefriends.org
Ich habe es ja sogar auf meiner Win98SE-Möhre zum Laufen gebrachracht...
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
hallo Tom,
Und darüberhinaus nimm doch das XAMPP-Paket von http://apchefriends.org
Nee, laß ihn mal. Es ist besser, sich den Kram selber einzeln zu installieren, dann versteht man wenigstens, wie es zusammenspielen soll/kann.
Grüße aus Berlin
Christoph S.
Hallo
Und darüberhinaus nimm doch das XAMPP-Paket von http://apchefriends.org
Nee, laß ihn mal. Es ist besser, sich den Kram selber einzeln zu installieren, dann versteht man wenigstens, wie es zusammenspielen soll/kann.
Eben, das hab ich mir auch gedacht. Und ich hab mir auch gedacht: des kann ja nicht so schwer sein... tja... irren ist menschlich...
Servus
Hallo
Hello,
ja, das kann daran liegen.
Frag einfach mal mit get_defined_funtions() ab, welche zur Verfügung stehen.
Dann sehe ich, dass keinerlei mysql-Funktionen zur Verfügung stehen.
Dies wird ja durch "called to undefined function" bestätigt.
Servus
hallo,
Es ist die Zeile "extension=php_mysql.dll" in der php.ini
Meine Frage ist nun: Liegt mein Problem daran, dass meine PHP-Version nicht mit "--with-mysql..." kompiliert wurde
Nein.
Oder ist die Ursache meines Problems eine andere?
Mit allergrößter Wahrscheinlichkeit. Schau dir zunächst einmal die Ausgabe von phpinfo() an, dort müßte bei korrekter Einbindung auch etwas zu MySQL stehen - tut es bei dir vermutlich nicht. Aber du hast schon den richtigen Weg gefunden. In deiner php.ini muß zum Beispiel extension_dir auf den korrekten Pfad verweisen, und enable_dl muß auf "on" stehen.
Grüße aus Berlin
Christoph S.
Hallo
hallo,
Es ist die Zeile "extension=php_mysql.dll" in der php.ini
Meine Frage ist nun: Liegt mein Problem daran, dass meine PHP-Version nicht mit "--with-mysql..." kompiliert wurdeNein.
Gut.
Oder ist die Ursache meines Problems eine andere?
Mit allergrößter Wahrscheinlichkeit. Schau dir zunächst einmal die Ausgabe von phpinfo() an, dort müßte bei korrekter Einbindung auch etwas zu MySQL stehen - tut es bei dir vermutlich nicht. Aber du hast schon den richtigen Weg gefunden. In deiner php.ini muß zum Beispiel extension_dir auf den korrekten Pfad verweisen, und enable_dl muß auf "on" stehen.
Das habe ich vergessen zu sagen: ich habe das auch schon überprüft.
extension_dir=c:/php/ext
enable_dl=on
Deswegen seh ich gerade nicht, wie ich weitermachen soll....
Servus
hallo,
Es ist die Zeile "extension=php_mysql.dll" in der php.ini
Dir ist bekannt, daß das nicht genügt? Näheres dazu unter http://de2.php.net/manual/de/ref.mysql.php
Grüße aus Berlin
Christoph S.
Hallo
Es ist die Zeile "extension=php_mysql.dll" in der php.ini
Dir ist bekannt, daß das nicht genügt? Näheres dazu unter http://de2.php.net/manual/de/ref.mysql.php
Was muss ich denn sonst noch machen? Außer extension_dir setzen, libmysql.dll nach c:\windows, enable_dl=on, schauen, ob die richtige php.ini geparst wird?
Das ist nämlich meines Erachtens alles korrekt.
Servus
hallo,
Das ist nämlich meines Erachtens alles korrekt.
Ja, das ist es - es ist bloß nicht genug. Du brauchst, wie du an der von mir verlinkten Fundstelle nachgelesen hast, auch noch mindestens mysqli.
Grüße aus Berlin
Christoph S.
Hallo
Ja, das ist es - es ist bloß nicht genug. Du brauchst, wie du an der von mir verlinkten Fundstelle nachgelesen hast, auch noch mindestens mysqli.
Also langsam zweifel ich an mir selbst:
1. Ich habe MySQL so verstanden, dass ich MySQLi nur für in MySQL 5 neue Funktionen brauche, aber nicht dass MySQLi essentiell für eine Verbindung zum MySQL-Server ist.
2. Ich habs trotzdem natürlich ausprobiert und hatte immer noch keine Erfolg ("Called to undefined function mysql_connect()..").
Ich hab den Server zwischendrin natürlich neu gestartet...
Ich glaub ich steh grad auf der Leitung...
Schubst mich doch bitte runter!
Servus
Hallo!
Problem gelöst!
Kaum kopiert man die libmysql.dll nach nach \system32, klappts auch schon!
Danke für die Unterstützung!
Servus