Skip to content
조회 수 10336 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄



PHP는 Win32 플랫폼의 COM과 DCOM 객체에 접근할수 있습니다.

  1. 어떤것을 계산하는 DLL을 빌드했습니다. PHP상에서 이 DLL을 실행시킬수 있는 방법 이 있습니까?
  2. 'Unsupported variant type: xxxx (0xxxxx)'은 무엇을 의미합니까?
  3. PHP에서 비주얼한 객체(visual object)를 조작할수 있습니까?
  4. 세션안에 COM 객체를 저장할 수 있습니까?
  5. COM 에러를 어떻게 추적할 수 있습니까?
  6. 펄에서 쓰던 방법으로 PHP 스크립트에서 DLL 파일을 만들수 있습니까?
  7. 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'의 의미는 무엇입니까?
  8. 원격 서버에서 COM 객체를 어떻게 실행할수 있습니까?
  9. 'DCOM is disabled in C:\path...\scriptname.php on line 6'라는 메시지를 봤습니다. 어떻게 해야 하나요?
  10. PHP에서 ActiveX 객체를 부르거나/변경할수 있습니까?
  11. 특정 컴포넌트에서 실행중인 인스턴스에 접근 가능합니까?
  12. COM 객체로부터 받은 이벤트를 제어할 방법이 있습니까?
  13. 하나 이상의 인터페이스를 갖는 COM 객체의 메쏘드를 불러 들이려고 하는데 문제에 봉착했습니다. 어떻게 해야 합니까?
  14. 그래서 PHP와 COM이 작동하는군요. COM+는 어떤가요?
  15. PHP가 COM 객체를 다룰수있다면, PHP로 컴포넌트 자원을 관리하는 MTS를 쓸수있지 않을까요?

http://php.net/manual/kr/faq.com.php


어떤것을 계산하는 DLL을 빌드했습니다. PHP상에서 이 DLL을 실행시킬수 있는 방법 이 있습니까?

간단한 DLL이라도 PHP에서 실행할 방법은 아직 없습니다. 접근가능한 COM서버를 포함하는 DLL이고, IDispatch 인터페이스로 구현되어있다면 가능할수도 있습니다.

'Unsupported variant type: xxxx (0xxxxx)'은 무엇을 의미합니까?

몇가지의 VARIANT 타입과 그 타입간의 조합이 가능합니다. 그들 대부분은 거의 지원이 되고있지만 일부가 아직 구현되어있지 않습니다. 배열은 완전히 지원되지 않습니다. 오직 1차원 배열만이 PHP와 COM사이에서 전달이 가능합니다. 지원되지 않는 다른 타입을 발견했다면 그 타입을 버그 레포트로 알려주기랍니다 (아직 보고되지 않는것들이라면) 그리고 더 자세한 정보도 함께 제공해주십시오.

PHP에서 비주얼한 객체(visual object)를 조작할수 있습니까?

가능합니다. 하지만 PHP는 대부분 웹서버의 환경에서 웹 스크립트 언어로서 이용되고 있습니다. 따라서 서버가 비주얼 객체를 보여주지는 않을것입니다. 응용프로그램 스크립트를 위한 PHP(PHP-GTK같은)를 사용한다면 COM을 통해서 비주얼 객체(visual object)에 접근하고 조작하는데 아무 제한이 없습니다.

세션안에 COM 객체를 저장할 수 있습니까?

그건 안됩니다. COM 인스턴스는 리소스로 취급되므로 오직 단일 스크립트의 문맥에서만 가용한것입니다.

COM 에러를 어떻게 추적할 수 있습니까?

PHP 5에서, COM 확장은 com_exception 예외를 발생합니다. 이를 잡아서 code 멤버를 조사함으로써 다음에 취할 행동을 결정할 수 있습니다.

PHP 4에서는 COM 오류를 PHP 자체에서 제공하는 방법(@, track_errors, ..)으로 추적할 수 없습니다.

펄에서 쓰던 방법으로 PHP 스크립트에서 DLL 파일을 만들수 있습니까?

만들수 없습니다. 재수없게도 PHP를 위해 그런 툴이 존재하지 않습니다.

'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'의 의미는 무엇입니까?

이 에러는 다음과 같은 원인일수 있습니다.

  • CLSID가 잘못되었다
  • 필요한 DLL이 존재하지 않는다
  • 필요한 컴포넌트가 IDispatch 인터페이스로 구현되지 않았다

원격 서버에서 COM 객체를 어떻게 실행할수 있습니까?

로컬 객체를 실행시키는것과 완전히 똑같습니다. 단지 COM 생성자의 두번째 인수에 다른 서버의 IP를 넘겨주면 됩니다.

php.ini에서 com.allow_dcom=TRUE로 설정해야 합니다.

'DCOM is disabled in C:\path...\scriptname.php on line 6'라는 메시지를 봤습니다. 어떻게 해야 하나요?

php.ini를 수정하여 com.allow_dcom=TRUE로 설정합니다.

PHP에서 ActiveX 객체를 부르거나/변경할수 있습니까?

이것은 PHP에서 할일이 아닙니다. HTML 문서에서 ActiveX 객체가 포함되있으면 클라이언트 단에서 그 코드를 처리하는 것입니다. PHP 스크립트와는 전혀 관련이 없고 따라서 서버단과는 직접적인 관련이 없습니다.

특정 컴포넌트에서 실행중인 인스턴스에 접근 가능합니까?

모니커(monikers)의 도움으로 가능합니다. 하나의 워드 인스턴스로 다방향 레퍼런스를 얻고 싶다면 다음처럼 그 인스턴스를 만들 수 있습니다.

<?php
$word 
= new COM("C:\docs\word.doc");
?>

위처럼 하면 실행중인 인스턴스가 없을 때에는 새로운 인스턴스를 만들수 있고, 실행중인 인스턴스가 이미 존재하면 그 핸들을 넘겨주게 됩니다.

COM 객체로부터 받은 이벤트를 제어할 방법이 있습니까?

com_event_sink()를 사용하여 이벤트 싱크와 바인드를 정의할 수 있습니다. PHP가 이벤트 싱크 클래스의 뼈대을 생성하게 하기 위하여com_print_typeinfo()를 사용할 수 있습니다.

하나 이상의 인터페이스를 갖는 COM 객체의 메쏘드를 불러 들이려고 하는데 문제에 봉착했습니다. 어떻게 해야 합니까?

답은 불만스럽겠지만 간단합니다. 확실치는 않지만 당신은 아무것도 할수없습니다. 어떤사람은 이 문제와 관련된 정보를 가지고 있습니다. » 저에게 알려주시라 :)

그래서 PHP와 COM이 작동하는군요. COM+는 어떤가요?

MTS와 MTMQ를 통해서 컴포넌트를 관리하는 프레임워크가 추가되면서 COM에서 COM+로 발전된것입니다. 그런데 PHP는 그런 컴포넌트를 지원하지 않습니다.

PHP가 COM 객체를 다룰수있다면, PHP로 컴포넌트 자원을 관리하는 MTS를 쓸수있지 않을까요?

PHP 자체로는 아직 트랜젝션을 관리할수 없습니다. 따라서 에러가 발생하더라도 롤백으로 초기화되지않습니다. 트랜젝션을 지원하는 컴포넌트를 사용한다면 트랜젝션 관리를 구현해서 써야합니다.



로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
757 컴퓨터잡담 그림안에 투명텍스트박스 넣기. 2 2010.09.29 9564
756 컴퓨터잡담 스누피 고스트 file 2010.10.01 6031
755 컴퓨터잡담 -응답없음- 으로 멈춰버린 프로그램 대기시간 줄이는 방법 2010.10.01 7843
754 컴퓨터잡담 인터넷익스플로러 로딩속도 빠르게 하는방법 1 2 2010.10.01 12097
753 컴퓨터잡담 autohotkey 변수의 이해 2010.10.02 20631
752 컴퓨터잡담 램디스크 숨기는 방법 2 2010.10.02 5670
751 컴퓨터잡담 레지스트리 컨트롤로 XP의 가상메모리 페이징 파일의 강제 자동설정을 끌 수 있는 방법 2010.10.02 9075
750 컴퓨터잡담 [엑셀] 와일드카드 문자의 변환처리 방법 1 2 2010.10.04 10960
749 컴퓨터잡담 [엑셀] SUMPRODUCT 함수 이용, 조건에 따른 중복항목 제외 후 카운트하는 함수 3 2010.10.09 14579
748 컴퓨터잡담 자바스크립트로 전송(submit) 버튼 누르기 3 2010.10.10 103644
747 컴퓨터잡담 [javascript_tip]자바스크립트 값 넘기기 2 1 2010.10.10 18961
746 컴퓨터잡담 javascript만으로 폼전송 2010.10.11 13313
745 컴퓨터잡담 Autohotkey 파일 저장시 한글 깨짐 현상 2010.10.11 11170
744 컴퓨터잡담 레지스트리 팁 - 로그오프하지 않고 반영하기 2010.10.25 5297
743 컴퓨터잡담 북마크 링크 주소모음 2010.10.30 102936
742 컴퓨터잡담 서비스팩3 설치 후 Client Session manager 문제, SM00905 오류 해결방법 1 2 2010.11.01 14407
741 컴퓨터잡담 Windows XP 인증방법 개선으로 업데이트 기능 정상 사용하기 2010.11.03 6590
740 컴퓨터잡담 emule 서버리스트 2010.11.10 43048
739 컴퓨터잡담 토렌트 다운로드한 파일이 실행되지 않을경우 2010.11.11 5406
» 컴퓨터잡담 [충격 ] PHP는 Win32 플랫폼의 COM과 DCOM 객체에 접근할수 있습니다. 2010.11.15 10336
Board Pagination Prev 1 ... 7 8 9 10 11 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소