Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP <--> MySQL | brauche Hilfe


MiamiNice
2006-02-14, 16:55:14
Hallo zusammen,
ich habe hier ein unfangreiches HP-Projekt und brauche dringend Hilfe:

Ich habe einen Server im Net auf dem eine Webseite und ein Shop läuft.
Die Seite ist soweit ich das beurteilen kann, so ziemlich komplett in PHP geschrieben. Programmiert wurde die Seite von einem Programmmierer der nicht mehr zu erreichen ist.

Das Problem ist jetzt, das ich an der Seite ein paar Verändereungen vornehmen will. Dazu würde ich ganz gerne den Server local ans laufen bekommen damit ich änderungen in den Datein erstmal ausprobieren kann.

Der I-Net Server ist eine SUSE 9.3 Maschiene, also habe ich mir auf einen localen PC eine Suse installation (Textmodus mit SQL-Server + Apache 2) eingerichtet.
Danach habe ich die Webseite (also das unter htdocs) in den localen Htdocs Ordner geschoben. Dann habe ich im SQL-Server den selben Benutzer angelegt wie er im Web ist, natürlich mit dem selben Passwort. Dann habe ich eine Sicherung derSQL Datenbank gemacht und diese Local wieder eingespielt.

Meiner Ansicht nach müsste es jetzt schon alles gewesen sein, aber denkste :). Die Internet-Seite tut es ohne Probleme aber wen ich in den Shop will bekomme ich nur noch weisse Seiten.
Die Seite kommt ohne SQL aus der Shop ist SQL pur.

Meiner Meinung nach stimmt irgendwas mit den Sockets nicht (hab davon auch 0 Ahnung) , den der User sowie das Passwort passen.

In einer der PHP Datein wir ein Socket definiert und zwar eine mysqld.sock, diese Datei gibt es aber auf dem System nicht.Ich bekomme nur ein "kann nicht connecten" zu sehen. Es gibt eine mysql.sock, doch wen ich in der PHP auf diese mysql.sock verweise bekomme ich nur noch einen weissen Bildschirm bei SQL abfragen.

Die Datei sieht so aus:

define("DB_SOCKET", "localhost:/var/run/mysqld/mysqld.sock");
define("DB_NAME", "4711");
define("DB_USER", "4711");
define("DB_PW", "4711");


Den User gibt es, das Pass hat er auch, aber die Datei gibt es auf dem Rechner nicht. MySQl läuft aber auf jeden Fall. Ich kan per Webmin oder PhpMyAdmin in den Tabellen "surfen".

Nachdem das alles nicht gekappt hat, habe ich es mit dem XAMPP Packet (für Windows) versucht. Erfolg war der selbe. Webseite tut es aber irgendwie haut die Verständigung zwischen Seite und SQL nicht hin.


Was ich auch net verstehe ist, das in der einen Datei eine Mysqld.sock definiert wird und in einer anderen heisst es aufeinmal so:

if (!defined("DB_NAME")) define("DB_NAME", "");
if (!defined("DB_USER")) define("DB_USER", "");
if (!defined("DB_PW")) define("DB_PW", "");
if (!defined("DB_SOCKET")) define("DB_SOCKET", "localhost:/tmp/mysql.sock");

Das verweist definitiv auf eine andere Datei!

Ist hier jemand im Forum der mir den Unterschied zwischen den beiden Datein erklären kann?
Weiss jemand wo mein Denkfehler liegt?
Bin für jede Hilfe dankbar.

MfG

noid
2006-02-14, 20:58:10
http://dev.mysql.com/doc/refman/4.0/de/can-not-connect-to-server.html

?

edit: hieraus ist ersichtlich, dass es unter windows mit dem ding nicht geht ,)

MiamiNice
2006-02-14, 22:36:05
http://dev.mysql.com/doc/refman/4.0/de/can-not-connect-to-server.html

?

edit: hieraus ist ersichtlich, dass es unter windows mit dem ding nicht geht ,)


OK. Windows war auch nur ein Versuch. Auf der Linux Maschiene läuft es auch nicht.

MfG

The_Invisible
2006-02-14, 22:37:27
probiers doch mal ohne socket, also mit "localhost" oder "127.0.0.1", wenns dann funzt liegt der fehler definitiv am socket

hatte so ein ähnliches problem auch mal, da hatte der socket unzureichende rechte, setz mal testweise die rechte für den socket UND den übergeordneten Ordner auf "777" und probiers nochmal

btw
die eine Datei frägt nur ab ob die Konstanten dementsprechend definiert sind, wenn nicht werden eben default-werte gesetzt, die in diesem fall aber nur ins "nichts" zeigen

edit:
ansonsten schau mal ob vielleicht error_reporting(0); gesetzt ist und so fehlermeldungen unterdrückt, wenn ja ausdokumentieren oder error_reporting(E_ALL); setzen

mfg

MiamiNice
2006-02-14, 22:41:47
Das werde ich morgen sofort mal testen.
Kannst Du mir den unterschied zwischen der Datei mysqld.sock und mysql.sock erklären?

The_Invisible
2006-02-14, 22:55:33
Das werde ich morgen sofort mal testen.
Kannst Du mir den unterschied zwischen der Datei mysqld.sock und mysql.sock erklären?

mir ist nur die mysqld.sock (das d weist auf einen Daemon Prozess hin was MySQL eigentlich ja immer ist) bekannt, diese wird in der MySQL Konfiguration konfiguriert

ich würde mal in der Konfig schauen wie es dort steht, bei Gentoo heißt es aber standardmäßig mysqld.sock und befindet sich im /var/run/mysqld/ verzeichnis

mfg

MiamiNice
2006-02-14, 23:12:35
ich habe mir jetzt mit dem befehl "lsof -U | grep mysql" den ort des socket anzeigen lassen und in der php den pfad angepasst.

ergebnis: weisse seiten :(

DR.DEATH
2006-02-17, 03:56:54
Auch wenn ich nicht so ganz verstehe wozu man den Socket dort braucht aber hat deine PHP Version ueberhaupt die Module fuer MySQL geladen bzw. ist MySQL Support einkompiliert?

/dev/NULL
2006-02-17, 11:57:21
Wenn Du mit phpmyadmin in den Tabellen surfen kannst nimmst Du einfach exakt die einstellungen (config.inc.php?) üfr die DB und benutzt einfach die Werte anstelle der die im Shop stehen.