簡體   English   中英

Zend工具包含路徑

[英]Zend tool include path

是否可以在不訪問include_path目錄的情況下安裝和使用ZF(及其控制台工具)? 我嘗試將... Zend / library direcotry添加到include_path中,但沒有成功。

我這樣做是這樣的:

php -r 'set_include_path(get_include_path() . PATH_SEPARATOR . "/var/www/.../Zend/library")';

在上面函數的var_dump結果之后,它返回了舊的include_path,這應該意味着成功。 但是下一次對get_include_path()的調用也返回了路徑。

我也嘗試設置環境變量:

ZF_INCLUDE_PATH_PREPEND="/var/www/.../Zend/library"

舊的include_path目錄中有我們公司的框架,因此我無法(即使我不能)將ZF庫復制到那里。

我認為適當的框架不應像include_path那樣依賴任何全局PHP設置。 我認為應該可以在ZF內部配置文件中的某個位置設置包含路徑。

編輯:
我將set_include_path('/var/www/.../Zend/library')到zf.php文件中,該工具停止拋出“錯誤的include_path”錯誤。 實際上,它停止打印任何輸出。 當執行命令zf create project test它什么也不做。 尚未創建〜/ .zf文件夾。

如果您無法在某些“全局”包含路徑中復制zf庫,例如/usr/share/php/ ,則仍可以將其復制到項目所在的位置,然后從此處啟動zf工具。 文件夾結構如下:

/var/www/zf_tool
                `/bin/
                      `zf.sh
                      `zf.php
                `/library
                      `/Zend

復制庫下的Zend文件夾,以及bin下的zf.shzf.php腳本,並將它們設置為可執行的chmod a+x zf.sh zf.php如果尚未執行)。 接下來,如果您運行/var/www/project/bin/zf.sh它將在include_path中查找zf文件,但是如果不存在,它將在一個文件夾中進入library文件夾。 只有在zf庫中找不到該庫時,它才會因錯誤而死亡。 最后,創建一個新的zf項目很簡單:

$ pwd
/var/www/zf_tool/bin
$ ./zf.sh create project /var/www/test_project

而已。 HTH :)

使用他的set / get include_path函數只會在“請求”的生命周期內進行設置,因此一旦命令/ Web請求完成,它就會恢復正常。 至於設置本地副本的包含路徑,您可以在嘗試的環境變量中或在框上的~/.zf文件夾中進行設置。 那里有配置,並且有一個設置cor包含路徑。

除此之外,您也可以將類似於php -r ...到您直接執行的shell腳本中,盡管這不是推薦的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM