shadow377
Goto Top

Unter Suse Linux Enterprise Server 10 kein Verbindung zu MySQL möglich

Ich habe einige PHP Skripte, die bereits erfolgreich unter Win XP mit XAMPP getestet wurden, nun sollen diese auch auf Suse Linux Enterprise Server laufen. Apache, PHP und MySQL wurden bereits installiert, obwohl ich nicht gerade ein Linux Profi bin sollte es so weit funktionieren:
MySQL ist über die Shell verfügbar und funktioniert auch, PHP ansich wurde auch getestet und da auch das geklappt hat dürfte auch der Apache so weit in Ordnung sein.
Das Problem wurde so weit eingegrenzt, dass die Funktion mysql_connet() als Ursache angenommen werden kann. Ein echo direkt vor ihr wird noch ausgegeben, weiter kommt er dann allerdings nicht mehr. Die Daten sind so weit ok, und eigentlich hat es ja auch schon geklappt unter Win XP, darum wundert es mich, dass es unter Linux nicht funktioniert.
Gibt es unter Linux andere Schreibweisen oä die beachtet werden müssen? Dies ist für mich das erste Mal, dass ich mich mit MySQL und PHP unter Linux beschäftige, weshalb ich auf keine Erfahrungswerte etc zurückgreifen kann.

Content-Key: 63827

Url: https://administrator.de/contentid/63827

Printed on: April 18, 2024 at 16:04 o'clock

Member: Dani
Dani Jul 14, 2007 at 18:00:34 (UTC)
Goto Top
Hallo,
Das Problem wurde so weit eingegrenzt, dass die Funktion mysql_connet() als Ursache
angenommen werden kann.
Na ist doch prima...dann lass uns doch bitte diesen Ausschnitt deines PHP-Scripts sehen.


Grüße
Dani
Member: Unrealfighter
Unrealfighter Jul 14, 2007 at 18:47:11 (UTC)
Goto Top
und wichtig wäre zu wissen welche apache, php und mysql versionen haben die von xampp und welche auf dem server

und bist du dir sicher das der richtige mysql server angesprochen wird?

versuch doch mal bitte folgendes skript:
http://www.drweb.de/programmierung/mysql_2.shtml

und poste dann mal die ausgabe von dem skript

greetz
chris
Member: Shadow377
Shadow377 Jul 16, 2007 at 07:44:40 (UTC)
Goto Top
Danke für die Antworten. Ich habe mal das Skript von Unrealfighter (Christian) probiert, dabei passiert genau das selbe wie bei unserem, nämlich garnix. Keine Verbindung zur Datenbank, kein Error und die Ausgabe beschränkt sich auf alles, was nur PHP ist und nix mit MySQL zu tun hat und vor dem connect ist..

Wie gewünscht ist hier unsere Variante des connect:
MYSQL_CONNECT($host,$user,$pwd) or die("kann nicht zur DB verbinden");  
echo "Connect ok <br>";  

mysql_select_db($db) or die("Fehler:".mysql_error());  
//echo "Select ok <br><br>";*/ 

Die Variablen $host, $user, $pwd und $db wurden gesetzt, unter Windows hat wie erwähnt auch alles geklappt. Es erfolgt übrigens weder die Ausgabe "Connect ok", noch "kann nicht zur DB verbinden; die() wird also nicht aufgerufen und das connect klappt offenbar auch nicht.
Eine bisher unbestätigte Vermutung ist, dass beim Passwort etwas schiefgeht: Für den Benutzer root unter Linux wurde ein Passwort gesetzt, für den Benutzer root unter MySQL bis jetzt noch nicht (weder unter Linux, noch unter Windows). Dass das unsicher ist, ist uns bewusst, allerdings wollten wir die Testumgebung möglichst einfach halten. Interessant ist, wie ich finde, dass sich Linux in der Shell OHNE weiter Passwortabfrage als MySQL root einloggt wenn man zu diesem Zeitpunkt als root arbeitet; möglicherweise geht hier etwas schief?

Versionsnummern:
Linux: Apache 2.0, MySQL 5.0.18, PHP 5.1.2
Xampp(Windows): Apache 2.0, MySQL 5.0.24a, PHP 5.1.6

[edit]
Das Error Logfile des Apache Servers lieferte bei der Betreffenden Datei folgende Fehlermeldung:
[Fri Jul 13 10:57:48 2007] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function mysql_connect() in /srv/www/htdocs/x/connect.php on line 8, referer: http://localhost/x/start.php
Weiters wurde noch php5-zlib nachinstalliert, allerdings ebenfalls ohne Erfolg.
[/edit]
Member: Unrealfighter
Unrealfighter Jul 16, 2007 at 16:04:35 (UTC)
Goto Top
hat die Datei "/srv/www/htdocs/x/connect.php" genug rechte um gelsen zu werden?

prüfe das mal bitte
Member: Shadow377
Shadow377 Jul 18, 2007 at 19:40:45 (UTC)
Goto Top
Danke für deine Antwort. Die Zugriffsrechte ansich habe ich nicht extra überprüft, allerdings sollten diese richtig gesetzt sein, da ein echo vor mysql_connect() erfolgreich ausgeführt werden kann.
Da es sich auch um keinen produktiven Server handelt, sondern eigentlich nur zum Kennenlernen und Ausprobieren unter Linux gedacht war und das Ganze auf dem Server, wo es endgültig hinkommt auch funktioniert hat es sich für mich erledigt.
Wäre zwar interessant gewesen warum es nicht geklappt hat, da ich mein Praktikum allerdings so gut wie beendet habe und das Projekt als abgeschlossen gilt ist für mich nicht mehr die Dringlichkeit da, es unbedingt zum Laufen bringen zu müssen..

@mods: Auch wenn sich das Thema für mich persönlich erledigt hat, werde ich den Status dennoch auf ungelöst lassen, da dabei ja eventuell noch was produktives rauskommt und vielleicht mal wem anderen hilft. Falls nach Meinung des Teams der Beitrag als gelöst angesehen und der Status geändert wird, ist mir das ebenfalls recht.

Danke nochmals für die Hilfe, das hier ist ein qualitativ sehr hochwertiges Forum, die Reaktionszeiten sind super und das Niveau hier finde ich echt gut. Weiter so, hier kommt man gerne her.