2012-08-10 107 views
0

我正在嘗試安裝顯然是使用Zend Framework編寫的TheStudio應用程序。我的測試服務器運行Ubuntu 12.04和我的應用程序目錄存儲在/ homeZend Framework - 如何正確設置包含路徑?

我的錯誤日誌中指出的config.php狀態

PHP Fatal error: require_once(): Failed opening required 'usr/share/php/libzend-frameworkphp/Zend/Loader/Autoloader.php' 
    (include_path='.:../library:../application/db:../application/models:../application/utils:../application/views/helpers:../application') in /home/application/config/config.php on line 22 

第22行:

require_once '/usr/share/php/libzend-framework-php/Zend/Loader/Autoloader.php'; 

include路徑如下所示:

define('PS',  PATH_SEPARATOR); 
define('DS',  DIRECTORY_SEPARATOR); 
define('ROOT_DIR', dirname('home')); 

// Modify include path 
$paths = '.' . PS . '..' . DS . 'library' 
     . PS . '..' . DS . 'application' . DS . 'db' 
     . PS . '..' . DS . 'application' . DS . 'models' 
     . PS . '..' . DS . 'application' . DS . 'utils' 
     . PS . '..' . DS . 'application' . DS . 'views' . DS . 'helpers' 
     . PS . '..' . DS . 'application'; 
ini_set("include_path", $paths); 

如何修改路徑語句以將目標文件es位於/ home目錄中?是否還有其他調整來解決上述錯誤?

+0

[我如何在我的域中包含Zend Framework庫?](http://stackoverflow.com/questions/2414341/how-do-i-include-zend-framework-libraries-in-my-域) – 2012-08-13 03:53:50

回答

0

/usr/share/php/libzend-frameworkphp是Zend Framework Ubuntu軟件包的默認安裝路徑,所以看起來這個應用程序假設會在那裏。 sudo apt-get install zend-framework應該解決這個問題。

我想說在一個require_once調用中包含完整路徑是不好的做法,並且在第三個代碼示例(我假設它是從應用程序?)中定義了太多包含路徑。

+0

我已經通過apt-get安裝了ZF。我確認這是目錄位置。如何縮短require_once語句以符合更好的練習? – SidC 2012-08-10 22:42:19

+0

是config.php你的代碼還是應用程序的一部分? '/ usr/share/php/libzend-framework'應該在你的include路徑中,所以你只需要'require_once'Zend/Loader/Autoloader.php';' – 2012-08-10 23:33:05

+0

Config.php位於application/config目錄下。 – SidC 2012-08-11 13:18:39