2009-06-22 3 views
3

친구가 COM 객체와 SOAP 인터페이스로 만든 API를 보여주었습니다. 그는 PHP에서 윈도우즈에서 어떻게 작동하는지 보여 주었지만 리눅스 나 다른 비 윈도우 OS에서 성취 할 수 있다면 심각한 의구심을 가지고 있습니다. 감사! 친구의 데모 응용 프로그램은 당신이에 기능에 액세스 할 수없는 이유를 다음 매우 몇 가지 이유가 있어야 SOAP 인터페이스를 통해 COM API를 호출 한 경우PHP를 사용하여 Linux의 COM 객체에 액세스 할 수 있습니까?

답변

3

COM 개체의 실행 위치에 따라 다릅니다. 리눅스 박스는 윈도우 클라이언트 브라우저에 COM 객체 (ActiveX)를 제공 할 수 있습니다. 리눅스 박스는 윈도우 박스에서 실행되는 COM 객체에 SOAP 호출을 할 수있다.

그러나 Linux에서 COM 개체를 실행하려면 적어도 Linux 용으로 다시 작성해야하고 더 많은 Linuxy (.so)가 필요합니다. 아마도 모든 PHP COM 지원은 Linux 버전으로 이식되지 않지만 C 바인딩을 통해 .so 파일을 호출 할 수 있습니다.

1

의 일부입니다 비 윈도우 플랫폼.

1

아니요. 사용자는 linux/unix에서 com 객체에 액세스 할 수 없습니다. 승리 머신에서만.

가능한 해결책은 COM 개체와 통신 할 Windows 컴퓨터에 다른 웹 서버를 설치하고 Linux 컴퓨터의 PHP가 Windows 컴퓨터의 PHP와 통신하거나 해당 COM 주변에 웹 서비스를 구축하는 것입니까?

2

필자가 아는 한 COM은 Windows 전용입니다 (WINE 또는 Mono가 Linux에서 실행될 수도 있음). 따라서 COM이 클라이언트 코드의 일부로 사용되면 운이 다되었을 수도 있습니다.

COM 개체가 Windows 서버에서 실행 중이고 SOAP 인터페이스를 제공하는 경우에는 잘해야합니다. HTTP를 통해 Windows 시스템에 연결하고 SOAP 요청을하십시오. 서버는 무의미합니다.

0

내가 당신의 최선의 선택은 윈도우 서버 실행이 다음 몇 가지를 알아내는 것 같다 ... 당신이 뭔가를 얻을 "수"...하지만 난 그게 노력이 가치가 의심 와인 장난 될 수 있습니다 (API)가 이미 비누 인터페이스를 제공한다면 (예 : kev가 말한 것처럼) 그렇지 않으면 (Chells가 말한 것처럼) 또는 뭔가 더 개발해야합니다. 간단한 집에서 가져온/게시 페이지처럼 ...

관련 문제