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测试了它,同样的错误:(
您应该将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)
在本地安装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)
参考: