2011-12-02 2 views
0

원격 처리를 위해 Adobe Air와 PHP를 Zend Framework와 함께 사용하고 있습니다.채널이 수신 확인을 받기 전에 연결이 끊어졌습니다.

현재 하나의 특정 컴퓨터에서 Air 앱이 PHP 기능을 수행하는 첫 번째 호출에서 "수신 확인을 받기 전에 채널 연결이 끊어졌습니다"라는 오류가 표시됩니다.

일부 디버그 문으로 PHP 파일을 실행 해 보았는데 문제가 없으므로 데이터베이스에 연결하는 PHP의 문제는 아닙니다. 또한 flex에서 호출 된 함수가 호출되고 (마지막 return 문 앞에 로그가 기록됨) 컨트롤이 flex로 돌아 오지 않습니다. 나는 또한 동일한 매개 변수 값을 가진 php 파일을 통해 동일한 함수를 직접 호출하여 확인했으며 예상 값을 적절하게 반환합니다. 그래서 나는 그것이 일부 PHP 오류 코드로 인해 예외가 아니기 때문에 긍정적이다.

전체 설치가 다른 컴퓨터에서도 완벽하게 작동합니다. 내가 맹목적으로 모든 것을 다시 설치하고 싶지는 않습니다. 설치가 어떤 원인인지 알기를 원하기 때문입니다.

내가 누락 된 아이디어가 있습니까?

+0

여기에 성공한 사람이 있습니까? 나는 같은 문제가있다 ... – Saariko

+0

사실 나는 처음부터 프로젝트를 만들었고 기존 소스 파일을 포함 시켰고 잘 작동하기 시작했다. 처음에는 무엇이 잘못되었는지 확신하지 못했습니다. –

답변

0

은 flex와 함께 zend_amf를 사용하는 동안 같은 오류가 발생했습니다. Richard Bates 튜토리얼 VTC Adobe Air 및 PHP 개발을 따르고 있습니다.

가장 유용한 힌트는 apache 로그에있었습니다 (wamp-> Apache-> Apache 로그에서 마우스 오른쪽 버튼을 클릭하면 볼 수 있습니다).

최신 로그는 기본적으로 맨 아래쪽에 있습니다.

flex .swf 파일에 액세스 할 때 포함 경로를 찾을 수 없어 치명적인 오류가 발생했습니다.

wamp에서 액세스 할 때 php 파일 (서비스 및 지원 PHP 파일)이 정상적으로 작동했습니다.

아파치 오류 로그 예 :

치명적인 오류 : 요구() function.require] 실패 개구 필요 '../DBConnection.php'(include_path도 = '; C : \ PHP가 \ 포함하며, (D) D : \ Wamp \ www \ EmployeeDirectory \ include \ services \ EmployeeService.php의 3 번째 줄에 referer : app : /EmployeeDirectory.swf

을 입력하십시오.

그래서 관련 파일의 경로를 php.ini include_path에 추가하거나 파일 경로에 상수를 사용하십시오. 리차드에

덕분에 이런 좋은 튜토리얼에 대한 방법 : 다른 방법

: 당신이

젠드의 경호 국 클래스를 설정 한 경우

확인

게이트웨이 클래스

은 gateway.php의 첫 번째 줄에 포함합니다.

$ basedir = $ _SERVER [ 'DOCUMENT_ROOT']. 'YourProjectFolderInWamp /'; require ($ basedir. "include/services/YourService.php");

zend amf의 set class 메소드를 어딘가에 사용하는 것을 잊지 마십시오.

$ server-> setClass (new YourService());

관련 문제