2012-06-13 2 views
0

젠드 PHP 프레임 워크로 구축 된 웹 사이트를 새로운 서버로 옮기려고하는데, 점점 어려워지고 있습니다. 나는 원래이 사이트를 구축하지 않았고 전에이 프레임 워크로 작업 해본 적이 없기 때문에 모두 혼란 스럽다. 나는 APPLICATION_PATH 디렉토리 (/ 홈/iswlp/응용 프로그램)에서 후행 슬래시를 제거하는 시도젠드 프레임 워크로 구축 된 웹 사이트 구성하기

Error : Invalid controller specified (~iswlp) 
Trace info : #0 /home/iswlp/library/Zend/Controller/Front.php(954): 
Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 /home/iswlp/public_html/index.php(80): 
Zend_Controller_Front->dispatch() #2 {main} 

하지만, 차이는 없습니다 :

내가 수신하고 오류 메시지입니다.

아이디어가 있으십니까?

감사합니다. /Users/Tim/Sites/iswlp.com.au/application/ 대신 /home/iswlp/application/ : /Users/Tim/Sites/iswlp.com.au/ 프로젝트 루트 디렉토리 인 경우

답변

0

APPLICATION_PATH로 설정해야한다 (등 application, library라는 폴더를 포함).

+0

와우. 사이트의 로컬 버전에서 오류 메시지를 입력했습니다. 나는 작전을 편집했다. – Leeloo

0

라우팅과 관련된 문제가있는 것 같습니다.

mod_userdirhttp://somedomain.com/~iswlp/foo과 같은 응용 프로그램에 액세스하고있는 것 같습니다. 맞습니까? 문서 루트가 두 경우 모두 동일하지만, 해결 방법으로 domain.comanotherdomain.com/~iswlp

에서 호출 할 때 base을가 다르기 때문에 젠드 프레임 워크를 던지고 어떤 것으로 보인다 오류에서

, 당신이 할 수있는 PC에서 호스트 파일을 수정하고 사이트에 액세스하려고 할 때 오류가 사라지는지 확인하십시오.

이 시도 :

  • 는 ZF 애플 리케이션에 호스팅하는 서버의 IP 주소를 확인합니다.
  • 시스템에서 hosts file을여십시오.
  • 1.2.3.4 서버의 IP를 호스트 파일에 1.2.3.4 domain.com을 추가하고, 아파치/IIS에서 구성으로 domain.com 사이트의 가정 도메인 이름입니다/OtherServer
  • 이제 브라우저를 열고 이동하려고 to domain.com

그래도 오류가 발생합니까?

ZF 응용 프로그램을 /~username 폴더에 호스팅하는 경우 시도한 적이 없지만 응용 프로그램에 대해 약간의 구성 변경이있을 수 있습니다.

0

구성/라우팅 문제 - 사물의 몇 확인 :

분명히 젠드를 설치하는 몇 가지 방법이 있지만 대부분의 사람들은 보안을 위해 서버에 자신의 WWW/public_html을 폴더 외부 응용 프로그램 및 라이브러리 폴더를 넣어 . 사실 젠드 (Zend)가 박스에서 어떻게 작동하는지 (또는 그렇게 추측된다). 그래서 일부 설정은 이전 호스트에 맞게 변경되었을 수 있습니다 (다시 말하지만 이것은 응용 프로그램과 라이브러리 파일이 한 레벨 (즉, 서버의 공개 디렉토리 외부)이라고 가정합니다.

색인.PHP 파일 조각 :

// Define path to application directory 
if (!defined('APPLICATION_PATH')) {  
    define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); 
} 

// Define the application root 
if (!defined('APPLICATION_ROOT')) {  
    define('APPLICATION_ROOT', realpath(dirname(__FILE__) . '/..')); 
} 

// Ensure library/ is on include_path 
set_include_path( 
    APPLICATION_ROOT . '/library' . PATH_SEPARATOR  
    . get_include_path() 
); 

htaccess로 파일 조각

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} \.(js|css|gif|jpg|png|swf)$ [OR] 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

당신이 젠드 당신이 맞게의 index.php와 htaccess로 파일을 모두 수정해야합니다 설치 표준이없는 경우.