2010-03-10 101 views
2

本地,在我的xampp安裝中,Zend文件夾位於PEAR \ Zend下,Pear位於包含路徑中。所以當我做require_once「Zend \ Date.php」時沒有問題。如何在我的域中包含Zend Framework庫?

但是,在我的域名(Hostmonster),情況並非如此。我不知道Zend文件夾在哪裏,雖然做phpinfo();似乎表明Zend Framework絕對可用。我詢問主機,他們告訴我要在php.ini文件的底部包含zend_extension =「/ usr/local/Zend/lib/Optimizer-3.3.9/php-5.2.x/ZendOptimizer.so」根本沒有幫助。

另外,我甚至不知道php.ini文件中的那條語句。任何人都可以請幫忙?

回答

2

也許你可以將Zend庫上傳到你的共享主機帳戶,如/ home/your_account/public_html/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

啓用Zend擴展爲您上面提到的是不相關的,包括你想要做的ZF類。下載ZF並將其上傳到public_html文件夾中的任何位置,如果該文件夾尚未在某個位置提供。使用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應用程序使用,我想。

0

了Zend自動加載磁帶機使生活更輕鬆:

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(); 

現在你不需要數十包括或需要塞滿你的代碼... 諸如Zend的:1.11.1至少

相關問題