MySQL per Apache/PHP nicht ansprechbar
PaSt
- datenbank
Guten Morgen!
Ich hab meinen Rechner neu aufgesetzt dies inkludiert natürlich eine Neuinstallation des Webservers.
Nun hab ich ein Problem bei dem ich nicht mehr richtig weiter weiss. Der Apacheserver läuft und php tut auch.
Nur mit MySQL hab ich so meine Mühe. Der Dienst läuft, kann mittels Administrator/Querybrowser/Toad u.a darauf zugreifen und bearbeiten.
Sobald ich aber eine Seite aufrufe, welche eine Datenbankanbindung hat geht nix mehr. Am Beispiel von phpmyAdmin, Das Anmeldefenster von PMA kommt zwar, klickt man denach auf anmelden dann geht nix mehr.
Opera meint dann:
"Die Verbindung wurde durch den Server beendet. Die von Ihnen aufgerufene Adresse http://localhost/phpMyAdmin300/index.php ist zurzeit nicht erreichbar. Bitte überprüfen Sie die korrekte Schreibweise der Webadresse (URL) und versuchen Sie dann die Seite neu zu laden."
So geht das auch bei allen anderen Seiten welche eine DAtenbankanbindung haben.
In der Logs hab ich nichts auffälliges entdeckt (bin aber auch nicht so der Hirsch darin).
in php.ini(selbes File wie vor Neuinstallation) sind die Erweiterungen geladen. phpinfo hat die auch erkannt.
Weis da jemand rat?
schönen Abend
Hi!
Opera meint dann:
"Die Verbindung wurde durch den Server beendet. Die von Ihnen aufgerufene Adresse http://localhost/phpMyAdmin300/index.php ist zurzeit nicht erreichbar. Bitte überprüfen Sie die korrekte Schreibweise der Webadresse (URL) und versuchen Sie dann die Seite neu zu laden."
Was der Opera meint ist doch egal. Nicht er verbindet sich, sondern PHP. Also werte die Meldungen aus, die bei misslungenen mysql_connect() oder new mysqli() erzeugt werden.
So geht das auch bei allen anderen Seiten welche eine DAtenbankanbindung haben.
Wie genau gibst du an, wie du den MySQL-Server erreichen willst? localhost? Probier mal 127.0.0.1
In der Logs hab ich nichts auffälliges entdeckt (bin aber auch nicht so der Hirsch darin).
Welche Logs genau?
Lo!
tach dedlfix
Was der Opera meint ist doch egal. Nicht er verbindet sich, sondern PHP. Also werte die Meldungen aus, die bei misslungenen mysql_connect() oder new mysqli() erzeugt werden.
Das ist mir schon klar das Opera eigentlich egal ist. Wollte damit nur darauf hinweisen, dass ich keine Seite anzeigen/öffnen kann bei dem mysql vorkommt.
d.h. kann also mysql_connect() und dergleichen nicht auswerten, da der SErver die Verbindung immer trennt.
Wie genau gibst du an, wie du den MySQL-Server erreichen willst? localhost? Probier mal 127.0.0.1
ja, bis jetzt was immer localhost. werd morgen mal 127.0.0.1 probieren.
In der Logs hab ich nichts auffälliges entdeckt (bin aber auch nicht so der Hirsch darin).
Welche Logs genau?
die vom indianer (error.log, access.log) sowie die vom mysql server
Lo!
grüsse
Hi!
Was der Opera meint ist doch egal. Nicht er verbindet sich, sondern PHP. Also werte die Meldungen aus, die bei misslungenen mysql_connect() oder new mysqli() erzeugt werden.
Das ist mir schon klar das Opera eigentlich egal ist. Wollte damit nur darauf hinweisen, dass ich keine Seite anzeigen/öffnen kann bei dem mysql vorkommt.
d.h. kann also mysql_connect() und dergleichen nicht auswerten, da der SErver die Verbindung immer trennt.
Vielleicht ist das Timeout vom Opera zu klein eingestellt? Geht das anderen Browsern auch so? Du könntest PHP von der Kommandozeile starten, dann gibt es kein Laufzeit-Limit.
Wie genau gibst du an, wie du den MySQL-Server erreichen willst? localhost? Probier mal 127.0.0.1
ja, bis jetzt was immer localhost. werd morgen mal 127.0.0.1 probieren.
Neulich lag das jedenfalls daran, dass localhost zur IVv6-Adresse ::1 aufgelöst wurde und MySQL aber nur an IPv4 lauschte.
In der Logs hab ich nichts auffälliges entdeckt (bin aber auch nicht so der Hirsch darin).
Welche Logs genau?
die vom indianer (error.log, access.log) sowie die vom mysql server
PHPs Error-Log wäre interessant (und müsste erst konfiguriert werden). Vom MySQL-Server wäre das Query-Log von Belang, denn darin sieht man auch die Connect-Versuche.
Lo!
morgen!
Vielleicht ist das Timeout vom Opera zu klein eingestellt? Geht das anderen Browsern auch so? Du könntest PHP von der Kommandozeile starten, dann gibt es kein Laufzeit-Limit.
nee ist bei allen browsern dasselbe
Wie genau gibst du an, wie du den MySQL-Server erreichen willst? localhost? Probier mal 127.0.0.1
Hab jetzt auch mit 127.0.0.1 probiert. dasselbe Ergebnis
Neulich lag das jedenfalls daran, dass localhost zur IVv6-Adresse ::1 aufgelöst wurde und MySQL aber nur an IPv4 lauschte.
blöde frage aber wo stell ich das ein resp. überprüfe dies?
PHPs Error-Log wäre interessant (und müsste erst konfiguriert werden). Vom MySQL-Server wäre das Query-Log von Belang, denn darin sieht man auch die Connect-Versuche.
php:
[20-Jul-2010 09:42:31] PHP Warning: PHP Startup: Unable to load dynamic library '######/php_fdf.dll' - Das angegebene Modul wurde nicht gefunden.
in Unknown on line 0
mysql:
100720 9:31:00 30 Connect root@localhost on
100720 9:31:03 31 Connect root@localhost on
32 Connect root@localhost on
100720 9:31:04 33 Connect root@localhost on
34 Connect root@localhost on
Komischerweise werden ja alle anderen PHP-Anfragen usw korrekt ausgeführt. wenn nur der MysqlServer nicht müsste mMn ja einfach nur mysql_connect() fehlschlagen und eine Fehlermeldung ausgeben, oder nicht?
grüsse
Hi!
Neulich lag das jedenfalls daran, dass localhost zur IVv6-Adresse ::1 aufgelöst wurde und MySQL aber nur an IPv4 lauschte.
blöde frage aber wo stell ich das ein resp. überprüfe dies?
ping localhost
wäre ein einfacher Versuch das zu prüfen.
PHPs Error-Log wäre interessant (und müsste erst konfiguriert werden). Vom MySQL-Server wäre das Query-Log von Belang, denn darin sieht man auch die Connect-Versuche.
php:
[20-Jul-2010 09:42:31] PHP Warning: PHP Startup: Unable to load dynamic library '######/php_fdf.dll' - Das angegebene Modul wurde nicht gefunden.
in Unknown on line 0
Und wenn du die mal in der php.ini deaktivierst? Steht bei extensions. Nahc meinen Erfahrungen müsste eigentlich der Ladefehler der Extension ein generelles Problem sein. Das äußert sich unter Windows in einem scheinbaren Nichtstun, weil da eine Meldung auf dem Bildschirm erscheint, die bestätigt werden muss. Danach läuft das Script weiter. (Zumindest früher war as so. Kann auch sein, dass das wirklich nur bei Verwendung geschieht. Ich hab das immer bei phpinfo() bemerkt, und das verwendet ja alle Extensions.)
mysql:
100720 9:31:00 30 Connect root@localhost on
100720 9:31:03 31 Connect root@localhost on
32 Connect root@localhost on
100720 9:31:04 33 Connect root@localhost on
34 Connect root@localhost on
Sind das Anfragen von mysql_connect()-Versuchen? Dann würden die ja prinzipiell das Ziel erreichen.
Komischerweise werden ja alle anderen PHP-Anfragen usw korrekt ausgeführt. wenn nur der MysqlServer nicht müsste mMn ja einfach nur mysql_connect() fehlschlagen und eine Fehlermeldung ausgeben, oder nicht?
Frag den Rückgabewert von mysql_connect() ab. Wenn der false ist dann mysql_error() befragen.
Lo!
hei!
Frag den Rückgabewert von mysql_connect() ab. Wenn der false ist dann mysql_error() befragen.
über die konsole scheint es zu funktionieren. keine errors und korrekte ausgabe des scripts. rufe ich aber dasselbe script per browser (egal welcher) auch wird die verbindung sofort getrennt
Lo!
greasei
Hi!
Frag den Rückgabewert von mysql_connect() ab. Wenn der false ist dann mysql_error() befragen.
über die konsole scheint es zu funktionieren. keine errors und korrekte ausgabe des scripts. rufe ich aber dasselbe script per browser (egal welcher) auch wird die verbindung sofort getrennt
Unterschiedliche Konfigurationen werden sicherlich den Unterschied hervorrufen. phpinfo() dürfte in beiden Fällen auf unterschiedliche ini-Dateien verweisen. In der für die Kommandozeile ist dann anzunehmenderweise php_fdf.dll nicht eingebunden.
Lo!
hei
Unterschiedliche Konfigurationen werden sicherlich den Unterschied hervorrufen. phpinfo() dürfte in beiden Fällen auf unterschiedliche ini-Dateien verweisen. In der für die Kommandozeile ist dann anzunehmenderweise php_fdf.dll nicht eingebunden.
php_fdf.dll hab ich mal deaktiviert. Keinen unterschied feststellbar.
Laut php -i ist es dieselbe .ini Datei wie bei phpinfo() im Browser.
sehr verwirrend das ganze. Könnte es nicht am apache liegen (die Frage wäre nur wo)?
grüsse
Hi!
php_fdf.dll hab ich mal deaktiviert. Keinen unterschied feststellbar.
PHP läuft als Apache-Modul? Nach der Änderung wurde der Apache reloadet oder restartet?
Könnte es nicht am apache liegen (die Frage wäre nur wo)?
Glaub ich nicht.
Lo!
tach $name
Hi!
php_fdf.dll hab ich mal deaktiviert. Keinen unterschied feststellbar.
PHP läuft als Apache-Modul? Nach der Änderung wurde der Apache reloadet oder restartet?
Läuft als Modul. Dienst via Monitor gestoppt und neu gestartet, auch ein Neustart des PC ist zwischenzeitlich ohne Veränderung erfolgt.
Könnte es nicht am apache liegen (die Frage wäre nur wo)?
Glaub ich nicht.
dann glaub ich dir das
Lo!
grüsse
Hi!
php_fdf.dll hab ich mal deaktiviert. Keinen unterschied feststellbar.
PHP läuft als Apache-Modul? Nach der Änderung wurde der Apache reloadet oder restartet?
Läuft als Modul. Dienst via Monitor gestoppt und neu gestartet, auch ein Neustart des PC ist zwischenzeitlich ohne Veränderung erfolgt.
Und erzählt das PHP-Error-Log immer noch was von der php_fdf.dll?
Lo!
Hei!
Und erzählt das PHP-Error-Log immer noch was von der php_fdf.dll?
nee das PHP-Error-Log ist genauso schweigsam wie eine Kirchenglocke im Vakuum. Nur eine Notice-Meldung, dass eine Variable nicht definiert ist.
Was ich mich immernoch frage, ist weshalb die Probleme nur im Browser auftauchen. Aber per Konsole und dgl. keine Probleme sichtbar sind.
Lo!
grüsse
Hi!
Was ich mich immernoch frage, ist weshalb die Probleme nur im Browser auftauchen. Aber per Konsole und dgl. keine Probleme sichtbar sind.
Ich hätte ja auf unterschiedliche Konfigurationen getippt, aber wenn du das verneinst, fällt mir grad erstmal nichts weiter ein.
Lo!
h1,
So geht das auch bei allen anderen Seiten welche eine DAtenbankanbindung haben.
In der Logs hab ich nichts auffälliges entdeckt (bin aber auch nicht so der Hirsch darin).
Vielleicht kommt da auch gar nichts an? Das wäre meine Vermutung, dass da was blockt vorher, z.B. eine Personal Firewall, die nach Anwendungen filtert. Nicht ganz ins Blaue geraten, weil: den dbServer kannst du ja ansprechen über das Admintool, nicht jedoch über den Webserver. Da würde ich mal guggen.
Horst Buttermilch
morgen!
Vielleicht kommt da auch gar nichts an? Das wäre meine Vermutung, dass da was blockt vorher, z.B. eine Personal Firewall, die nach Anwendungen filtert. Nicht ganz ins Blaue geraten, weil: den dbServer kannst du ja ansprechen über das Admintool, nicht jedoch über den Webserver. Da würde ich mal guggen.
hab die win-Firewall ausgeschaltet. keine Veränderung.
grüsse
abend!
So nachdem ich endlich nach langem hin und her mal eine Fehlermeldeung zu Gesicht bekommen habe,
"mysql_connect(): Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat."
konnte ich das Problem lösen. Kann zwar nicht mit Gewissheit was es wirklich war. Hatte in der host-Datei noch einen Eintrag stehen ::1 localhost nachdem der weg war lief alles wie am Schnürchen.
Trotzdem besten Dank für eure (dedlfix) Hilfe.
Noch nen schönen Abend