我有一个即将到来的项目,我需要将我们的网站( PHP5/Apache 1.3/OpenBSD 4.1 )连接到运行在OS400 V5R3的iSeries上的后端系统,以便我可以访问存储在那里的一些表。 我已经做了一些检查,但遇到了一些障碍。

从我所看到的,IBM的DB2扩展和DB2软件只能在Linux下运行。 我已经尝试使用IBM的所有软件编译扩展,甚至尝试了他们的预编译ibm_db2扩展而没有运气。 IBM只支持Linux,所以我在内核中打开了Linux仿真,但似乎没有任何帮助。

如果有人碰巧在OpenBSD下本地运行一切都会很棒,但我认为我可能要做的就是在安装了DB2的情况下建立第二台运行CentOS的服务器(最有可能通过ZendCore for IBM,因为它似乎可以完成所有操作)这对我来说)和驱动程序,以便我可以设置一个小的事务服务器,我可以发布,并获得我需要的DB2数据的JSON表示。

第二种选择是否有点矫枉过正,还是其他人有更好的想法?

===============>>#1 票数:18 已采纳

您是否看过使用unixODBC连接服务器? 如果我没记错的话,它支持IBM DB2并在OpenBSD上编译。 有关PHP方面的更多信息,请查看http://www.php.net/odbc

如果无法实现这一点,则可以选择在Linux服务器上设置Web服务。

===============>>#2 票数:4

而不是设置第二个框,为什么不查看PHP Connector for iSeries? 我的大型机家伙说,在我们的iSeries上设置非常容易。

我们在PHP中编写了一个简单的服务器,它从DB2数据加载数据模型,将它们序列化,然后将它们返回给调用者。 这种方法意味着只有另一个PHP应用程序可以使用该服务,但它的两端更快,只是序列化对象并将其发送到管道。

以下是来自IBM的关于该主题的PDF: http//i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

===============>>#3 票数:2

对于第二个@John Downey,我已经与unixODBC在AS / 400上使用PHP连接。

检查你的phpinfo(),看看unixODBC是否可用。 我没有必要在SLES 10上编译它。

===============>>#4 票数:2

看起来网络服务将成为我的答案。 根据PHP文档,在生产盒上我不需要编译和维护我自己的PHP特殊安装,因为需要编译ODBC支持。

===============>>#5 票数:1

您也可以使用标准ODBC驱动程序直接连接。 IBM版本通常会为您提供更多功能,例如能够调用程序和类似的东西。 如果您只需要SQL和存储过程,ODBC应该可以工作。

===============>>#6 票数:1

为什么不使用PHP的PDO? 我必须在这里猜测,因为我找不到OpenBSD可用的所有端口的公共列表,但由于FreeBSD有一个端口,NetBSD等也许你也很幸运。

(我想即使OpenBSD链接到FreeBSD的搬运工手册, Freshports也不适用于你的系统?)

如果PDO不可用,因为我希望你使用端口,并根据以下链接有php5-ODBC可用:

因此,假设您通过端口管理系统,那么就有指针。

希望有所帮助!

===============>>#7 票数:1

Web服务几乎肯定是要走的路。 我相信你已经想到了这一点,但既然你在双方都在做PHP,你可以通过使用serialize()来构建你的响应数据,而不是构建一个合适的XML文档。 从长远来看,它的灵活性较低,但它可能会让您更快地启动和运行。

===============>>#8 票数:1

实际上,网络服务似乎是解决问题的好方法。 避免拥有完全独立的操作系统的一种方法是在Java的AS400工具之上用Java编写Web服务(非常好,顺便说一下)。 这至少应该让你在OpenBSD盒子上运行你的服务层。

  ask by dragonmantank translate from so

未解决问题?本站智能推荐: