Connect PHP to IBM i (AS/400)
我有一个即将进行的项目,其中我需要将我们的网站( 从我所见,IBM的DB2扩展和DB2软件仅在Linux下运行。我已经尝试使用IBM的所有软件来编译这些扩展,甚至还尝试了它们的预编译ibm_db2扩展,但是没有运气。 IBM仅支持Linux,因此我在内核中打开了Linux仿真,但这似乎无济于事。 如果有人遇到过让一切都可以在OpenBSD下本地运行的话,那会很棒,但是我想我可能要做的是安装第二台运行CentOS的服务器并安装DB2(很可能是通过ZendCore for IBM,因为它似乎可以完成所有工作)这对我来说)和驱动程序,这样我就可以设置一个小型事务服务器,然后将其发布到该服务器上,并获取所需的DB2数据的JSON表示形式。 第二种选择是否看似过大,还是其他人有更好的主意? 您是否考虑过使用unixODBC连接到服务器?如果我没记错的话,它支持IBM DB2,并且可以在OpenBSD上编译。查看http://www.php.net/odbc,以获取有关PHP方面的更多信息。 如果无法正常工作,则可以选择在Linux服务器上设置Web服务。 而不是设置第二个框,为什么不查看适用于iSeries的PHP Connector?我的大型机人员说,在这里在iSeries上进行设置非常容易。 我们用PHP编写了一个简单的服务器,该服务器从DB2数据加载数据模型,对其进行序列化,然后将其返回给调用者。这种方法意味着只有另一个PHP应用程序可以使用该服务,但是两端串行化对象并将其发送到管道的两端要快得多。 这是IBM提供的有关该主题的PDF:http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf 第二点@John Downey,我已经获得了在unixODBC上在AS / 400上使用PHP的连接性。 检查您的phpinfo()来查看unixODBC是否可用。我不必在SLES 10上进行编译。 似乎Web服务将成为我的答案。根据PHP文档,在生产环境中,我宁愿不必编译并维护自己的特殊PHP安装,因为需要编译ODBC支持。 为什么不使用PHP中的PDO?我不得不在这里猜测,因为我找不到可用于OpenBSD的所有端口的公共列表,但是由于有一个用于FreeBSD,NetBSD等的端口,也许您也很幸运。 (我想即使OpenBSD链接到FreeBSD的搬运工手册,Freshports也不适用于您的系统吗?) 如果PDO不可用,并且由于我希望您使用端口,并且根据以下链接提供了php5-ODBC:
因此,假设您通过端口管理系统,那么这里就有您的指针。 希望有帮助! 您也可以使用标准ODBC驱动程序直接连接。 IBM版本通常为您提供更多功能,例如能够调用程序之类的东西。如果只需要SQL和存储过程,则ODBC应该可以工作。 确实,Web服务似乎是解决问题的好方法。避免使用完全独立的OS的一种方法是在Java的AS400工具(顺便说一句,很好)上用Java编写Web服务。那至少也应该让您在OpenBSD框上运行服务层。 Web服务几乎肯定是必经之路。我确定您已经想到了这一点,但是由于您都在使用PHP,因此可以使用serialize()来构建响应数据,而不是构建适当的XML文档,从而稍微简化一下事情。从长远来看,它的灵活性较差,但可能会使您更快地启动并运行。 |