[PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Hallo,
ich werde noch wahnsinnig :wall:. Ich versuche jetzt schon den ganzen Tag, endlich MDB2 zum Laufen zu kriegen. Mittlerweile habe ich PEAR mitsamt dem MDb2-Paket installiert bekommen. Allerdings heißt das nicht, dass es funktioniert. Ich habe folgendes Script:
Code:
Leider kommt das Script nur bis zu besagter Stelle. (Ausgabe: "vor Connect2.4.1"). Danach passiert einfach überhaupt nichts mehr, bzw. die Ausgabe endet an dieser Stelle. Es gibt auch keine Fehlermeldung.
<?php
require_once("MDB2/MDB2.php"); // $dsn = 'mysqli://user:password@localhost/database'; $dsn = array( 'phptype' => 'mysqli', 'username' => 'user', 'password' => 'password', 'hostspec' => 'localhost', 'database' => 'database', ); echo "vor Connect"; echo MDB2::apiVersion(); // bis hier kommt es $mdb2 =& MDB2::singleton($dsn); echo "nach Connect"; if (PEAR::isError($mdb2)) { echo "errror"; die($mdb2->getMessage()); } ?> Was bitte mache ich falsch? :wall: |
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Was passiert denn, wenn du den apiVersion()-Aufruf auskommentierst?
Edit: Hmm, das wird wohl nicht zielführend sein... hatte mich verguckt. :drunken: |
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Zitat:
Und die Seite ist wirklich fertig geladen? Nicht das das Teil noch rechnet und due schon abbrichst ... |
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Danke für eure Antworten,
apiVersion war nur zum Testen, ob die Klasse richtig eingebunden wird etc, ohne passiert genau das gleiche. Zitat:
Zitat:
Das macht das ganze leider nicht gerade einfacher :( |
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Lass mal das & weg
|
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Zitat:
|
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Hi,
hast du den Installationsanweisungen gemäß Dokumentation gefolgt? Wenn ich mich nicht irre muss man für jede Datenbank auch einen dazugehörigen DB-Treiber installieren, ist davon aus mindestens einer vorhanden? Was passiert wenn du mal andere Daten benutzt, zB eine andere Datenbank oder gar einen anderen Treiber? Wie sieht es aus, wenn du den DSN wie im Kommentar als String übergibst? Steht evtl. im Apache- oder Sys-Log was? Findet eine Connection zu MySQL statt (siehe MySQL-Log)? Kannst du das Script mal über die Kommandozeile ausführen? Dafür brauchst du das Paket php5-cli unter Debian / Ubuntu. Bei Source-Installation / Gentoo müsste das auch so gehen. Manchmal sieht man da Meldungen, die man im Apache nicht sieht. Btw: Die Referenz-Zuweisung mittels =& ist in PHP5 übrigens veraltet und wirft bei error_reporting E_ALL einen E_STRICT Error. Da du diesen ja scheinbar auch nicht siehst, scheint der Methodenaufruf von singleton() ja schon nicht mehr zurück zu kehren. Mit freundlichen Grüßen, Valle |
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
E_ALL reicht auch nicht...
Code:
error_reporting(E_ALL | E_STRICT);
|
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Hallo
Zitat:
Zitat:
Zitat:
Zitat:
Die Ausgabe über die Kommandozeile ist folgende (damit isch niemand wundert, ich habe die Ausgabe des Scripts aus Gründen der Übersichtlichkeit leicht verändert):
Code:
[edit]
PHP Deprecated: Assigning the return value of new by reference is deprecated in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 390
PHP Strict Standards: Redefining already defined constructor for class MDB2_Driver_Common in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 1310 PHP Deprecated: Assigning the return value of new by reference is deprecated in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 1885 PHP Deprecated: Assigning the return value of new by reference is deprecated in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 2572 PHP Deprecated: Assigning the return value of new by reference is deprecated in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 2595 PHP Deprecated: Assigning the return value of new by reference is deprecated in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 2940 PHP Strict Standards: Redefining already defined constructor for class MDB2_Result_Common in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 3377 PHP Strict Standards: Redefining already defined constructor for class MDB2_Row in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 3850 PHP Strict Standards: Redefining already defined constructor for class MDB2_Statement_Common in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 3907 PHP Strict Standards: Redefining already defined constructor for class MDB2_Module_Common in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 4191 [color=red] PHP Warning: include_once(PEAR5.php): failed to open stream: No such file or directory in C:\Program Files\Lighty2Go\PHP\PEAR\PEAR.php on line 766 PHP Warning: include_once(): Failed opening 'PEAR5.php' for inclusion (include_path='.;c:\program files\lighty2go\php\pear') in C:\Program Files\Lighty2Go\PHP\PEAR\PEAR.php on line 766 PHP Strict Standards: Declaration of MDB2_Driver_Common::raiseError() should be compatible with that of PEAR::raiseError() in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 990 [/color] ** vor Connect PHP Strict Standards: Non-static method MDB2::apiVersion() should not be called statically in D:\htdocs\beta\lib\connect.php on line 18 ** 2.4.1 PHP Strict Standards: Non-static method MDB2::singleton() should not be called statically in D:\htdocs\beta\lib\connect.php on line 19 PHP Strict Standards: Non-static method MDB2::parseDSN() should not be called statically in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 484 PHP Strict Standards: Non-static method MDB2::factory() should not be called statically in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 500 PHP Strict Standards: Non-static method MDB2::parseDSN() should not be called statically in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 376 PHP Strict Standards: Non-static method MDB2::loadClass() should not be called statically in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 385 PHP Strict Standards: Non-static method MDB2::classExists() should not be called statically in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 327 PHP Strict Standards: Non-static method MDB2::fileExists() should not be called statically in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 335 PHP Strict Standards: Non-static method MDB2::raiseError() should not be called statically in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 340 PHP Strict Standards: Non-static method PEAR::raiseError() should not be called statically in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 574 PHP Strict Standards: Non-static method MDB2::errorMessage() should not be called statically, assuming $this from incompatible context in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 972 PHP Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in C:\Program Files\Lighty2Go\PHP\PEAR\MDB2\MDB2.php on line 743 [color=red] PHP Fatal error: Class 'PEAR5' not found in C:\Program Files\Lighty2Go\PHP\PEAR\PEAR.php on line 878 [/color] [/color] Okay, also da fehlte tatsächlich die PEAR5.php im PEAR-Verzeichnis. Ich muss dazu sagen, dass ich PEAR manuell installiert habe, weil das Installer-Script nicht funktionierte. Jetzt wird zumindest eine Fehlermeldung ausgegeben, mit der man etwas mehr anfangen kann:
Code:
Die frage ist jetzt allerdings: Heißt das, die Klasse MDB2 wurde nicht gefunden, der Treiber wurde nicht gefunden, oder die Datenbank wurde nicht gefunden? :gruebel:
** vor Connect
**2.4.1 ** nach Connect ** Error MDB2 Error: not found [/edit] |
Re: [PHP] MDB2: Script bricht bei Connect einfach lautlos ab
Da scheint was mit deiner PEAR-Installation nicht zu stimmen. Überprüfe mal den include_path und ob alles wichtigen PEAR-Dateien wirklich vorhanden sind. Ansonsten kann ich dir an dieser Stelle nicht mehr viel helfen, da ich weder Windows noch PEAR benutze. :|
Mit freundlichen Grüßen, Valle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz