2010-03-25 3 views
1

나는 이것을 php.net 웹 사이트에서 얻었다. 이것은 내가 아래 tho 코드와 함께 가지고있는 문제와 관련이 있습니다. 누구든지 다음과 같은 일을 설명 할 수 있습니까? 나는 비스타를 사용하고있다. 서버에서 Word를 실행하면 무엇을 의미합니까? 말씀 예를 실행을 얻기 위하여COM이 작동하도록 서버에서 단어를 실행 하시겠습니까?

,하여 서버 측에서 다음을 수행합니다. 나를 위해 일했습니다 ... 1. 시작 -> 실행을 클릭하고 "dcomcnfg" 을 입력하십시오. "응용 프로그램"탭에서 "Microsoft Word 문서" 으로 이동하십시오. 3. 속성 버튼 을 클릭하십시오. "보안"탭 5. "사용자 지정 액세스 권한 사용"을 클릭하고 EDIT 을 클릭합니다. 6. 추가를 클릭 한 다음 SHOW USERS를 클릭합니다. 7. IIS 익명 사용자 계정 (일반적으로 IUSR_)을 강조 표시합니다. 을 클릭하십시오. 8. 이동 9. "사용자 지정 시작 권한 사용"을 클릭하고 EDIT 을 클릭합니다. 10. 추가를 클릭 한 다음 SHOW USERS를 클릭합니다. 11. IIS 익명 사용자 계정 (일반적으로 IUSR_)을 강조 표시합니다 ( ). 추가를 클릭하십시오. 12. OK를 누르고 적용을 누릅니다. IUSR_ 계정으로 컴퓨터에 로그인, 또한

, 당신은 마이크로 소프트 워드 문서 속성에서 "아이덴티티"탭을보고해야하고 세트가 "대화 형 사용자"는

것을 볼 단어를 시작하고 사용자가 처음으로 사용자에게 실행될 때 이라는 단어가 표시된 대화 상자를 통해 을 클릭해야합니다. 즉, Word 이 IUSR_ 사용자에 대해 완전히 열리도록하십시오. 사용자가 서버에서 실행되는 웹 페이지에 액세스

<?php 
    // starting word 
    $word = new COM("word.application") or die("Unable to instantiate Word"); 
    echo "Loaded Word, version {$word->Version}\n"; 

    //bring it to front 
    $word->Visible = 1; 

    //open an empty document 
    $word->Documents->Add(); 

    //do some weird stuff 
    $word->Selection->TypeText("This is a test..."); 
    $word->Documents[1]->SaveAs("Useless test.doc"); 


    //closing word 
    $word->Quit(); 

    //free the object 
    $word = null; 
    ?> 

답변

2

(홀수 비스타에서 웹 서버를 실행하는가? - 이것은 개발 환경), 웹 서버 소프트웨어 (Microsoft 인터넷 정보 시스템, 또는 IIS)는 프로세스 (PHP의 경우)를 실행하여 해당 요청에 응답합니다. Windows에서는 모든 프로세스가 사용자 계정으로 실행되어야합니다. 위에 제시된 지침은 Microsoft Word를 실행하기위한 IIS 사용자 계정에 권한을 부여하는 방법을 자세히 설명합니다.

Word 시작 지침은 문제 해결 단계입니다. 웹 페이지 요청에 대한 응답으로 Word를 실행하려는 사용자가 실제로 Word를 시작할 수 있는지 확인하십시오.

코드는 Microsoft Word 기능을 제공하는 COM 서버를로드하고 텍스트를 추가 한 다음 문서를 저장합니다. 웹 서버는 IIS 사용자 계정으로 PHP 인터프리터를 실행하고 PHP는 Word COM 서버를 시작하기 때문에 IIS 사용자는 COM 개체를 시작할 수있는 권한이 있어야하기 때문에 이전에 지침이 필요했습니다.

의미에 관한 한, 사용자 입력 내용을 적절히 정리하고 유효성을 검사하면 보안 관련 사항은별로 없다고 생각합니다. Word를 사용하면 보안과 관련하여 많은 변화가 없습니다. 그러나 잠재적으로 중요한 성능 병목 현상이 있습니다. Word 용 COM 서버를로드하는 데 시간이 오래 걸릴 수 있으며 웹 페이지에 대한 요청간에 끊김이 있으면 COM 시스템이 Word COM 서버를 언로드하여 그 결과로 다음 요청시 완전히 다시로드 될 수 있습니다.

관련 문제