hallo :),
Ich versuche bei mir vergeblich folgende Kombination zum laufen zu bringen:
Apache + PHP 4.1.1 (cgi) + MySql
Dazu bin ich folgendermassen vorgegangen: + Apache war schon installiert + MySql war schon vorinstalliert
PHP Sourcen geladen und das ganze kompiliert (ohne besondere Parameter, einfach ./configure;make;make install). Danach das php binary nach /usr/lib/cgi-bin verschoben, die http.conf angepasst(LoadModule action_module... entkommentiert, AddType application/x-httpd-php... entkommentiert, Action application/x-httpd-php... eingefuegt, LoadModule php4_module... auskommentiert - immerhin soll ja das cgi greifen)
Ok erster Test: Das PHP-Script laeuft. Aber: "Warning: Can't connect to local MySql Server through Socket: '/tmp/mysql.sock'...
Hmm. Klar, immerhin kann das cgi, im Gegensatz zum Modul nicht vor dem changeroot(/home/server/web/) des Apachen den Socket abgreifen. Okay neuer Versuch: in der entsprechenden /etc/mysql/mysql.cnf skip-networking auskommentiert, Port war schon auf 3306 gesetzt. Jetzt sollte das php-cgi doch auf den TCP/IP port zugreifen nicht auf den UNIX-Port.
Wieder gestartet. Gleiches Ergebniss. (Warum versucht er immer noch auf den UNIX-Socket zuzugreifen?) Ueberrascht, denn: lsof -i zeigt mir keinen MySql als Internet Server.
Was mache ich falsch?
gruessend Wolfgang
<disclaimer> Fuer alle die sich jetzt fragen warum ich denn eine aeltere Version von PHP als CGI und auch noch eine als unsicher klassifizierte Version benutzen will: Das ist genau die Konfiguration die bei Puretec laeuft. Sobald die Verbindung wunschgemaess funktioniert kann ich das cgi ja immer noch in ein VirtualDirectory in dem es dann laeuft und alle sind gluecklich :).</disclaimer>
Hallo,
Aber: "Warning: Can't connect to local MySql Server through Socket: '/tmp/mysql.sock'...
Ich glaube, daß hier der MySQL- Server nicht richtig gestartet ist. Versuche mal folgendes:
$ mysql
Dann müsste eigentlich der MySQL- Prompt zu sehen sein! Wenn nicht, ist der Server nicht am Start, dann versuchen das Ding so zu starten:
$ cd /usr/local/mysql $ cd . ; ./bin/mysqld_safe -user=xxx &
Vorraussetzung: Der MySQL- Server liegt unter /usr/local und Du verwendest die aktuelle MySQL- Version, irgendwas um die 4.x Für xxx setzte auf jeden Fall Deinen mysql-user!
Ich hoffe das hilft weiter! Ahoi Bernd!
Hallo Bernd :),
Aber: "Warning: Can't connect to local MySql Server through Socket: '/tmp/mysql.sock'...
Ich glaube, daß hier der MySQL- Server nicht richtig gestartet ist. Versuche mal folgendes:
$ mysql
Nein der MySql-Server laeuft problemlos. Wenn ich das CGI wieder entferne und das Modul verwende klappt alles anstandslos. Er startet auch als richtiger User (Debian-ueblich als root) und auch im richtigen dir (wiederrum Debian-ueblich in /usr/sbin). Die Angaben die du beschreibst beziehen sich wahrscheinlich auf deine SuSE Einstellungen - die aber bis auf diese "kleinen" Aenderungen nicht weiter anders haben sollten.
Vorraussetzung: Der MySQL- Server liegt unter /usr/local und Du verwendest die aktuelle MySQL- Version, irgendwas um die 4.x
Oha. Verzeih mir bitte, dass ich nicht die aktuelle Development-Version von MySQL verwende :). Scherz beiseite: ich verwende die 3.23.52 die im Debian-Sid zur Verfuegung gestellt wird, nach einem Blick in die Changelist zur aktuellen 3.23.53 habe ich nichts gefunden dass auf den ersten Blick nach einem Grund fuer meinen Fehler hindeutet.
Ich muss irgendwo anders einen gravierenden Fehler gemacht haben.
Gruessend Wolfgang
Hallo Wolfgang,
Aber: "Warning: Can't connect to local MySql Server through Socket: '/tmp/mysql.sock'...
Also ich hatte das selbe Problem, aber eben auch schon unter der Konsole. Da ich die ganze Geschichte mit den Distributionseigenen Mitteln nicht lösen konnte, bin ich auf die allgemeine Lösung umgestiegen: http://www.mysql.com. Besorge Dir dort mal die Quellen für den Server, die sind relativ gut dokumentiert, ganz im Gegensatz zu den Distri- Sachen! Folgende Dinge solltes Du aber auf jeden Fall noch mal nachsehen: Läuft Dein ApacheServer auch mit den für PHP benötigten Dynamic Modulen? Ansonsten auch hier die Quellen besorgen und neu installieren, weil ja jetzt auch die neue 2.0.36 Version da ist. Wenn nicht, mußt Du das ganz dringend ändern! Ansonsten bin ich hier mit meinem Latain am Ende!
Ich hoffe das hilft Dir weiter! Bernd!
Hallo Bernd,
MySql laeuft jetzt im Netz (frag mich bitte nicht wie - skip-networking war auch gestern schon disabled. und ich bekomme den vorherigen Zustand nicht mehr reproduziert) und sofort funktionierte mein Test-Script wie es sollte. Naja zumindest nachdem ich mit neuen Grant's in der datenbank nochmal nachgeholfen hatte.
Trotzdem danke fuer deine Tips.
gruessend Wolfgang
lug-dd@mailman.schlittermann.de