Подключение PHP к IBM I (AS / 400)

голоса
30

У меня предстоящий проект , в котором мне нужно будет подключить наш веб - сайт ( PHP5/Apache 1.3/OpenBSD 4.1) к нашей серверной системе , работающей на ISeries с OS400 V5R3 , так что я могу получить доступ к некоторым таблицам , хранящиеся там. Я сделал некоторые проверки вокруг , но я бег в некоторые контрольно - пропускные пункты.

Из того, что я видел расширения DB2 и программное обеспечение DB2 с IBM работает только под Linux. Я попытался компиляцией расширений со всем программным обеспечением от IBM и даже пытался их прекомпилированное расширение ibm_db2 без везения. IBM поддерживает только Linux, так что я включил эмуляции Linux в ядре, но это, похоже, не поможет ничего.

Если кто-то перебежал получать все, чтобы работать изначально под OpenBSD, что было бы здорово, но я думаю, что я, возможно, придется сделать, это создание второго сервера под управлением CentOS с DB2, установленной (скорее всего через ZendCore для IBM, так как он, кажется, делает все это для меня), и водителя, так что я могу создать небольшой сервер транзакций, который я могу разместить против и получить JSON представление данных DB2, что мне нужно.

Имеет ли второй вариант кажется излишним или кто-нибудь еще есть какие-либо идеи лучше?

Задан 03/08/2008 в 15:03
источник пользователем
На других языках...                            


8 ответов

голоса
16

Вы смотрели на подключение к серверу с помощью UnixODBC ? Если я правильно помню , он имеет поддержку для IBM DB2 и компилирует на OpenBSD. Проверьте http://www.php.net/odbc для получения дополнительной информации относительно стороны PHP.

Если вы не можете получить, чтобы работать, возможность установки веб-службы на сервере Linux может быть все, что вы можете сделать.

Ответил 03/08/2008 в 15:39
источник пользователем

голоса
2

Похоже, это веб-сервис будет ответом для меня. На коробке производства я предпочел бы не пройти через составление и ведение собственную специальную установку PHP, поскольку поддержка ODBC должен быть составлен в соответствии с документацией PHP.

Ответил 03/08/2008 в 22:31
источник пользователем

голоса
1

Веб-сервис почти наверняка путь. Я уверен, что вы уже думали об этом, но так как вы делаете PHP с обеих сторон, вы можете сократить вещи немного с помощью Serialize () для создания данных ответа вместо создания надлежащего документа XML. Это менее гибок в долгосрочной перспективе, но это, вероятно, получите вас и работает быстрее.

Ответил 19/08/2008 в 22:51
источник пользователем

голоса
2

Ко второй @John Дауни, я получил возможность подключения к работе с PHP на качестве AS / 400 с UnixODBC.

Проверьте phpinfo (), чтобы увидеть, если UnixODBC доступен в нем. У меня не было скомпилировать его в на SLES 10.

Ответил 25/08/2008 в 00:10
источник пользователем

голоса
1

Действительно, вебсервис кажется, отличный способ, чтобы решить эту проблему. Один из способов избежать полностью отдельную ОС для него было бы написать WebService в Java поверх AS400 инструментов для Java (которые довольно хорошо, кстати). Это должно, по крайней мере позволит вам запускать слой служб на коробке OpenBSD, а также.

Ответил 25/08/2008 в 04:20
источник пользователем

голоса
4

Вместо того, чтобы настроить второй ящик, почему бы вам не заглянуть в PHP Connector для ISeries? Мои мэйнфреймы ребята сказали, что это очень легко настроить на наших ISeries здесь.

Мы написали простой сервер в PHP, который загружает модель данных из данных DB2, сериализующий их, и возвращает их к абоненту. Такой подход означает, что только другая PHP приложение может потреблять услугу, но это просто так гораздо быстрее, на обоих концах, чтобы просто сериализовать объект и отправить его вниз по трубе.

Вот PDF из IBM по теме: http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

Ответил 27/08/2008 в 21:03
источник пользователем

голоса
1

Вы можете подключить напрямую, используя стандартный драйвер ODBC, а также. Версия IBM обычно дает вам больше возможностей, как быть в состоянии назвать программы и тому подобное. Если вам нужна только SQL и хранимые процедуры, ODBC должен работать.

Ответил 23/09/2008 в 14:42
источник пользователем

голоса
1

Почему бы не использовать PDO из PHP? Я должен угадать здесь, так как я не мог найти публичный список всех доступных портов для OpenBSD, но так как есть порт для FreeBSD, NetBSD и т.д., может быть, вам повезло, как хорошо.

(Я думаю , что даже если OpenBSD ссылки на руководства привратника FreeBSD, которая FreshPorts не применяется для вашей системы?)

Если PDO не доступен, и так как я надеюсь, вы используете порты и по следующей ссылке есть php5-ODBC доступен:

Так если вы управлять системой через порты, есть ваши указатели.

Надеюсь, это поможет!

Ответил 01/10/2008 в 19:16
источник пользователем

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