如何使用composer安装Zend Framework 2 Tool

seb*_*seb 6 php frameworks zend-framework2

我无法弄清楚如何在使用composer进行自举时运行zf.php(Zend Framework 2 Tool).

首先我根据文档引导作曲家和zftool:

$ mkdir tmp && cd tmp
$ curl -s https://getcomposer.org/installer | php
$ ./composer.phar require zendframework/zftool:dev-master
Run Code Online (Sandbox Code Playgroud)

这到目前为止工作正常.

但是当我尝试运行zf.php时,我收到错误:

$ vendor/zendframework/zftool/zf.php 
PHP Warning:  require_once(/Users/seb/tmp/vendor/zendframework/zftool/vendor/autoload.php): failed to open stream: No such file or directory in /Users/seb/tmp/vendor/zendframework/zftool/zf.php on line 13

Warning: require_once(/Users/seb/tmp/vendor/zendframework/zftool/vendor/autoload.php): failed to open stream: No such file or directory in /Users/seb/tmp/vendor/zendframework/zftool/zf.php on line 13
PHP Fatal error:  require_once(): Failed opening required '/Users/seb/tmp/vendor/zendframework/zftool/vendor/autoload.php' (include_path='.:/opt/local/lib/php') in /Users/seb/tmp/vendor/zendframework/zftool/zf.php on line 13

Fatal error: require_once(): Failed opening required '/Users/seb/tmp/vendor/zendframework/zftool/vendor/autoload.php' (include_path='.:/opt/local/lib/php') in /Users/seb/tmp/vendor/zendframework/zftool/zf.php on line 13
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我在Mac上使用PHP 5.3.21.

我还在我的Debian VServer上用PHP 5.4测试了它,同样的错误:(

ako*_*ond 9

您应该将zf.php复制到根目录并从那里运行它.

$ mkdir tmp && cd tmp
$ curl -s https://getcomposer.org/installer | php
$ ./composer.phar require zendframework/zftool:dev-master
$ cp vendor/zendframework/zftool/zf.php .
$ php zf.php
Run Code Online (Sandbox Code Playgroud)

  • 这是缺少的一步,我想知道他们为什么没有在文档中提到.谢谢! (2认同)

Cla*_*ira 5

在本地安装Composer.phar

如果您的计算机上没有全局安装composer,则可以在项目中本地安装它.

在本地安装Composer只需在项目目录中运行安装程序(https://getcomposer.org/doc/00-intro.md)即可.

curl -sS https://getcomposer.org/installer | php
Run Code Online (Sandbox Code Playgroud)

注意:如果上述因某些原因失败,您可以使用php下载安装程序:

php -r "readfile('https://getcomposer.org/installer');" | php
Run Code Online (Sandbox Code Playgroud)

安装ZF2

git clone git://github.com/zendframework/ZendSkeletonApplication.git --recursive
cd ZendSkeletonApplication
php composer.phar self-update
php composer.phar install
Run Code Online (Sandbox Code Playgroud)

安装ZFTools(使用Composer安装)

php composer.phar require zendframework/zftool:dev-master
php composer.phar install
Run Code Online (Sandbox Code Playgroud)

创建符号链接

zf.php(Zend Tool)将安装在vendor/bin文件夹中.您可以使用php vendor/bin/zf.php运行它.

ln -s vendor/zendframework/zftool/zf2.bat zftools
chmod +x zftools
./zftools
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我更喜欢符号链接,为了更新zftools存储库,我不需要再次复制文件.

没有安装,使用PHAR文件

使用ZF工具的另一种方法,无需创建脚本或别名,并下载PHAR格式.

wget https://packages.zendframework.com/zftool.phar --no-check-certificate
php zftool.phar  version
ZFTool - Zend Framework 2 command line Tool
The ZFTool is using Zend Framework 2.2.4
Run Code Online (Sandbox Code Playgroud)

或者你可以下载zftool.phar并使用它.

注1:@ akond响应非常好,我只是提出了一个我喜欢使用的替代答案.

注2:此示例是在使用cygwin的Windows机器上完成的.

好的教程安装(ZF2和ZF3)

入门:骨架应用程序

参考:

Zend框架工具(ZFTool)