2013-07-21 6 views
0

Flex 프로젝트 (WAMP 서버 연결 및 AMFPHP 포함)에 대한 간단한 구성이 있습니다. 모든 것이 제대로 작동하는 것처럼 보입니다. Flex에서 간단한 PHP 클래스 메서드를 호출하고 반환 된 데이터를 검색 할 수 있습니다.Flex에서 AMFPHP (PHP 상대 경로 포함)

하지만이 작은 문제가 있습니다. 상대 경로를 사용하여 다른 파일을 포함하거나 찾는 추가 PHP 라이브러리를 사용하고 있습니다.

  • 서비스
    • MyExampleService.php
    • LIB
      • MainLibraryFile.php
      • 클래스
        • LibraryGlobalClass.php
        : 그래서 여기에 단순화 된 AMFPHP/서비스/디렉토리입니다
      • WSDL
        • LibraryGlobalService.wsdl
        • LibraryConfig.php는

그런 다음 몇 가지 MainLibraryFile 작업 후 LibraryGlobalClass.php이 원하는 읽다 LibraryGlobalService.wsdl. 그것은 wsdl의 디렉토리에 대한 경로가 LibraryConfig.php에 저장되므로 GlobalClass는 먼저 wsdl의 구성 파일에서 경로를 읽고 Service wsdl 파일 이름과 연결합니다.

보인다 :

In LibraryConfig.php : 
public $ConfigPathToWsdl = "../wsdl/"; 

In LibraryGlobalClass.php : 
$this->config = new LibraryConfig(); 
$this->ReadWSDL($this->config->ConfigPathToWsdl . "LibraryGlobalService.wsdl"); 

를 그리고이 두 개의 점 (상위 디렉토리)이이 AMFPHP 호출에서 동일한 방식으로 작동하지 않는 것 같다. 그것은 etc 디렉토리에서 lib 디렉토리 (via ..를 거쳐서) 그리고 wsdl dir로가는 것이 아니라 대신 해결할 수없는 미친 링크를 만듭니다.

어떻게 든 그것을 바꿀 수있는 방법이 있는지 궁금하거나 뭔가를 잘못 이해하고 있습니다.

답변

0

모범 사례는 상대 경로가 아닌 절대 경로를 사용하는 것입니다. $ ConfigPathToWsdl을 dirname (FILE)과 같이 바꾸는 것은 어떨까요? '/../wsdl'? 여기에 주석으로 여기에 표시된 것과 같이 파일이 두 줄로 둘러싸여 있습니다. http://php.net/manual/en/function.dirname.php

+0

답변 주셔서 감사합니다. :) dirname을 사용하려고했지만 문제가 해결되지 않았습니다. 그래서 절대 경로를 만들었지 만 (메인 라이브러리 파일에 포함 된 라이브러리 루트 폴더에 대한 상대 경로). – MyFantasy512