我在办公室的 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 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 可以工作,但同时却不能?有什么想法可以zf
像使用 CMD 一样使用简单的自定义调用 Zend Framekork CLI 吗?