2010-03-10 6 views
2

로컬로, 내 xampp 설치시 Zend 폴더는 PEAR \ Zend에 있고 Pear는 포함 경로에 있습니다. 그래서 require_once "Zend \ Date.php"할 때 아무런 문제가 없습니다.내 도메인에 Zend Framework 라이브러리를 포함하려면 어떻게해야합니까?

그러나 내 도메인 (Hostmonster)에서는 그렇지 않습니다. phpinfo()를 사용하고 있지만 Zend 폴더가 어디에 있는지 전혀 알지 못합니다. 젠드 프레임 워크가 확실히 이용 가능하다는 것을 나타내는 것 같습니다. 호스트에게 물어 보니 php.ini 파일의 맨 아래에 zend_extension = "/ usr/local/Zend/lib/Optimizer-3.3.9/php-5.2.x/ZendOptimizer.so"를 포함하라고했습니다. 전혀 도움이되지 않았다.

또한 php.ini 파일의 내용이 무엇인지 모르겠습니다. 아무도 도와 줄 수 없습니까?

답변

2

아마/home/your_account/public_html/zend와 같은 디렉토리에 Zend 라이브러리를 공유 호스팅 계정에 업로드 할 수 있습니다.

그런 다음 webroot 디렉토리/home/your_account/public_html에 php.ini 파일을 수정하십시오 (존재하지 않는 경우 작성하십시오). 다음을 추가하십시오 :

include_path = .:/home/your_account/public_html/Zend 

참고 :이 설정은 PHP가 설정 한 모든 기본 포함 경로보다 우선합니다. .은 현재 디렉토리를 나타내며 :은 다른 경로를 구분합니다.

는 이제 PHP 파일에서 당신은 상단에 추가 할 수 있습니다

require_once 'Zend/Date.php'; 
2

당신이 위에서 언급 한 당신이 원하는 ZF 클래스를 포함한 관련이없는 것처럼 젠드 확장을 가능하게한다. 폴더에있는 ZF 파일을 다운로드하여 원하는 위치에 업로드하십시오. set_include_path()을 사용해보세요! 아래의 샘플 코드 :

<?php 
    // Define relative path to ZendFramework in public_html 
    define('ZF_PATH', '/../../../lib/php/zendframework'); 

    // Define path to application directory 
    defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); 

    // Define real path to ZendFramework if it's not yet included in include_path 
    if(!strpos(get_include_path(), 'zendframework')) 
     define('ZF_REAL_PATH', realpath(APPLICATION_PATH . ZF_PATH)); 
    else define('ZF_REAL_PATH', ''); 

    // Updating include_path 
    set_include_path(implode(PATH_SEPARATOR, array(ZF_REAL_PATH, get_include_path(),))); 

    // Done! the rest of the code might be unnecessary in your case. 
    require 'Zend/Application.php'; 

    // Create application, bootstrap, and run 
    $application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini'); 
    $application->bootstrap()->run(); 

이 경로를 포함하는 디렉토리를 추가하는 경우에 대한 좀 복잡해 보일 수도 있지만 ZF 응용 프로그램이 사용하는 가장 일반적인 방법, 나는 생각한다. 지금

set_include_path(get_include_path().PATH_SEPARATOR.realpath('../path to folder containing zend classes')); 
require_once('Zend/Loader.php'); 
require_once('Zend/Loader/Autoloader.php'); 
Zend_Loader::registerAutoload(); 

이 포함 수십 필요하지 않거나 젠드의로 코드 ... 를 어지럽히고 필요 :

0

는 젠드 자동 로더는 쉽게 인생을 만드는 1.11.1 이상

관련 문제