mysql-Abfragen in php

SvenH

Registered User
Hallo Zusammen,

"dereine" hat ja Probleme, das sein awstats aktualisiert wird.
Er benutzt dafür ein php-script, welches auf die Confixx-DB zugreift um an die Domain-Namen zu kommen.
im Script steht u.a. "mysql_connect (...)"
Wenn das Script aufgerufen wird, kann das System damit nichts anfangen und es erscheint eine Fehlermeldung.
Nach dem ich Google etwas bemüht habe, habe ich herausgefunden, das mysql wohl in php nicht richtig eingebunden ist.
Hier muss ich nun mit meinem Wissen passen.

Wer kann hier helfen?

Er hat ein Debian-System 3.0 (nicht S4Y)

Gruß
Sven
 
Ganz ehrlich gesagt kann ich mit diesem Thread nicht sehr viel anfangen. Zugegeben, ich war für knapp 3 Wochen im Urlaub.
Aber trotzdem fehlen hier einige Informationen.
Gibt es einen Thread zu 'dereines' Problem? (Link bitte)
Was wir nun brauchen sind die logs. Hier MUSS etwas zu finden sein, was einen stutzig machen sollte.

Tut mir leid, aber anders kann ich nicht probieren bei der Fehlersuche mit zu helfen.
 
moin

der svenhofacker und ich haben erst mal es ganz normal versucht aber es ging nicht,

bei der creat_awstatsconfig.php habe ich die root daten für mysql datenbank eingegeben,
dann haben wir es versucht manuell zustarten, das einzigste was er nicht startet war die datenbank,

als fehlermeldung sagte er : kann keine verbindung zur datenbank herstellen

mfg
dereine
 
dereine said:
...als fehlermeldung sagte er : kann keine verbindung zur datenbank herstellen

Diese Fehlermeldung kann uns nicht viel weiterhelfen, da dies ja einfach nur vom Script ausgegeben wird. Logfiles wären so langsam wirklich sinnvoller zu posten. Einfach mal durchsuchen. Ihr werdet sicher relevante Einträge finden.
 
moin moin

wenn ich den befehl von Thorsten einegebe kommt folgende meldung:

Code:
Error 1045: access denied for user: 'root@localhost' (using password: no)

so meine frage kann darin ein zusammen hang bestehen
und wie kann ich dann diese problem lösen ???

mfg
dereine
 
dereine said:
Code:
Error 1045: access denied for user: 'root@localhost' (using password: no)

Komisch. Schau doch einfach mal nach, was für Rechte /etc/init.d/mysql(d) hat. (ls -al)
Und welcher Gruppe/User es gehört
 
da steht bei mysql:

Code:
-rwxr-xr-x   1 root        root  2135 apr 8 19:25  mysql
 
Das ist ja alles korrekt so. Sorry, das konnte es auch nicht wirklich gewesen sein. Ich bin eben grade erst aufgestanden ;) (Nach 42h ohne Schlaf darf man sich das erlauben)

Da scheint was anderes nicht zu stimmen. Benutzt du denn zufällig Confixx? Dort dürfte dann ja wohl auch nicht viel gehen.
So weit ich das sehe, gehen im mom gar keine 'Anwendungen' die auf mysql basieren, gell?

Wie kamt ihr genau zu dem Problem? Kam es denn auf einmal auf, oder bestanden schon länger Schwierigkeiten?

P.S.:
Tu mir doch bitte den Gefallen und poste mal die entsprechenden logs.
Befinden sich in /var/log
 
Last edited by a moderator:
ja ich nutze confixx 3.0 prof
das problem hat sich erst dadurch bekannt gegeben, löl
ich hab eine account eingerichtet webX da läuft die datenbank

in welcher log soll ich nachschauen ich habe mal die mysql.err geöffnet aber dort ist nix drin..????

mfg
dereine
 
dereine said:
moin moin

wenn ich den befehl von Thorsten einegebe kommt folgende meldung:

Code:
Error 1045: access denied for user: 'root@localhost' (using password: no)

so meine frage kann darin ein zusammen hang bestehen
und wie kann ich dann diese problem lösen ???

mfg
dereine

Hallo!

Wenn Du den Befehl von Thorsten eingegeben hättest, dann würdest Du nie diese Fehlermeldung bekommen, denn dieser prüft nur, ob der mySQL-Prozess überhaupt läuft.

Aber bei Dir läuft zumindest schonmal mySQL, denn sonst hättest Du diese Fehlermeldung hier bekommen:
Code:
ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

Das Problem liegt einfach darin, dass Du hier kein Passwort angegeben hast.

Versuch's mal so:

Code:
mysql -uBenutzername -pPasswort
also z.B.
Code:
mysql -uroot -pxyz123

Wenn das klappt hast Du eine Verbindung (Connect) zur mysql-Datenbank hergestellt und kannst die mysql-Konsole wieder mit "quit" verlassen.

Falls Du mit einem anderen Benutzer anstatt root in dem PHP-Skript eine Verbindung aufbaust, versuche nochmal die Konsole mit diesen Daten zu starten.

Gruß
tim
 
wenn ich dein befehl eingebe und die daten dort rein schreibe
dann funk dat aber wenn ich es mit einem php-script aufrufen will
den script mit awstats
dann kommt folgende fehlermeldung:

Code:
Fatal error: call to undefined function: mysql connenct

und noch eine fehlermeldung:

Code:
Error: could open server log file  /var/log/httpd/mylog.log

mfg
dereine
 
per hand hier reingeschrieben ??

copy und paste kenn ich nicht löl :confused: :o
 
Heisst das, "ja ich habe es per Copy & Paste (Kopieren & Einfügen) hier ins Board übertragen"?

tim
 
dereine said:
Code:
Fatal error: call to undefined function: mysql connenct

Um nicht um den heißen Brei herumzureden...
tim hat nur gefragt, ob connect von dir falsch geschrieben wurde, oder ob es tatsächlich als connenct im Script steht.
 
Ok, dann können wir den Schreibfehler wohl als Fehlerquelle ausschliessen.


Schau mal bitte per "php --version" welche Version Du da bei Dir hast.

Gruß
tim

p.s.: Man kann bei Putty mit der Maus Text markieren, der befindet sich dann automatisch im Zwischenspeicher und kann dann per "Einfügen"/STRG+V woanders eingefügt werden. Zum Einfügen in Putty einfach rechte Maustaste klicken.
 
Folgenden Code mal in einer phpmodules.php Datei auf dem Server speichern.

PHP:
<?php

   ob_start();

   phpinfo(INFO_MODULES);    
   
   $string = ob_get_contents();
   ob_end_clean();    
   
   $pieces = explode("<h2", $string);
   
   $settings = array();
   
   foreach($pieces as $val)
   {
       preg_match("/<a name=\"module_([^<>]*)\">/", $val, $sub_key);
       
       preg_match_all("/<tr[^>]*>
                                           <td[^>]*>(.*)<\/td>
                                           <td[^>]*>(.*)<\/td>/Ux", $val, $sub);
       preg_match_all("/<tr[^>]*>
                                           <td[^>]*>(.*)<\/td>
                                           <td[^>]*>(.*)<\/td>
                                           <td[^>]*>(.*)<\/td>/Ux", $val, $sub_ext);
                               
       foreach($sub[0] as $key => $val)
       {
           $settings[$sub_key[1]][strip_tags($sub[1][$key])] = array(strip_tags($sub[2][$key]));
       }
       
       foreach($sub_ext[0] as $key => $val)
       {
           $settings[$sub_key[1]][strip_tags($sub_ext[1][$key])] = array(strip_tags($sub_ext[2][$key]), strip_tags($sub_ext[3][$key]));
       }                
               
   }

   
   echo "<pre>";
   print_r($settings);

?>

Dann im Putty "php -f phpmodules.php > x" eingeben.
Datei-Inhalt von x (nach vorheriger Entfernung sensitiver Daten) hier posten.

Gruß
tim
 
Last edited by a moderator:
Back
Top