在伺服器範圍內安裝和配置 Zend Framework 2在拜託你___在b在n噸在Ubuntu並試駕 ZendSkeletonApplication
我正在嘗試一次為我的所有子域安裝 ZF2(Ubuntu 12.04)。
ZF2 剛剛發布了它的第一個穩定版本,所以我想把它安裝在我的開發伺服器上,最後親自動手。
我下載了 ZF2 並將文件解壓縮到**/var/ZF2/**(現在包含 Zend/
$$ all components $$). 然後我編輯了**/etc/php5/apache2/php.ini**並添加了 ZF2 文件的路徑:
include_path = ".:/var/ZF2"
然後我下載了 ZendSkeletonApplication 並將其解壓縮到**/var/www/skeleton**中。
我知道建議composer.phar安裝 ZF2 應用程序,但是:
- 我不想在本地安裝 ZF2… 我想讓伺服器範圍的安裝能夠在我的開發伺服器上的所有域/子域上使用我的 Zend 組件。
- 在使用任何自動安裝過程之前,我真的很想首先通過手動操作來了解該過程。
顯然,當我啟動 ZendSkeletonApplication 時出現問題,並且在點擊以下 URL 時得到以下資訊:
http://www.myDevServer.com/skeleton/public/
Fatal error: Uncaught exception 'RuntimeException' with message 'Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.' in /var/www/skeleton/init_autoloader.php:48 Stack trace: #0 /var/www/skeleton/public/index.php(9): include() #1 {main} thrown in /var/www/skeleton/init_autoloader.php on line 48
我瀏覽了文件、教程等,但對這種配置沒有直接的答案。
在官方文件中,在(非常短的)安裝章節中,我看到了在 PHP 中添加包含路徑的參考。但是沒有例子…
http://zf2.readthedocs.org/en/latest/ref/installation.html
一旦您獲得了 Zend Framework 的副本,您的應用程序需要能夠訪問在庫文件夾中找到的框架類。儘管有幾種方法可以實現這一點,但您的 PHP include_path 需要包含 Zend Framework 庫的路徑。
但是,當我進入“入門”一章時,全是composer.phar,沒有別的了……
http://zf2.readthedocs.org/en/latest/user-guide/skeleton-application.html
我不是系統管理員,只是 Zend 愛好者。我很確定這個 PEBKAC 問題對於那些已經進入 ZF2 以前的測試版的人來說可能很明顯。謝謝你幫助我。
編輯:
問題已解決,感謝 Daniel M.
只需在 httpd.conf 中設置 ZF2_PATH 即可。
SetEnv ZF2_PATH /var/ZF2
我還刪除了 php.ini 中的 include_path 引用,一切正常。所以我不知道為什麼 Zend 建議將它包含在他們的官方文件中。
簽
init_autoloader.php
入應用程序的基本目錄:// Support for ZF2_PATH environment variable or git submodule if (($zf2Path = getenv('ZF2_PATH') ?: (is_dir('vendor/ZF2/library') ? 'vendor/ZF2/library' : false)) !== false) { if (isset($loader)) { $loader->add('Zend', $zf2Path . '/Zend'); } else { include $zf2Path . '/Zend/Loader/AutoloaderFactory.php'; Zend\Loader\AutoloaderFactory::factory(array( 'Zend\Loader\StandardAutoloader' => array( 'autoregister_zf' => true ) )); } }
最簡單的方法是設置
ZF2_PATH
環境變數。如果您正在執行 apache Web 伺服器,那麼您需要做的就是mod_env。您可以創建一個.htaccess
設置變數的文件。如果它仍然無法執行,您可以
init_autoloader.php
很容易地調試文件。