Bir AS/400 PHP bağlayın

8 Cevap php

Ben orada saklanan bazı tabloları erişebilirsiniz böylece bizim back-end sistemi OS400 V5R3 ile bir iSeries üzerinde çalışan web sitemizi (PHP5/Apache 1.3/OpenBSD 4.1) bağlamak gerekir neyin yaklaşan bir proje var. Ben çevresinde bazı denetimi yaptık ama bazı engellerden çalıştırıyorum.

Gördüğüm kadarıyla IBM DB2 uzantıları ve DB2 yazılım sadece Linux altında çalıştırın. Ben IBM'den tüm yazılım ile uzantıları derleme denedim ve hatta hiç şans ile kendi önceden derlenmiş ibm_db2 uzantısı denedim. IBM, sadece bu yüzden çekirdeğindeki Linux öykünme açık ama bu hiçbir şey yardımcı görünmüyordu Linux destekler.

Herkes harika olurdu OpenBSD altında yerel çalıştırmak için her şeyi almak rastlamak varsa, ama sanırım ne ben tüm yapmak gibi görünüyor beri IBM için ZendCore aracılığıyla büyük olasılıkla yüklü DB2 ile CentOS çalışan ikinci bir sunucu kurma (yapmak zorunda kalabilirsiniz Bu benim için) ve sürücü ben karşı göndermek ve ihtiyaç DB2 veri JSON temsil alabilirsiniz küçük bir işlem sunucusu kurmak böylece.

İkinci seçenek overkill görünüyor mu veya bir başkasının daha iyi bir fikir var mı?

8 Cevap

Eğer unixODBC kullanarak sunucuya bağlanırken baktınız mı? Yanlış hatırlamıyorsam eğer IBM DB2 desteği vardır ve OpenBSD'de derler. http://www.php.net/odbc PHP tarafında ilgili daha fazla bilgi için check out.

Eğer kurulum seçeneği çalışmak için bu alamıyorsanız bir Linux sunucu üzerinde bir web servis yapabileceğiniz hepsi olabilir.

Aksine bir 2 kutu kurulum yerine, neden iSeries için PHP Connector içine bakmak değil mi? Benim anabilgisayar çocuklar burada bizim iSeries kurulumu çok kolay olduğunu söyledi.

Biz, DB2 veri veri modelleri yükler onları serializes ve arayana onları döndüren PHP basit bir sunucu yazdı. Bu yaklaşım sadece başka bir PHP uygulaması hizmetini tüketmek anlamına gelir ama sadece nesneyi serialize ve boru aşağı göndermek için iki ucunda sadece çok daha hızlı.

İşte konuyla ilgili IBM'den bir PDF: http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

İkinci John Downey @, ben unixODBC ile AS/400 üzerinde PHP ile çalışmak için bağlantı ele verdik için.

UnixODBC içinde mevcut olup olmadığını görmek için phpinfo () kontrol edin. Ben SLES 10 üzerinde derlemek yoktu.

Bir web hizmeti benim için cevap olacak gibi görünüyor. Bir üretim kutusunda Ben oldukça derleme ve ODBC desteği PHP belgelerine göre derlenmiş olması gerekiyor çünkü PHP benim kendi özel kurulum muhafaza geçmesi olurdu değil.

Bir web hizmeti neredeyse kesinlikle gitmek için yoludur. Ben zaten bu düşündüm eminim, ama iki tarafta PHP yapıyoruz çünkü, bunun yerine uygun bir XML belgesi binanın kendi yanıtı verilerini oluşturmak için) (serialize kullanarak şeyleri biraz kısayol olabilir. Bu uzun vadede daha az esnek, ama muhtemelen seni almak ve daha hızlı çalışan olacaktır.

Gerçekten de, bir Webcoder sorunu çözmek için harika bir yol gibi görünüyor. Bunun için tamamen ayrı bir işletim sistemi olan önlemenin bir yolu (btw, oldukça güzel) Java için AS400 araçların üstüne Java webservice yazmak olacaktır. Yani en azından siz de OpenBSD kutunun üzerinde hizmet katman çalışmasına izin gerekir.

Siz de bir standart ODBC sürücüsü kullanarak doğrudan bağlayabilirsiniz. IBM sürümü genellikle size bunun gibi programları ve şeyler aramak için güçlü olmak gibi daha fazla özellik sunar. Yalnızca SQL ve saklanan prosedürleri gerekiyorsa, ODBC çalışması gerekir.

Neden PHP PDO kullanmak değil mi? Ben OpenBSD için mevcut tüm limanların bir kamu listesini bulamadık beri burada tahmin var, ama FreeBSD, NetBSD, vb için bir liman olmadığı için belki de şanslı.

(Ben FreeBSD kapıcı kullanım kitabına OpenBSD bağlantılar, Freshports sisteminiz için geçerli olmasa bile olduğunu tahmin?)

PDO mevcut değildir ve ben umuyorum beri portları kullanmak ve aşağıdaki linke göre php5-ODBC mevcut değilse:

Yani port üzerinden sisteminizi yönetmek varsayarak, göstericiler vardır.

Umarım ki olur!