문제

곧 예정된 프로젝트가 있어서 웹사이트를 연결해야 합니다(PHP5/Apache 1.3/OpenBSD 4.1)를 OS400 V5R3이 설치된 iSeries에서 실행되는 백엔드 시스템에 저장하여 거기에 저장된 일부 테이블에 액세스할 수 있습니다.몇 가지 확인을 해봤지만 몇 가지 장애물에 부딪혔습니다.

내가 본 바에 따르면 IBM의 DB2 확장과 DB2 소프트웨어는 Linux에서만 실행됩니다.나는 IBM의 모든 소프트웨어를 사용하여 확장 기능을 컴파일해 보았고 사전 컴파일된 ibm_db2 확장 기능도 시도했지만 운이 없었습니다.IBM은 Linux만 지원하므로 커널에서 Linux 에뮬레이션을 켰지만 아무런 도움이 되지 않는 것 같습니다.

OpenBSD에서 모든 것을 기본적으로 실행하는 방법을 시도해 본 사람이 있다면 좋을 것입니다. 하지만 제가 해야 할 일은 DB2가 설치된 CentOS를 실행하는 두 번째 서버를 설정하는 것입니다(대부분 IBM용 ZendCore를 통해 모든 작업을 수행하는 것 같기 때문입니다). 이것은 내가 게시할 수 있는 작은 트랜잭션 서버를 설정하고 필요한 DB2 데이터의 JSON 표현을 얻을 수 있도록 드라이버를 제공합니다.

두 번째 옵션이 과도해 보이나요? 아니면 더 나은 아이디어가 있는 사람이 있나요?

도움이 되었습니까?

해결책

다음을 사용하여 서버에 연결하는 것을 보셨습니까? 유닉스ODBC?내가 정확하게 기억한다면 IBM DB2를 지원하고 OpenBSD에서 컴파일됩니다.확인해 보세요 http://www.php.net/odbc PHP 측에 관한 자세한 내용은

이것이 작동할 수 없다면 Linux 서버에서 웹 서비스를 설정하는 옵션이 당신이 할 수 있는 전부일 수 있습니다.

다른 팁

두 번째 상자를 설정하는 대신 iSeries용 PHP 커넥터를 살펴보는 것이 어떻겠습니까?내 메인프레임 담당자는 여기서 iSeries를 설정하는 것이 매우 쉽다고 말했습니다.

우리는 DB2 데이터에서 데이터 모델을 로드하고 이를 직렬화하여 호출자에게 반환하는 간단한 서버를 PHP로 작성했습니다.이 접근 방식은 다른 PHP 앱만 서비스를 사용할 수 있지만 양쪽 끝에서 개체를 직렬화하여 파이프 아래로 보내는 것이 훨씬 더 빠르다는 것을 의미합니다.

다음은 해당 주제에 대한 IBM의 PDF입니다. http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

두 번째 @John Downey에게, unixODBC를 사용하는 AS/400에서 PHP로 작업할 수 있는 연결을 얻었습니다.

unixODBC가 사용 가능한지 확인하려면 phpinfo()를 확인하세요.SLES 10에서는 컴파일할 필요가 없었습니다.

웹 서비스가 나에게 답이 될 것 같습니다.PHP 문서에 따르면 ODBC 지원을 컴파일해야 하기 때문에 프로덕션 환경에서는 PHP의 특수 설치를 컴파일하고 유지 관리할 필요가 없습니다.

웹 서비스가 갈 길이 거의 확실합니다.이미 생각해 보셨겠지만 양쪽에서 PHP를 수행하고 있으므로 적절한 XML 문서를 작성하는 대신 serialize()를 사용하여 응답 데이터를 작성하면 작업을 약간 단축할 수 있습니다.장기적으로 봤을 때 유연성은 떨어지지만, 아마도 더 빨리 시작하고 실행할 수 있을 것입니다.

실제로 웹서비스는 문제를 해결하는 좋은 방법인 것 같습니다.완전히 별도의 OS를 사용하지 않는 한 가지 방법은 Java용 AS400 도구 위에 Java로 웹 서비스를 작성하는 것입니다(아주 훌륭합니다, btw).최소한 OpenBSD 상자에서도 서비스 계층을 실행할 수 있어야 합니다.

표준 ODBC 드라이버를 사용하여 직접 연결할 수도 있습니다.IBM 버전은 일반적으로 프로그램 호출 등과 같은 더 많은 기능을 제공합니다.SQL과 저장 프로시저만 필요한 경우 ODBC가 작동합니다.

PHP에서 PDO를 사용하지 않는 이유는 무엇입니까?OpenBSD에서 사용할 수 있는 모든 포트의 공개 목록을 찾을 수 없었지만 FreeBSD, NetBSD 등을 위한 포트가 있기 때문에 여기에서 추측해야 합니다.어쩌면 당신도 운이 좋을 수도 있습니다.

(내 생각엔 OpenBSD가 FreeBSD의 포터 핸드북에 링크되어 있다고 해도, 프레쉬포트 귀하의 시스템에 해당되지 않습니까?)

PDO를 사용할 수 없고 포트를 사용하길 바라며 다음 링크에 따르면 php5-ODBC를 사용할 수 있습니다.

따라서 포트를 통해 시스템을 관리한다고 가정하면 포인터가 있습니다.

도움이 되었기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top