PHP hates me
Thomas
- php
Hallo zusammen,
naja ich bin ein bisschen am verzweifeln und hoffe hier Hilfe zu finden.
Ich arbeite nun mit PDO und möchte damit auch auf eine Informix Datenbank zugreifen. Laut PHP Doku geht das. Für alle anderen Datenbanken gibt es da eine dll als Extension für PDO. Diese muss ich nur in der php.ini aktivieren.
Aber natürlich tanzt hier Informix aus der Reihe. Nach dem was ich gelesen habe gibts die Treiber für Informix nur über ein PECL Packet. PECL ???
Was ist das nun schon wieder?
Naja nach ein bisschen suchen weiß ich, dass PECL ne Schwester von PERL ist. Das bringt mir bloß nicht viel auch nicht, dass die PECL Pakete mit C geschrieben sein sollen.
Wie bekomme ich unter Windows mit installiertem XAMPP ein PECL Packet installiert. Habe dazu nur Wirr-Warr gefunden der mir nicht geholfen hat. Ich muss da irgendwie über PEAR gehen, kann das sein? Hatte mit PEAR bist jetzt auch noch nichts zu tun.
Die php_pdo_informix.dll gibt es anscheinend so nicht zum runterladen sondern muss durch das PECL erstellt werden (so hab ich das zumindest verstanden) Kann mir hier jemand helfen?
Wäre wirklich klasse wenn ich hier eine Schritt für Schritt Anleitung von jemanden bekommen könnte wie ich ein PECL Packages installiere.
Grüße
Thomas
P.S.: Die PHP Doku hat mir bei allem leider nur sehr sehr bedingt weitergeholfen
Hi!
Ich arbeite nun mit PDO und möchte damit auch auf eine Informix Datenbank zugreifen. Laut PHP Doku geht das.
Mit PDO hab ich das noch nicht probiert, aber mit den "normalen" Informix-Funktionen ging das immer recht gut.
Für alle anderen Datenbanken gibt es da eine dll als Extension für PDO. Diese muss ich nur in der php.ini aktivieren.
Du hast bereits die Hinweise im Handbuch zu PDO und Informix gelesen? Insbesondere hast du einen Informix-Client installiert? Diesen Client benötigst du auf alle Fälle auch noch. Du findest dazu auch im hiesigen Archiv Informationen. Ich glaube, ich schrieb dazu sogar mal eine schrittweise Installationsanleitung.
Aber natürlich tanzt hier Informix aus der Reihe. Nach dem was ich gelesen habe gibts die Treiber für Informix nur über ein PECL Packet. PECL ???
Nunja, Informix ist nicht gerade sehr weit verbreitet. Insofern ist es schon sinnvoll, damit nicht das PHP-Paket aufzublähen sondern es als spezielle Erweiterung zur Verfügung zu stellen. Da sich eine Informix-Extension schwerlich nur mit PHP-Code schreiben lässt, braucht man eine "richtige" Erweiterung zu PHP. Diese selten verwendeten (oder auch gerade in Entwicklung befindlichen) Erweiterungen werden im PECL-Archiv abgelegt.
Naja nach ein bisschen suchen weiß ich, dass PECL ne Schwester von PERL ist.
Hat mit PERL nichts zu tun, außer dass vielleicht Ideen übernommen wurden. Und auch wenn du PEAR meinst sind die Verwandtschaftsverhältnisse nicht besonders stark. Aber sei es drum, denn:
Das bringt mir bloß nicht viel auch nicht, dass die PECL Pakete mit C geschrieben sein sollen.
Wie bekomme ich unter Windows mit installiertem XAMPP ein PECL Packet installiert. Habe dazu nur Wirr-Warr gefunden der mir nicht geholfen hat.
Da du nicht sagst, welchen Wirrwar du gefunden hast, besteht die Gefahr, dass ich dich auf genau den selben Wirrwar schicke. Hast du bereits PECL gefunden? Hast du dort das Informix-Paket gefunden? Und hast du den sehr enttäuschenden Hinweis gelesen und gemerkt, dass es da nichts zu downloaden gibt?
Die php_pdo_informix.dll gibt es anscheinend so nicht zum runterladen sondern muss durch das PECL erstellt werden (so hab ich das zumindest verstanden) Kann mir hier jemand helfen?
Mal sehen. Ich selbst verwende eine alte php_ifx.dll, die zumindest unter PHP 5.2.8 problemlos mitspielt, aber wie gesagt, die "normale" Extension und kein PDO. Das Problem auch an dieser alten Version, ist, sie zu finden. Früher gab es ein PECL-ZIP-File zur Windows-Version dazu. Auf der PHP-Download-Seite findet sich nur der Hinweis, dass für 5.2.11 kein PECL-Package bereitgestellt wird, aber das von 5.2.6 arbeiten soll. Also mal auf der Releases-Seite nach Version 5.2.6 schauen, und siehe da, da gibt es "PECL 5.2.6 Win32 binaries" in zwei Versionen, thread-safe und non-thread-safe. Welche du mit deinem XAMPP verwenden kannst, weiß ich nicht. Zur Not installierst du PHP und den Apachen zu Fuß, dann weißt du ja, welche PHP-Version du verwendet hast. In dem erwähnten PECL-Paket befindet sich neben der php_ifx.dll auch eine php_pdo_informix.dll, zu der ich aber keine Erfahrungswerte beisteuern kann. Vermutlich wirst du beide DLLs benötigen, die du einfach in das Extensions-Verzeichnis kopieren (und in der php.ini freigeben/eintragen) kannst. (Zur PHP-Version 5.3.x kann ich ebenfalls nichts sagen.)
naja ich bin ein bisschen am verzweifeln [...].
Übrigens, deine Befindlichkeiten interessieren mich nicht, und ein aussagekräftiger Betreff hätte auch nicht geschadet.
Lo!
Mit PDO hab ich das noch nicht probiert, aber mit den "normalen" ging das immer recht gut.
Ja hab ich bis jetzt auch immer so gemacht. Aber was wenn sich die Datenbank ändern sollte. Hätte es halt gerne mit PDO gemacht.
Du hast bereits die Hinweise im Handbuch zu PDO und Informix gelesen?
Ja.
Insbesondere hast du einen Informix-Client installiert?
Ja.
Es klappt auch alles mit den normalen Informix Funktionen es geht nur mit PDO nicht. Dieser verlangt in einer Fehlermeldung immer Treiber von mir und diese soll ich mit PECL bekommen.
Nunja, Informix ist nicht gerade sehr weit verbreitet. Insofern ist es schon sinnvoll, damit nicht das PHP-Paket aufzublähen
Naja diese sind alle enthalten:
php_pdo_firebird.dll
php_pdo_mssql.dll
php_pdo_mysql.dll
php_pdo_mysql_libmysql.dll
php_pdo_mysql_mysqlnd.dll
php_pdo_oci8.dll
php_pdo_oci.dll
php_pdo_odbc.dll
php_pdo_pgsql.dll
php_pdo_sqlite.dll
php_pdo_sqlite_external.dll
Ob da Informix ins Gewicht fällt?
Aber egal das soll nicht unser Problem sein, dass haben wir nicht zu entscheiden.
Naja nach ein bisschen suchen weiß ich, dass PECL ne Schwester von PERL ist.
Hat mit PERL nichts zu tun, außer dass vielleicht Ideen übernommen wurden.
Ich habe das jedenfalls so gelesen. Angeblich installiert man PECL auch mit PEAR damit man dann mit PECL ein PECL Paket installieren kann.
Da du nicht sagst, welchen Wirrwar du gefunden hast, besteht die Gefahr, dass ich dich auf genau den selben Wirrwar schicke.
Das kann sein leider habe ich den Wirrwarr nicht versanden und kann ihn deshalb auch nicht wiedergeben.
Hast du bereits PECL gefunden?
Ja
Hast du dort das Informix-Paket gefunden? Und hast du den sehr enttäuschenden Hinweis gelesen und gemerkt, dass es da nichts zu downloaden gibt?
Ja aber das benötige ich anscheinend gar nicht.
Das bräuchte ich: PECL PDO INFORMIX
Doch wie installiere ich das?
Die php_pdo_informix.dll gibt es anscheinend so nicht zum runterladen sondern muss durch das PECL erstellt werden (so hab ich das zumindest verstanden) Kann mir hier jemand helfen?
(Zur PHP-Version 5.3.x kann ich ebenfalls nichts sagen.)
Hab ich vergessen zu erwähnen das es genau um die Version geht, sorry.
Die dll Dateien aus deinem Link funktionieren in 5.3 nicht, zumindest gibt mir Xampp eine fehlermeldung "Unable to initalize module" weil das Modul mit der API=20060613 und PHP mit der API=20090626 kompiliert ist.
naja ich bin ein bisschen am verzweifeln [...].
Übrigens, deine Befindlichkeiten interessieren mich nicht, und ein aussagekräftiger Betreff hätte auch nicht geschadet.
Damit wollte ich nur ein bisschen Menschlichkeit in meinen Eintrag bringen. Wenn das hier nicht erwünscht ist, sorry.
Lo!
Grüße
Hi!
Mit PDO hab ich das noch nicht probiert, aber mit den "normalen" ging das immer recht gut.
Ja hab ich bis jetzt auch immer so gemacht. Aber was wenn sich die Datenbank ändern sollte. Hätte es halt gerne mit PDO gemacht.
Damit meinst du vielleicht, (möglicherweise etwas übertrieben ausgedrückt) das allein mit Austauschen des DSN-Wertes bewerkstelligen zu können ? Zu unterschiedlich sind die SQL-Dialakte, als dass das soo einfach ginge.
Das bräuchte ich: PECL PDO INFORMIX
Doch wie installiere ich das?
Ah, sieh an, das hatte ich übersehen. Zu installieren geht das so einfach nicht, das muss kompiliert werden. Um dies zu tun, hat man meist keine passenden Werkzeuge an Bord einer Windows-Maschine. Dafür gibts ja fertige Pakete ...
(Zur PHP-Version 5.3.x kann ich ebenfalls nichts sagen.)
Hab ich vergessen zu erwähnen das es genau um die Version geht, sorry.
... nur eben nicht für PHP 5.3. Wie das Selbstkompilieren geht, weiß ich nicht. Wenn das nicht auf den PECL-Seiten steht, ...
Und ob die Quellen überhaupt mit PHP 5.3 kompiliert werden können, sollte man nicht mit allzuviel Hoffnung erwarten.
naja ich bin ein bisschen am verzweifeln [...].
Übrigens, deine Befindlichkeiten interessieren mich nicht, und ein aussagekräftiger Betreff hätte auch nicht geschadet.
Damit wollte ich nur ein bisschen Menschlichkeit in meinen Eintrag bringen. Wenn das hier nicht erwünscht ist, sorry.
Im Betreff solltest du das vermeiden, der soll nicht Mitleidige anziehen sondern Fachkundige. Im Text kannst du gern menscheln, aber viel mehr interessieren (mich) eben fachliche Informationen statt emotionale.
Lo!