Sluit PHP naar IBM i (AS / 400)

stemmen
30

Ik heb een aanstaande project waarin ik zal nodig hebben om onze website (verbinding kregen PHP5/Apache 1.3/OpenBSD 4.1) om onze back-end systeem draait op een iSeries met OS400 V5R3, zodat ik kan toegang tot een aantal tafels daar opgeslagen. Ik heb gedaan wat het controleren van rond, maar ben actief in een aantal wegversperringen.

Van wat ik de DB2-uitbreidingen en DB2-software van IBM heb gezien alleen onder Linux draaien. Ik heb geprobeerd het opstellen van de extensies met alle software van IBM en zelfs geprobeerd hun gecompileerde IBM_DB2 uitbreiding zonder geluk. IBM biedt alleen ondersteuning voor Linux, dus ik zette de Linux emulatie in de kernel, maar dat leek niet om iets te helpen.

Als iemand aan de overkant van het krijgen van alles om native draaien onder OpenBSD dat zou geweldig zijn op is, maar wat ik denk dat ik moet doen is het opzetten van een tweede server met CentOS met DB2 geïnstalleerd (waarschijnlijk via ZendCore voor IBM omdat het lijkt om alles te doen dit voor mij) en de bestuurder, zodat ik kan het opzetten van een kleine transactie server die ik kan plaatsen tegen en krijgen een JSON representatie van de DB2-gegevens die ik nodig heb.

Heeft de tweede optie lijkt overkill of is iemand anders een beter idee?

De vraag is gesteld op 03/08/2008 om 15:03
bron van user
In andere talen...                            


8 antwoorden

stemmen
16

Hebt u gekeken naar verbinding met de server met behulp van unixODBC ? Als ik het goed herinner heeft ondersteuning voor IBM DB2 en stelt op OpenBSD. Check out http://www.php.net/odbc voor meer informatie over de PHP-kant.

Als je niet kunt krijgen dat om te werken, kan de optie om een ​​webservice op een Linux-server alles wat je kunt doen.

antwoordde op 03/08/2008 om 15:39
bron van user

stemmen
2

Ziet eruit als een webservice gaat naar het antwoord voor mij. Op een productie-box ik liever niet te gaan door middel van het samenstellen en onderhouden van mijn eigen speciale installatie van PHP sinds ODBC steun moet worden samengesteld, volgens de PHP documentatie.

antwoordde op 03/08/2008 om 22:31
bron van user

stemmen
1

Een web service is vrijwel zeker de weg te gaan. Ik weet zeker dat je al hebt aan gedacht, maar omdat je PHP doet aan beide zijden, kun je dingen snelkoppeling een beetje met behulp van serialize () om uw reactie gegevens op te bouwen in plaats van het bouwen van een goede XML-document. Het is minder flexibel op de lange termijn, maar het zal waarschijnlijk krijg je up and meer snel aan de slag.

antwoordde op 19/08/2008 om 22:51
bron van user

stemmen
2

Om tweede @John Downey, heb ik connectiviteit om te werken met PHP op een AS / 400 met unixODBC gekregen.

Controleer uw phpinfo () om te zien of unixODBC is beschikbaar in het. Ik hoefde niet om het te compileren in op SLES 10.

antwoordde op 25/08/2008 om 00:10
bron van user

stemmen
1

Inderdaad, een webservice lijkt een geweldige manier om het probleem op te lossen. Een manier om te voorkomen dat een volledig gescheiden OS want het zou zijn om de webservice in Java te schrijven op de top van de AS400 gereedschappen voor Java (die heel mooi zijn, btw). Dat moet in ieder geval laat u de service laag op de doos OpenBSD draaien ook.

antwoordde op 25/08/2008 om 04:20
bron van user

stemmen
4

In plaats van het inrichten van een 2e doos, waarom ga je niet kijken naar de PHP Connector voor iSeries? Mijn mainframe jongens zei dat het erg gemakkelijk te installeren op onze iSeries hier.

We schreven een eenvoudige server in PHP die data modellen laadt van DB2 data, serialiseert ze, en brengt ze terug naar de beller. Deze aanpak betekent dat alleen een ander PHP app de dienst kunnen consumeren, maar het is gewoon zo veel sneller aan beide uiteinden om alleen serialize het object en stuur het naar beneden de pijp.

Hier is een PDF van IBM over het onderwerp: http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

antwoordde op 27/08/2008 om 21:03
bron van user

stemmen
1

U kunt rechtstreeks verbinding maken met een standaard ODBC-stuurprogramma ook. De IBM-versie geeft je meestal meer functies, zoals de mogelijkheid om programma's en dat soort dingen te roepen. Als je alleen SQL en opgeslagen procedures nodig hebt, moet ODBC werken.

antwoordde op 23/09/2008 om 14:42
bron van user

stemmen
1

Waarom BOB geen gebruik van PHP? Ik moet hier denk omdat ik niet kon vinden een openbare lijst van alle poorten beschikbaar zijn voor OpenBSD, maar aangezien er een poort voor FreeBSD, NetBSD etc. misschien krijg je geluk ook.

(Ik denk dat dat ook al OpenBSD links naar handboek portiersloge van FreeBSD, FreshPorts is niet van toepassing op uw systeem?)

Als BOB niet beschikbaar is en omdat ik hoopte dat je gebruik maken van havens en in overeenstemming met de volgende link is er php5-ODBC beschikbaar:

Dus de veronderstelling dat u uw systeem te beheren door middel van poorten, zijn er uw pointers.

Hoop dat het helpt!

antwoordde op 01/10/2008 om 19:16
bron van user

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