| |
1. was hast Du Dir denn für ein php/linux installiert?
2. Du musst dringend damit aufhören schlechte Übersetzungssoftware zu verwenden. So versteht die Fehlermeldung ja kein Mensch.. 
3. oder so 
4. Sorry mein sohn war nicht da - der kann englisch aber kein php
das ist nicht mein server (provider) hier Phpinfo
hier das orginal: Warning: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /mnt/ls2/03/732/00000018/htdocs/auktion/includes/sessions.inc.php on line 66
Warning: MySQL Connection Failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /mnt/ls2/03/732/00000018/htdocs/auktion/includes/sessions.inc.php on line 66
Warning: MySQL: A link to the server could not be established in /mnt/ls2/03/732/00000018/htdocs/auktion/includes/sessions.inc.php on line 66
5. womöglich ist das unix-socket woanders angelegt worden, wie unter dem zweiten link beschrieben - oder mysql komplett ohne unix-socket gestartet worden http://www.mysql.com/doc/de/Can_not_connect_to_server.html http://www.mysql.com/doc/de/Problems_with_mysql.sock.html
in der php.ini gibt es einen AbschnittZitat: ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. mysql.default_socket =
mysql.default_socket muss auf den Wert von mysql eingestellt werden. Wahlweise können die php-Skripte auch so umgeändert werden, dass kein lokaler Verbindungsaufbau per unix-socket versucht wird. Dazu einfach die IP-Adresse des Rechners im Skript angeben (nicht 127.0.0.1) also z.B. $dbConn = mysql_connect('192.168.0.1', ...); statt $dbConn = mysql_connect('localhost', ...);
6. sorry (lauter experten) ich verstehe nur bahnhof
habe das im fehler erwähnde script mal als txt ab gespeichert [url]http://www.scandal-no-1.de/sessions.txt[/url]
7. ich weiß nicht ob es daran liegt..... aber ich bekomme diese fehlermeldung immer dann, wenn bei meinem provider ein problem vorliegt, d.h. der mysql-server noch nicht oder nicht mehr gestartet ist. könnte also auch daran liegen
8. Anscheinend wird die Verbindung zum mysql-Server garnicht explizit aufgebaut, sondernZitat: $query = "SELECT * FROM sessions WHERE id='$sessionID'"; $result = mysql_query ($query);
durch mysql_query die Standardverbindung geöffnet. Dazu sagt die Doku von mysql_query() und mysql_connect(): http://de3.php.net/manual/de/function.mysql-query.php[/quote] Wird die Verbindungs-Kennung nicht angegeben, wird die zuletzt geöffnete Verbindung angenommen. Wenn keine offene Verbindung besteht, wird versucht eine Verbindung aufzubauen, wie beim Aufruf von mysql_connect() ohne Argumente und diese wird dann benutzt. Das Ergebnis der Anfrage wird gepuffert.[/quote] http://de3.php.net/manual/de/function.mysql-connect.phpZitat: Für fehlende optionale Parameter werden folgende Standardwerte angenommen: Server = 'localhost:3306', Benutzername = Name des Benutzers dem der Server-Prozess gehört und Benutzerkennwort = leeres Kennwort.
also Verbindung zu localhost, also wird unter linux erstmal versucht, die Verbindung über das unix-socket zuerstellen. Klappt das nicht, sollte php es eigentlich danach nochmal per tcp/ip probieren. Funktioniert denn der Rest des Skriptes, nur die Ausgabe der Warnung stört?
Der Rechner hat doch sicherlich eine IP im internen Netzwerk. Mal angenommen, das ist die 192.168.0.1 Dann kann man das Skript umschreiben zu Code: In Zwischenablage kopieren (nur IE)
und php wird nicht mehr versuchen, die Verbindung per /tmp/mysql.sock aufzubauen (afaik)
9. Ja das script funzt einwandfrei nur ganz unten steht nach einstellen eines artikels die fehlermeldung (sieht nartürlich schei..e aus - da das teil bei einem provider liegt kann ich eigentlich nicht verstellen (habe schon überlegt ob er irgend was nicht richtig an das seesions-script weiter gibt. ich habe das script bei 2 verschiedenen provider liegen und beide bringen die fehlermeldung -
oh wenn ich nur mehr ahnung hätte
10. dann versuch es mal mit: $dbConn = @mysql_connect(); $query = "SELECT * FROM sessions WHERE id='$sessionID'"; $result = mysql_query($query, $dbConn) or die(mysql_error());
und tritt dem Provider auf die Füße - Fehlkonfiguration.
11. und kommt das in das sessions.php oder in das teil wo es auf ruft und was kommt weg
12. hm, am einfachsten (ohne Nachdenken) ist es, wenn Du $dbConn = @mysql_connect(); mal am Anfang des Skripts ausprobierst, also Code: In Zwischenablage kopieren (nur IE)
aber in diesem Fall nicht $result = mysql_query($query, $dbConn)verwenden, sondern den Rest einfach so lassen, wie es ist.
13. War nicht da (arbeit) funzt nicht kommt immer noch das selbe
14. Zitat: VolkerK postete also Verbindung zu localhost, also wird unter linux erstmal versucht, die Verbindung über das unix-socket zuerstellen.
Bist Du dir da sicher? Ich würde eher sagen, daß hier auch ein PF_INET Socket verwendet wird, kein PF_UNIX. Oder ist der String 'localhost' an der Stelle magisch?
15. sorry ich weiss nicht genau was du meinst - wenn du meinst das der fehler immer an der gleichen stelle kommt, dan ist das so, er kommt nur bei der beim einstellen eines artikels - nach der fehler meldung ist aber alles korrekt erledigt. . die sessions.php wird aber schon bei allen anderen funktionen benutzt .
16. @Telefonmann: jepp, 'localhost' ist magisch an dieser Stelle http://www.mysql.com/doc/de/Can_not_connect_to_server.htmlZitat: Unix-Sockets werden benutzt, wenn Sie keinen Hostnamen oder den speziellen Hostnamen localhost angeben.
und die php-extension ändert das Verhalten an dieser Stelle nicht.
@peter pan: tritt dem provider ordentlich auf die Füße - das ist eigentlich wirklich nicht Dein Problem. das @ vor einem php-statement schaltet die Fehlerausgabe für genau diese statement ab. Du kannst es also auch mal mit @mysql_query überall im Skript versuchen - es werden dann aber auch keine anderen Warnungen an dieser Stelle ausgegeben.
17. der fehler kommt glaube ich vom script - voher lief es wurden ein paar neuerungen eingebaut beim einstellen
|
|