PHP CLI 4.34 mit MySQL Support?

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
ian
Beiträge: 16
Registriert: 05.12.2003 22:27:42

PHP CLI 4.34 mit MySQL Support?

Beitrag von ian » 05.12.2003 22:37:20

Hallo,
Totaler Linux Newbie am Keyboard, also Achtung ;-)

Habe einen Mailserver gekauft, auf den ich per Rootzugriff per SSH habe, PHP war dort beim Kauf nur auf Version 4.12. Nach mehreren Stunden Suchen stieß ich auf dieses Forum und habe http://debian.moolfreet.com/ in die sources.list eingetragen und per apt-get install php-cgi und php aktualisiert (sollten beide 4.34 sein), php4-mysql ist auf dem aktuellesten Stand.

Apache und der Server wurden neugestartet, jetzt tritt folgendes Problem auf:
Mein Skript, von der CL aufgerufen, beschwert sich darüber, dass die Funktion mysql_connect nicht gefunden wurde (=> wohl kein MySQL Support bei php-cgi dabei), phpMyAdmin im Web funktioniert jedoch noch bestens.

Kann mir jemand helfen?
Edit: Wie ich eben merkte, wird das php4-cgi ausdrücklich ohne MySQL kompiliert - hab im php.ini jetzt MySQl reingeschrieben, geht.

Danke & Grüße, Ian

mundaun
Beiträge: 29
Registriert: 13.10.2002 11:37:24
Wohnort: CH
Kontaktdaten:

Re: PHP CLI 4.34 mit MySQL Support?

Beitrag von mundaun » 06.12.2003 00:37:44

Hallo,
ian hat geschrieben:Totaler Linux Newbie am Keyboard, also Achtung ;-)
Dann nimm mir bitte nicht übel, wenn ich Dich korrigiere:
ian hat geschrieben:Habe einen Mailserver gekauft, auf den ich per Rootzugriff per SSH habe, PHP war dort beim Kauf nur auf Version 4.12. Nach mehreren Stunden Suchen stieß ich auf dieses Forum und habe http://debian.moolfreet.com/ in die sources.list eingetragen und per apt-get install php-cgi und php aktualisiert (sollten beide 4.34 sein), php4-mysql ist auf dem aktuellesten Stand.
Du meinst wohl eher PHP 4.3.4! PHP 4.34 wirds wohl nie geben...
ian hat geschrieben:Mein Skript, von der CL aufgerufen, beschwert sich darüber, dass die Funktion mysql_connect nicht gefunden wurde (=> wohl kein MySQL Support bei php-cgi dabei), phpMyAdmin im Web funktioniert jedoch noch bestens.
Du hast das Problem ja anscheinend bereits lösen können, aber hier nur nochmal, damit das wirklich klar ist:

php4 (Apache Modul) und php4-cgi (CLI) verwenden separate Config-Files! Beide liegen in /etc/php4.

Gruss - michael

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 11:44:50

Ich glaube ich habe das slebe Problem, meine Datenbank wird irgendwie nicht gefunden.

Was muss ich den wo genau reinschreiben ?
Bin ein Newbie und würde mich freuen, wenn ich dazu Infors bekomme.

danke.

mundaun
Beiträge: 29
Registriert: 13.10.2002 11:37:24
Wohnort: CH
Kontaktdaten:

Beitrag von mundaun » 09.12.2003 12:17:38

apt-get install php4-mysql

Danach die Frage (ob die Extension automatisch in php.ini eingetragen werden soll) mit Ja beantworten.

Danach Apache neustarten und es läuft.

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 12:35:57

Habe ich schon gemacht,
da kommt die Meldung, dass ich die neueste Version habe.

Dann /etc/apt/apache reload

aber es geht nichts mehr.

Wie kann ich die MySql prüfen, ob diese noch da ist ?
Denn phpmysql wird auch nicht mehr angezeigt.

Gruß Michael

mundaun
Beiträge: 29
Registriert: 13.10.2002 11:37:24
Wohnort: CH
Kontaktdaten:

Beitrag von mundaun » 09.12.2003 13:14:13

Was sagt

Code: Alles auswählen

grep -r mysql.so /etc/php4/
Gruss - michael

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 13:18:28

Das sagt folgende

Code: Alles auswählen

/etc/php4/apache/php.ini:extension=mysql.so
Gruß Michael

mundaun
Beiträge: 29
Registriert: 13.10.2002 11:37:24
Wohnort: CH
Kontaktdaten:

Beitrag von mundaun » 09.12.2003 13:32:07

Michael führt Selbstgespräche ;-)

OK, das scheint richtig zu sein. Was genau bekommst Du als Fehlermeldung?

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 13:37:28

Nach einem Restart von mysql kommt folgendes:

Code: Alles auswählen

Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld...failed.
Zugriff auf Confixx nicht mehr möglich.

Code: Alles auswählen

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/confixx/html/functions.inc.php on line 311
Verbindung zur Datenbank fehlgeschlagen!
Irgendwie ist meine Datenbank evtl. was dran faul.
Gruß michael

mundaun
Beiträge: 29
Registriert: 13.10.2002 11:37:24
Wohnort: CH
Kontaktdaten:

Beitrag von mundaun » 09.12.2003 13:48:46

Logfiles? Das alles sagt noch etwas wenig aus...

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 13:49:49

Was genau muss ich tun, damit ich mehr informationen erhalte ?

in der httpd.conf steht folgendes bei PHP4 drin

Code: Alles auswählen

Stopping MySQL database server: mysqld. 
Starting MySQL database server: mysqld...failed. 
Hier mal Beispiele:
PHP-Info
http://web2.server1.schwabenhosting.de/ ... hpinfo.php

Beim Zugriff auf Confixx erscheint

Code: Alles auswählen

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/confixx/html/functions.inc.php on line 311
Verbindung zur Datenbank fehlgeschlagen!
Zuletzt geändert von clemenz am 09.12.2003 13:51:58, insgesamt 1-mal geändert.

Benutzeravatar
Rebell
Beiträge: 997
Registriert: 14.01.2003 20:36:53
Wohnort: Dresden

Beitrag von Rebell » 09.12.2003 13:51:50

Ok, nochmal. Mit dem Befehl "tail -f /var/log/mysql/mysql.err" schaust du am Ende der Log-Datei nach. In dieser schreibt der MySQL Server also seinen Status und die Fehlermeldung wenn etwas mit dem Server nicht stimmt.

Dein PHPMyAdmin kann nicht funktionieren weil er keine Verbindung zum Server bekommt.

Also mach nun folgendes:

1. Melde dich am System an (Benutzernamen und Passwort eingeben).
2. Mach ein su und gib das Passwort von root ein.
- nun bist du als root angemeldet -

3. Gib folgendes ein und lasse es danach unverändert.

Code: Alles auswählen

# tail -f /var/log/mysql/mysql.err
4. Drücke nun STRG+ALT+F2 und öffne eine 2te Konsole.
5. Melde dich erneut an, mach erneut ein su und melde dich als root an.
6. Gib nun folgendes ein:

Code: Alles auswählen

# /etc/init.d/mysql restart
Dann erhälst du die Meldung:

Code: Alles auswählen

Stopping MySQL database server: mysqld. 
Starting MySQL database server: mysqld...failed. 
7. Drücke nun wieder STRG+ALT+F1 um zur 1ten Konsole zu gelangen. Du müsstest nun unter deinem eingegebenen tail-Befehl eine Ausgabe des MySQL-Server erhalten haben.
8. Poste diese Ausgabe bitte hier.
come to daddy, windowlicker!
get m:ke - http://get-mike.de

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 13:55:09

Verstanden aber ich kann nicht auf die zweite konsole schalten

Code: Alles auswählen

^[^[[12~
Bin aber von vornherein als root angemeldet

Liegt dies am Zugang ?
Ich setzte Putty ein !

Benutzeravatar
Rebell
Beiträge: 997
Registriert: 14.01.2003 20:36:53
Wohnort: Dresden

Beitrag von Rebell » 09.12.2003 14:12:04

Dann musst du das Programm putty 2mal starten. Ich dachte du sitzt direkt vor dem Rechner.
come to daddy, windowlicker!
get m:ke - http://get-mike.de

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 14:22:13

Habe ich nun gemacht aber da erscheint nu dies sobald ich tail gestartet habe

Code: Alles auswählen

031209 10:36:28  mysqld ended



Sonst leider nichts.

Wo ich das Update / Upgrade gemacht habe von
http://debian.moolfreet.com ./
wurde auch irgendwas von LILO installiert und ich solle das System neu Booten, was ich auch schon gemacht habe.
Evtl. liegt es auch irgendwie an dem.

Wie kann ich z.B. alles wieder deinstallieren, was heute gemacht wurde ?
Dann hätte ich den Stand von Gestern wo noch alles ging.

Oder kann man die Datenbank neu aufsetzten, so das jedoch noch Confixx richtig läuft ?
wenn die Kundendatenbanken weg wären, wäre es vorerst nicht ganz so schlimm.


Gruß Michael

Benutzeravatar
Rebell
Beiträge: 997
Registriert: 14.01.2003 20:36:53
Wohnort: Dresden

Beitrag von Rebell » 09.12.2003 14:29:16

Ok, aber die Nachricht ist von heut Vormittag. Vielleicht ist das die falsche Logdatei.

Mach mal ein

Code: Alles auswählen

find /var/log -name "mysql"
und poste die Ausgabe.
come to daddy, windowlicker!
get m:ke - http://get-mike.de

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 14:34:40

Hier die Ausgabe

Code: Alles auswählen

/var/log/mysql

Benutzeravatar
Rebell
Beiträge: 997
Registriert: 14.01.2003 20:36:53
Wohnort: Dresden

Beitrag von Rebell » 09.12.2003 14:51:06

Oh sorry, es müsste heißen:

find /var/log -name "mysql*"

(also mit dem Sternchen)
come to daddy, windowlicker!
get m:ke - http://get-mike.de

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 14:57:59

Dann erhalte ich so einiges:

Code: Alles auswählen

/var/log/mysql.log
/var/log/mysql
/var/log/mysql/mysql.err
/var/log/mysql/mysql.err.1.gz
/var/log/mysql/mysql.err.2.gz
/var/log/mysql/mysql.err.3.gz
/var/log/mysql/mysql.err.4.gz
/var/log/mysql/mysql.err.5.gz
/var/log/mysql/mysql.err.6.gz
/var/log/mysql/mysql.err.7.gz
/var/log/mysql.log.2.gz
/var/log/mysql.log.3.gz
/var/log/mysql.log.5.gz
/var/log/mysql.log.4.gz
/var/log/mysql.log.6.gz
/var/log/mysql.log.7.gz
/var/log/mysql.log.1.gz
Sind das die letzten Änderungen. Wenn man da noch ein Datum hätte.
Gruß Michael

Benutzeravatar
Rebell
Beiträge: 997
Registriert: 14.01.2003 20:36:53
Wohnort: Dresden

Beitrag von Rebell » 09.12.2003 15:09:42

Wende den Tail-Befehl mal an der Datei /var/log/mysql.log an und starte den MySQL neu.
come to daddy, windowlicker!
get m:ke - http://get-mike.de

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 15:21:09

Habe ich gemacht.

Da kommt zwar bei starten von Fail mehr aber sonst auch nichts.

Code: Alles auswählen

ipx10355:/# tail -f /var/log/mysql.log
                  45404 Query       SELECT html, files, mysql FROM restore
                  45404 Query       delete from restore
                  45403 Quit
                  45404 Quit
031209 10:36:07   45405 Connect     Access denied for user: 'root@localhost' (Using password: YES)
031209 10:36:28   45406 Connect     debian-sys-maint@localhost on
                  45406 Quit
                  45407 Connect     debian-sys-maint@localhost on
                  45407 Query       SHOW VARIABLES LIKE 'pid_file'
                  45407 Shutdown
Michael

mundaun
Beiträge: 29
Registriert: 13.10.2002 11:37:24
Wohnort: CH
Kontaktdaten:

Beitrag von mundaun » 09.12.2003 15:25:59

Mein lieber Junge... Ich würde einfach das wieder rückgängig machen, was Du geändert hast!

Tips:
- Passwort in /root/.my.cnf (siehe /usr/share/doc/mysql-server/README.Debian)
- sicherstellen, dass debian-sys-maint nicht angefasst wurde

Liebe Grüsse
- michael

clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 15:27:33

Das würde ich auch gerne tun, nur wie ?
Ich schaue mal Deine Tips an.

Hoffe, dass da nicht so viel english drin ist, das ist ein Problem für mich.
Michael

mundaun
Beiträge: 29
Registriert: 13.10.2002 11:37:24
Wohnort: CH
Kontaktdaten:

Beitrag von mundaun » 09.12.2003 15:32:17


clemenz
Beiträge: 46
Registriert: 04.12.2003 11:16:49
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag von clemenz » 09.12.2003 15:38:30

Danke für den Link.

bei der neuinstallation sagt er ich habe schon die aktuelle Version.

Passwortänderung kommt folgendes:

Code: Alles auswählen

/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Also die Datei "sock(2)" gibt es in dem Verzeicnis nicht.

Irgendwie scheint alles drauf zu sein, aber es geht eben nicht.

Michael

Antworten