上篇塗鴉介紹了 ZF2 的安裝和配置。php
這篇塗鴉介紹一下 ZF2 類庫文件的共享web
上篇塗鴉中介紹的」在線安裝「和」手動安裝「都是將 ZF2 的類庫文件安裝在」項目目錄/vendor/「(在線安裝)或者」項目目錄/vendor/ZF2/「(手動安裝)下。在實際的開發過程當中可能會使用 ZF2 開發多個項目,是否可讓多個 ZF2 項目共享一個 ZF2 類庫呢?固然能夠!apache
說明:app
一、個人 DocumentRoot 爲 E:\Webide
二、自定義虛擬主機 DocumentRoot 爲 E:\Web\ZF2Working\zf2-tutorial\publicpost
三、我在 e:\Web\ZF2Working 目錄下新建了一個目錄(ZF2Library)存放 ZF2 的類庫文件,以下圖所示學習
要設定公用 ZF2 類庫,有三種方法,但我只成功了兩種。spa
1、修改 php.ini 方法
將 ZF2 類庫路徑添加到 php.ini 的 include_path 變量中3d
一、打開 php.ini 文件code
二、找到 Paths and Directories 段
三、修改 include_path 值
include_path = ".;PATH\TO\php\pear"
修改爲
include_path = ".;PATH\TO\php\pear;E:\Web\ZF2Working\ZF2Library"
四、重啓 Apache
這個方法我沒有成功!有同窗成功的話記得告訴我一下,謝謝。
2、修改 httpd.conf 文件
自定義一個環境變量 ZF2_PATH 到 httpd.conf 文件中
一、打開 httpd.conf 文件
二、在文件的最後添加一句
SetEnv ZF2_PATH "E:/Web/ZF2Working/ZF2Library"
三、保存 httpd.conf 並退出
四、重啓Apache
3、修改虛擬主機配置(httpd-vhosts.conf)文件
在上一篇塗鴉中我定義了一個虛擬主機的配置
<VirtualHost *:80>
ServerName zf2-tutorial.localhost DocumentRoot /path/to/zf2-tutorial/public SetEnv APPLICATION_ENV "development" <Directory /path/to/zf2-tutorial/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
如今繼續在這個基礎上添加環境變量 ZF2_PATH
一、打開 httpd-vhosts.conf 文件
二、找到定義 zf2-tutorial.localhost 虛擬的段落
三、添加
SetEnv ZF2_PATH "E:/Web/ZF2Working/ZF2Library"
總的代碼以下:
<VirtualHost *:80>
ServerName zf2-tutorial.localhost DocumentRoot /path/to/zf2-tutorial/public SetEnv APPLICATION_ENV "development" SetEnv ZF2_PATH "E:/Web/ZF2Working/ZF2Library" <Directory /path/to/zf2-tutorial/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
四、保存 httpd-vhosts.conf 文件並退出
五、重啓 Apache
4、注意事項
一、注意路徑大小寫
若是在 Windows系統 下開發,線上環境是Linux等區分大小寫的系統,那麼在設定路徑時最好注意大小寫,這樣不會產生上線後報路徑錯誤。
二、下載的 ZF2 壓縮包解壓路徑
下載的 ZF2 壓縮包內部結構是
雙擊 ZendFramework-minimal-2.2.1 目錄後顯示
雙擊 library 目錄後顯示
咱們就只要這個 Zend 目錄就能夠了
將這個 Zend 目錄包含裏面大量的子目錄一塊兒解壓到事先創建好的 e:\Web\ZF2Working\ZF2Library 目錄下便可
三、環境變量名 ZF2_PATH
咱們自定義的環境變量是 ZF2_PATH,這個變量的值能夠本身定義,可是 ZF2_PATH 這個變量名稱不能自定義。
未完待續......謝謝