Schließen Sie PHP auf IBM i (AS / 400)

stimmen
30

Ich habe über ein bevorstehendes Projekt bekam wobei ich brauchen unsere Website (verbinden PHP5/Apache 1.3/OpenBSD 4.1) zu unserem Back-End - System auf einer iSeries mit OS400 V5R3 ausgeführt wird, so dass ich einige Tabellen dort gespeichert sind, zugreifen können. Ich habe einige die Umgebung getan Kontrolle aber in einige Straßensperren leiten.

Von dem, was ich habe die DB2-Erweiterungen und DB2-Software von IBM gesehen nur unter Linux laufen. Ich habe versucht, die Erweiterungen mit allen Software von IBM zusammenzustellen und sogar versucht, ihre vorkompilierte ibm_db2 Erweiterung ohne Glück. IBM unterstützt nur Linux so drehte ich mich auf der Linux-Emulation im Kernel, aber das schien nichts zu helfen.

Wenn jemand über immer alles gelaufen ist nativ unter OpenBSD zu laufen, das wäre toll, aber was ich denke, kann ich tun, ist ein zweiter Server läuft CentOS mit DB2 installiert (höchstwahrscheinlich über ZendCore für IBM einrichten, da es zu tun scheint das für mich) und den Fahrer so, dass ich einen kleinen Transaktionsserver einrichten, die ich gegen posten kann und eine JSON-Repräsentation der DB2-Daten bekommen, die ich brauche.

Ist die zweite Option scheint übertrieben oder hat jemand eine bessere Idee hat?

Veröffentlicht am 03/08/2008 um 15:03
quelle vom benutzer
In anderen Sprachen...                            


8 antworten

stimmen
16

Haben Sie sich mit dem Server zu verbinden mit unixODBC ? Wenn ich mich richtig erinnere , hat es Unterstützung für IBM DB2 und kompiliert auf OpenBSD. Schauen Sie sich http://www.php.net/odbc für weitere Informationen über die PHP - Seite.

Wenn Sie nicht, dass die Arbeit bekommen können, die Option für das Einrichten eines Web-Service auf einem Linux-Server sein kann, alles, was Sie tun können.

Beantwortet am 03/08/2008 um 15:39
quelle vom benutzer

stimmen
4

Anstatt Setup ein zweites Feld, warum nicht schauen Sie in die PHP Connector for iSeries? Meine Mainframe-Jungs sagten es auf unserem iSeries Setup hier sehr einfach ist.

Wir schrieben einen einfachen Server in PHP, die Datenmodelle von DB2-Daten lädt, serialisiert sie und gibt sie an den Anrufer. Dieser Ansatz bedeutet, dass nur eine andere PHP-Anwendung den Dienst verbrauchen kann, aber es ist einfach so viel schneller an beiden Enden nur das Objekt serialisiert und senden Sie das Rohr nach unten.

Hier ist ein PDF von IBM zum Thema: http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

Beantwortet am 27/08/2008 um 21:03
quelle vom benutzer

stimmen
2

Zum zweiten @John Downey, ich habe Konnektivität mit PHP auf einem AS / 400 mit unixODBC zu arbeiten bekommen.

Überprüfen Sie Ihre phpinfo (), um zu sehen, ob unixODBC in dieser verfügbar ist. Ich musste es nicht kompilieren in auf SLES 10.

Beantwortet am 25/08/2008 um 00:10
quelle vom benutzer

stimmen
2

Sieht aus wie ein Web-Service wird für mich die Antwort sein. Auf einer Produktions Box muß ich würde lieber nicht gehen durch die Zusammenstellung und meine eigene spezielle Installation von PHP beibehalten, da ODBC-Unterstützung kompiliert wird in muss nach der PHP-Dokumentation.

Beantwortet am 03/08/2008 um 22:31
quelle vom benutzer

stimmen
1

Warum PDO nicht von PHP verwenden? Ich habe hier zu erraten, da ich nicht eine öffentliche Liste aller verfügbaren Ports für OpenBSD finden konnte, aber da gibt es einen Port für FreeBSD, NetBSD usw. vielleicht bekommen Sie auch das Glück.

(Ich glaube , dass , obwohl OpenBSD Links zu FreeBSD Porter-Handbuch, Freshports für Ihr System nicht anwendbar ist?)

Wenn PDO nicht verfügbar ist und da ich gehofft, dass Sie Ports verwenden und nach dem folgenden Link gibt es php5-ODBC zur Verfügung:

Also vorausgesetzt, Sie Ihr System über Ports verwalten, gibt es Ihre Zeiger.

Ich hoffe, das hilft!

Beantwortet am 01/10/2008 um 19:16
quelle vom benutzer

stimmen
1

Sie können direkt eine Verbindung als auch einen Standard-ODBC-Treiber. Die IBM-Version in der Regel gibt Ihnen mehr Funktionen wie die Möglichkeit, wie die Programme und die Dinge zu nennen. Wenn Sie nur SQL und gespeicherte Prozeduren benötigen, sollten ODBC arbeiten.

Beantwortet am 23/09/2008 um 14:42
quelle vom benutzer

stimmen
1

Tatsächlich scheint ein Webservice wie ein guter Weg, um das Problem zu lösen. Eine Möglichkeit, zu vermeiden, dass ein völlig getrenntes O mit für sich wäre, die WebService in Java auf die AS400-Tool für Java zu schreiben (die ganz nett sind, btw). Das sollte zumindest lassen Sie Ihre Service-Schicht auf der OpenBSD-Box als gut geführt.

Beantwortet am 25/08/2008 um 04:20
quelle vom benutzer

stimmen
1

Ein Web-Service ist mit ziemlicher Sicherheit der Weg zu gehen. Ich bin sicher, dass Sie schon daran gedacht habe, aber da Sie auf beiden Seiten PHP zu tun, können Sie die Dinge ein wenig durch die Verwendung serialize () Verknüpfung Ihrer Antwortdaten zu bauen, anstatt ein richtiges XML-Dokument zu bauen. Es ist weniger flexibel auf lange Sicht, aber es wird Sie wahrscheinlich aufstehen und schneller läuft.

Beantwortet am 19/08/2008 um 22:51
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more