2

我正在尝试使用 Windows 7 中的环境变量全局访问zftool.phar(对于 Zend Framework 2)。我无法让它工作。有没有人成功做到这一点?

4

3 回答 3

2

尝试使用命令:

> php zftool.phar

但请记住,必须将 php.exe 文件的路径添加到您的 PATH 环境变量中。

于 2013-07-01T18:49:57.250 回答
1
  1. 创建文件夹 C:\zftool

  2. 从 packages.zendframework.com( http://packages.zendframework.com/zftool.phar )下载“zftool.phar”到 C:\zftool

  3. 使用代码在 C:\zftool 中创建“zftool.bat”文件:

    @echo off
    php %~dp0zftool.phar %*
    
  4. 使用代码在 C:\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. 这允许您在zftool没有“”的任何地方使用 CMD 短命令“ php zftool.phar

  9. 您必须zftool在项目文件夹中运行“”命令才能在当前项目中使用

于 2014-10-24T08:26:29.030 回答
0

或使用以下代码创建以管理员身份运行“install-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 文件将完成上述所有操作

不要忘记以管理员身份运行

于 2014-10-24T11:18:50.633 回答