Ersatz für PEAR: MDB2 auf PHP 5.3
Habe ich mit pear-Pakete, die in php für die Jahre. Ich bin in den Prozess der Modernisierung/verschieben Websites, nutzt das pear Paket MDB2 und es wurde nicht aktualisiert, für PHP 5.3.X.
In 5.3, MDB2 ist Rückkehr die neuen ärgerlichen Fehler.
Unknown: Assigning the return value of new by reference is deprecated in /usr/local/lib/php/MDB2.php on line 390
Ich weiß, dass ich ändern kann, ist mein error-reporting-Einstellungen, um Sie loszuwerden, aber ich möchte lieber nicht machen keine Ausnahmen. Jedenfalls Ist jemand anderes mit MDB2 in diesen Tagen und eine Lösung? Gibt es ähnliche Datenbank-Pakete, die Sie empfehlen?
InformationsquelleAutor mattweg | 2009-10-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde auf jeden Fall gehen für ein ORM, zumindest wenn Sie arbeiten an einem großen Projekt, für das Sie nicht verwenden möchten
mysqli_*
oder PDO Funktionen/Methoden direkt-- Lehre, die am meisten entwickelt/verwendet, heutzutage (Es ist das Standard-ORM des symfony-Framework und integriert werden kann in Zend Framework sehr leicht).Über die
E_DEPRECATED
Fehler, aber : PHP 5.3 ist sehr jung, und viele Bibliotheken/software/Projekte wurden nicht angepasst, aber -- Sie werden wahrscheinlich haben viele von denen werden in den nächsten paar Monaten 🙁Du bist herzlich willkommen 🙂 viel Spaß damit !
InformationsquelleAutor Pascal MARTIN
Können Sie auch ein upgrade auf die beta 3-version über die Kommandozeile
Erklärung, warum der aktuelle stable-version ist nicht kompatibel mit strengen error reporting:
http://pear.php.net/bugs/bug.php?id=9756
Quelle für den Befehl:
http://pear.php.net/bugs/bug.php?id=18050
Edit: ok, es war eigentlich von einem Fatalen Fehler Fehler in E-Mail/Queue, das wurde vor kurzem eingeführt. Ich aktualisiert meine pear-Pakete, während ich dort war und das ist, wie ich führte den Fehler. Sieht aus wie der patch nicht gemacht um die updates noch nicht, aber es war leicht genug, um die Datei zu editieren, mich.
InformationsquelleAutor jakimfett
Werde ich kommentieren, da kommt es hoch in den Google-Suchergebnissen für das problem.
Habe ich kontaktiert, der leitende Entwickler für MDB2, der sagte:
(Edit, 4 Jahre später: Das ist nicht mehr richtig, das nicht zu tun)
InformationsquelleAutor Aquarion
Ich ging einfach heruntergeladen und die neueste version von MDB2 (MDB2-2.5.0b3) von hier aus http://pear.php.net/package/MDB2/download und es hat losgeworden alle meine Fehler. Scheint gut zu funktionieren mit PHP Version 5.3.5
InformationsquelleAutor Theo Kouzelis
Können Sie Zend Framework Datenbank-Unterstützung oder verwenden Sie ein ORM wie Lehre oder Treiben
InformationsquelleAutor Keeper
Bekam ich rund alle deprecated-Fehler und Warnungen, mit MDB2-und PHP 5.3,
aber ich habe einige wirklich komische Fehler auf MDB2, so Fragen, was ist unter der Haube.
Meine Umgebung ist CentOS, PHP 5.3, MDB2-2.4.1, MySQL 5.0.77
Jederzeit, ich benutze autoExecute 2x in einer php-Datei, der 2. ist nicht (gleiche gilt, wenn ich versuche, vorbereiten und dann ausführen). Ich habe die Protokollierung zu meinem MySQL query log, und während einer erfolgreichen EINFÜGEN, werden die Werte eines fehlgeschlagenen INSERT wird immer nur der Platzhalter. sprich: Werte(?, ?, ?, ?). Und die MDB2_Error immer erwähnen REKURSION
lastInsertID() nie funktioniert mit den MySQL-Tabellen und autoincrement-Feldern (mit mysqli-Treiber)
Ich habe genug zu Debuggen auf, geht tief in den call-stack, und das Ergebnis bekommen so eingewickelt in Objekte, die Sie können nicht sagen, was es ist, bis zum Ende.
Ich würde gerne mit MDB2 mehr, aber in der Tat, ich habe, um wieder zurück zu geradeaus, mysql, mehrfach, weil diese Fragen zu finden. Vielleicht Lucas oder andere Entwickler vielleicht etwas Licht auf dieses Thema, oder weisen uns in die richtige Richtung.
InformationsquelleAutor Robert
Wenn Sie nur MDB2 für MySQL, können Sie Sie ersetzen und halten die Mehrheit der Funktionen mit MDBDid: http://azure-dev.kiao.net/648-mdb2
Sie haben nur wenig code anpassen.
InformationsquelleAutor Daxorp