2013-02-13 131 views
2

我試圖在Windows 7中使用環境變量在全局訪問zftool.phar(用於Zend Framework 2)。我無法讓它正常工作。有沒有人成功實現了這個?Zend Framework 2 - zftool.phar Windows 7環境變量

+0

你可以生產你在做什麼? – BattleBit 2013-02-13 07:27:49

+0

如果您正在設置'$ PATH'環境變量,那麼請考慮通過絕對路徑運行phar,直到您正確配置了'$ PATH'。 – Ocramius 2013-02-13 08:43:40

回答

1
  1. 新建文件夾C:\ zftool

  2. 從packages.zendframework.com(http://packages.zendframework.com/zftool.phar)下載 「zftool.phar」 到C:\ zftool

  3. 使 「zftool.bat」文件C:\ zftool與代碼:用C

    @echo off 
    php %~dp0zftool.phar %* 
    
  4. 使 「zftool」 文件(沒有擴展名):\ zftool與代碼:

    #!/bin/sh 
    dir=$(d=$(dirname "$0"); cd "$d" && pwd) 
    
    # see if we are running in cygwin by checking for cygpath program 
    if command -v 'cygpath' >/dev/null 2>&1; then 
    
        # cygwin paths start with /cygdrive/ which will break windows PHP, 
        # so we need to translate the dir path to windows format. However 
        # we could be using cygwin PHP which does not require this, so we 
        # test if the path to PHP starts with /cygdrive/ rather than /usr/bin. 
    
        if [[ $(which php) == /cygdrive/* ]]; then 
         dir=$(cygpath -m $dir); 
        fi 
    fi 
    
    dir=$(echo $dir | sed 's/ /\ /g') 
    php "${dir}/zftool.phar" $* 
    
  5. 文件C:\ zftool:
    zftool
    zftool.bat
    zftool.phar

  6. 添加 「C:\ zftool」 到PATH環境變量

  7. 打開CMD並輸入「zftool」,檢查命令「zftool version

  8. 這允許你在CMD簡短的命令「zftool」在任何地方使用,而不「php zftool.phar

  9. 你必須運行「zftool」項目文件夾命令在當前項目中使用

2

嘗試使用命令:

> php zftool.phar 

但請記住,之前的php.exe的文件路徑必須添加到您的PATH環境變量。

0

創建以管理員身份運行 「安裝-zftool.bat」 文件,代碼:

@echo off 

::setting directory for installing zftool - change if necessary 
set folder="C:\zftool" 

::making directory 
md "%folder%" 

::downloading latest version of zftool.phar 
bitsadmin.exe /transfer "ZFTool" "http://packages.zendframework.com/zftool.phar" "%folder%\zftool.phar" 

::creating empty zftool and zftool.bat files 
@echo. 2> %folder%\zftool 
@echo. 2> %folder%\zftool.bat 

::making zftool.bat file 
@echo @echo off > %folder%\zftool.bat 
@echo php %%~dp0zftool.phar %%*>> %folder%\zftool.bat 

::making zftool file 
@echo #!/bin/sh > %folder%\zftool 
@echo dir=$(d=$(dirname "$0"); cd "$d" ^&^& pwd) >> %folder%\zftool 
@echo if command -v 'cygpath' ^>/dev/null 2^>^&1; then >> %folder%\zftool 
@echo if [[ $(which php) == /cygdrive/* ]]; then >> %folder%\zftool 
@echo dir=$(cygpath -m $dir); >> %folder%\zftool 
@echo fi>> %folder%\zftool 
@echo fi>> %folder%\zftool 
@echo dir=$(echo $dir ^| sed 's/ /\ /g')>> %folder%\zftool 
@echo php "${dir}/zftool.phar" $*>> %folder%\zftool 

::adding folder to PATH environment variable 
setx path "%PATH%;%folder%" /M 

exit 

bat文件將完成以上說的所有操作

別忘了以管理員身份運行

+0

我總是對懷疑'以管理員身份運行'的答案有點懷疑。 – matsjoyce 2014-10-24 11:37:42

+0

@matsjoyce - 沒有以管理員身份運行,您無法將文件夾添加到PATH環境變量。你可以評論':: setx路徑「%PATH%;%文件夾%」/ M'並以簡單的用戶身份運行,在這種情況下,您必須手動編輯PATH變量... – Alymbek 2014-10-25 09:22:14