PEAR MDB2. Probleme in xampp?

Alles, was PHP betrifft, kann hier besprochen werden.

PEAR MDB2. Probleme in xampp?

Postby jorma » 20. April 2007 23:58

Also ich arbeite mit an einem Projekt, das MDB2 verwendet und auf der anderen Seite unter Linux geschrieben wird. Auf die Antwort mit den verwendeten Versionen muss ich leider noch warten, zwischenzeitlich fand ich in der Doku zu MDB2, dass PHP5.1.x momentan wohl die Obergrenze an Kompatibilität darstellt.. anfangs schob ich meinen Fehler also auf das eingesetzte 5.2.1, allerdings blieb der Fehler auch nach switch zu 4.4.6 bestehen.

Im Detail zu dem Problem, bevor ich es von xampp weg auf eine andere Fehlerquelle schiebe (vorab ging ein erfolgreiches pear install MDB2#mysql):

Code: Select all
<?php
  require_once 'MDB2.php';
  $dsn = 'mysql://root:tryit@localhost/projave';
  $options = array(
    'debug'       => 2,
    'portability' => DB_PORTABILITY_ALL,
  );
  $mdb2 =& MDB2::connect($dsn, $options);
  if (PEAR::isError($mdb2)) {
    die($mdb2->getMessage());
  }
  $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);
?>


Der Abschnitt stammt fast 1:1 aus der Doku und ein händischer login bzw. klassischer mysql_connect/select_db funktioniert wie gewünscht. MDB2 verweigert mir leider die Verbindung zur Datenbank mit einem schlichten
Code: Select all
MDB2 Error: connect failed


Ich versuche zwischenzeitlich mal einen connect via DB.php und MDB.php - auch wenn ich letztlich MDB2 nutzen muss, die Vorgabe kann ich nicht ändern. Ich fand zwar per Suche einen englischen Thread hier, der wohl dasselbe oder ein ähnliches Problem beschreibt, aber leider war dieser ohne Antwort bzw. Lösung versunken.

Aus dem MDB2 Wiki habe ich "Compatible with PHP 4.3.x upto 5.1.x" ... wie beschrieben habe ich leider weder noch einen connect herstellen können, hat jemand diese Erfahrung ebenfalls gemacht und weiss eventuell Abhilfe?
jorma
 
Posts: 6
Joined: 20. April 2007 23:18

Postby Wiedmann » 21. April 2007 00:38

Den MySQL Treiber hast du installiert?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: PEAR MDB2. Probleme in xampp?

Postby jorma » 21. April 2007 01:01

jorma wrote:(vorab ging ein erfolgreiches pear install MDB2#mysql)


Ja, MDB2 ist samt mysql Treiber installiert. Ich hatte es testweise auch mal ohne versucht, was dann natürlich direkt bemängelt worden war.
jorma
 
Posts: 6
Joined: 20. April 2007 23:18

Postby Wiedmann » 21. April 2007 01:38

MDB2 ist samt mysql Treiber installiert.

Hatte ich zwar schon fast vermutet, da sonst die Meldung AFAIK anders aussieht, aber fragen kostet ja nichts *g* (und den Fehler machen manche beim XAMPP)

anfangs schob ich meinen Fehler also auf das eingesetzte 5.2.1,

Also bei mir läuft MDB2 mit 5.2.1 ohne Probleme (sitz ich grad aktuell dran ;-) ). Kann mich also nur auf diese PHP-Version beziehen (Hab aber keine Options gesetzt).


MDB2 Error: connect failed

Diese Meldung kommt ja von dieser Zeile:
Code: Select all
die($mdb2->getMessage());

Lass dir dich hier mal getUserInfo() oder getDebugInfo() (,bzw. das ganze PEAR_Error Object anzeigen). Da steht dann nämlich die orginale Fehlermeldung drin, welche von MySQL geliefert wird.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby jorma » 21. April 2007 10:39

Es geht nun.. wo der Fehler lag? Ich weiss es ehrlich gesagt nicht..


Nachdem es spät war, hatte ich xampp nochmal entfernt mit dem Plan mir das hellwach nochmal genau anzusehen..

Also habe ich xampp nun neu installiert, die svn.dll wieder in der php/php.ini auskommentiert und MDB2 und MDB2#mysql runtergeladen.
oh.. channel-update pear.php.net

pear update-channels
pear install MDB2#mysql

Allerdings tauchte nun hier ein Fehler auf, dass PHP_PEAR_INSTALL_DIR1 (man beachte die 1 am Ende) nicht gesetzt sei und die installierten Pakete landeten in c:\php5\pear statt im xampp-pear Verzeichnis.. ich habe sie händisch verschoben und nun klappt der connect auch. Mein unsprüngliches Problem ist also behoben. Danke auf jeden Fall für den Tipp mit getDebugInfo()/getUserInfo() anstelle von getMessage().

Also MDB2, MDB2#mysql (und pear und was er noch aktualisiert hatte) sind zwar installiert.. z.B. `pear install MDB2#mysql` liefert allerdings `install failed` anstatt eines ignoring installed package/nothing to install, ich werde für dieses Problem aber wohl besser in einem eigenen Thema um Hilfe bitten :wink:
jorma
 
Posts: 6
Joined: 20. April 2007 23:18

Postby Wiedmann » 21. April 2007 11:28

ch werde für dieses Problem aber wohl besser in einem eigenen Thema um Hilfe bitten

Das ist einfach:
Installere PEAR von Hand neu, damit es sauber läuft...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby jorma » 21. April 2007 11:38

Damit ist mir geholfen.. aber ich dachte das Problem könnte nicht nur bei mir auftreten, liegt am gemeinen xampp und könnte mit einer kommenden Version vielleicht berücksichtigt und behoben werden :wink:

Aber das Problem ist gelöst, danke erneut.
jorma
 
Posts: 6
Joined: 20. April 2007 23:18


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests