繁体   English   中英

如何为Zend Framework创建别名以在Windows中使用XAMPP与Cygwin一起使用

[英]Howto create an alias for Zend Framework to work with Cygwin in Windows with XAMPP

我在Windows7 + XAMPP环境中的办公室使用Zend Framework; 即使我愿意也无法更改此设置,因此我需要进行调整。 因此,我自然安装了Cygwin和Console2,以便在更类似于Linux的环境中工作。 PHP和MySQL路径位于Windows的环境变量中,因此,如果我在CMD中执行以下操作:

php --version
PHP 5.4.4 (cli) (built: Jun 13 2012 21:27:06)

有回应。 如果在Cygwig环境中执行相同的操作,我也会得到响应,因此Cygwin可以找到PHP路径。 关于Zend Framework,我下载了zip文件,并将ZF bin目录的内容提取到C:\\xampp\\php (即zf.sh,zf.bat和zf.php),并将所有库文件夹内容提取到C:\\xampp\\php\\pear\\Zend这样它们才是正确的路径。

在Windows CMD中,我设法通过以下方式创建了类似于别名的内容:

#cmd_aliases.txt
zf=php C:\xampp\php\zf.php $*

#cmd_autorun.cmd
@echo off
cls
doskey /macrofile=C:\Users\hector.ayala\Documents\cmd_aliases.txt

#cmd_autorun_install.cmd
reg add "hkcu\software\microsoft\command processor" /v Autorun /t reg_sz /d C:\cmd_autorun.cmd

现在,在CMD中,我可以执行以下操作:

>zf show version
Zend Framework Version: 1.11.12

...如预期。 但是我无法在CygWin中做类似的事情...我在Cygwin中做到了:$ cd ZendFramework-XX $ mv bin / * / usr / local / bin $ chmod + x /usr/local/bin/zf.sh $ ln -s /usr/local/bin/zf.sh / usr / local / bin / zf

这意味着我与zf.sh了符号链接,以便仅通过zf启动ZF。 但是我得到了这个:

$ zf show version
Could not open input file: /usr/local/bin/zf.php

然后我说,哦,好吧! 也许是ZF问题...我的PHP向我返回了它的版本,因此PHP可以正常工作,当然,任何扭结的php文件都可以工作:

$ php simple_test.php
Could not open input file: simple_test.php

什么... 为什么PHP可以工作,但同时却不行? 有什么想法可以像使用CMD一样通过简单的自定义zf调用Zend Framekork CLI?

我已经找到方法了!!! 我不知道cygpath这是一个命令行实用程序,用于在Windows和POSIX路径之间进行转换。 因为Windows无法理解路径,所以zf.sh无法处理它,因此我可以获得PHP版本,但是PHP无法理解与之配合使用的文件路径,因此Could not open input file错误。 因此,所有PHP都需要了解路径。

因此,通过阅读给定链接中的cygpath的帮助,我能够理解此命令并使官方zf.sh适应我的需要。 因此,我将最后一行更改为:

"$PHP_BIN" -d safe_mode=Off -f "$PHP_DIR/zf.php" -- "$@"

对此:

"$PHP_BIN" -d safe_mode=Off -f "$(cygpath -aw $PHP_DIR/zf.php)" -- "$@"

现在可以了!

$ zf show version
Zend Framework Version: 1.11.12

希望有人会发现这个有用;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM