安装ZF2_Skeleton_ Application和ZFTOOL
环境:XAMPP for Linux 1.8.3(php5.5.3 Apache/2.4.4) CentOS6 x86_64
ZF2.2.5
ZendSkeletonApplication-zf-release-2.1.0-83
1 下载并安装XAMPP
2 下载ZendSkeletonApplication
3 使用命令安装
3.1 解压到你所要的的目录,这里使用的是文档中用的文件名zf2-turorial
3.2 目录要apache能够有权限访问到,这里放到htdocs目录下
一般要给权限755
3.3 创建虚拟主机
这里参照文档中的配置:
<VirtualHost *:80>ServerName zf2-tutorial.localhostDocumentRoot /path/to/zf2-tutorial/publicSetEnv APPLICATION_ENV "development"<Directory /path/to/zf2-tutorial/public>DirectoryIndex index.phpAllowOverride AllOrder allow,denyAllow from all</Directory>
</VirtualHost>
3.4 参照文档,执行命令
php composer.phar self-update
php composer.phar install
3.5 在此过程中self-update更新的composer.phar,更多信息参照composer.phar文档
然后install进行安装时,检查依赖后,会下载ZendFramework
查看vendor目录可以看到,目录下多了zendframework、bin、composer、autoload.php
具体它是怎么找到zf2 的大家查一下文档。
3.6 运行
4 手动安装
这里不使用命令安装,把ZF2解压到外面,看vendor下面的说明意思是第三方库一般放在vendor下面。
README.mdThis vendor/ directory is where third-party modules should be installed.
这里放在了网站外面。这时就要手动 指定ZF2所在的位置。
根据文档设定include_path和环境变量。
4.1 include_path在php.ini中设定
4.2 环境变量可以在apache的虚拟主机中使用SetEnv设定,也可以在操作系统中设定,如系统级的/etc/profile等linux下设定环境变量的方法。
<VirtualHost *:80>ServerName zf2-tutorial.localhostDocumentRoot /path/to/zf2-tutorial/publicSetEnv ZF2_PATH "/path/to/ZF2/library"SetEnv APPLICATION_ENV "development"<Directory /path/to/zf2-tutorial/public>DirectoryIndex index.phpAllowOverride AllOrder allow,denyAllow from all</Directory>
</VirtualHost>
4.3 重启apache 并运行
这里可以看一下init_autoloader.php是如何查找ZF2的
if (file_exists('vendor/autoload.php')) {$loader = include 'vendor/autoload.php';
}$zf2Path = false;if (is_dir('vendor/ZF2/library')) {$zf2Path = 'vendor/ZF2/library';
} elseif (getenv('ZF2_PATH')) { // Support for ZF2_PATH environment variable or git submodule$zf2Path = getenv('ZF2_PATH');
} elseif (get_cfg_var('zf2_path')) { // Support for zf2_path directive value$zf2Path = get_cfg_var('zf2_path');
}if ($zf2Path) {if (isset($loader)) {$loader->add('Zend', $zf2Path);} else {include $zf2Path . '/Zend/Loader/AutoloaderFactory.php';Zend\Loader\AutoloaderFactory::factory(array('Zend\Loader\StandardAutoloader' => array('autoregister_zf' => true)));}
}if (!class_exists('Zend\Loader\AutoloaderFactory')) {throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.');
}
上面的if else语句标示了不使用命令手动配置查找ZF2的过程。
注意:安装过程注意查看文档,和所下载包里面的INSTALL README等说明文件。
至此手动安装(vendor下不含zendframework)的程序的目录结构如下:
zf2-tutorial2
|-- composer.json
|-- composer.phar
|-- config
| |-- application.config.php
| `-- autoload
| |-- global.php
| |-- local.php.dist
| `-- README.md
|-- data
| `-- cache
|-- init_autoloader.php
|-- LICENSE.txt
|-- module
| `-- Application
| |-- config
| | `-- module.config.php
| |-- language
| | |-- ar_JO.mo
| | |-- ar_JO.po
| | |-- ar_SY.mo
| | |-- ar_SY.po
| | |-- cs_CZ.mo
| | |-- cs_CZ.po
| | |-- de_DE.mo
| | |-- de_DE.po
| | |-- en_US.mo
| | |-- en_US.po
| | |-- es_ES.mo
| | |-- es_ES.po
| | |-- fr_CA.mo
| | |-- fr_CA.po
| | |-- fr_FR.mo
| | |-- fr_FR.po
| | |-- it_IT.mo
| | |-- it_IT.po
| | |-- ja_JP.mo
| | |-- ja_JP.po
| | |-- nb_NO.mo
| | |-- nb_NO.po
| | |-- nl_NL.mo
| | |-- nl_NL.po
| | |-- pl_PL.mo
| | |-- pl_PL.po
| | |-- pt_BR.mo
| | |-- pt_BR.po
| | |-- ru_RU.mo
| | |-- ru_RU.po
| | |-- sl_SI.mo
| | |-- sl_SI.po
| | |-- tr_TR.mo
| | |-- tr_TR.po
| | |-- zh_CN.mo
| | |-- zh_CN.po
| | |-- zh_TW.mo
| | `-- zh_TW.po
| |-- Module.php
| |-- src
| | `-- Application
| | `-- Controller
| | `-- IndexController.php
| `-- view
| |-- application
| | `-- index
| | `-- index.phtml
| |-- error
| | |-- 404.phtml
| | `-- index.phtml
| `-- layout
| `-- layout.phtml
|-- public
| |-- css
| | |-- bootstrap.css
| | |-- bootstrap.min.css
| | |-- bootstrap-theme.css
| | |-- bootstrap-theme.min.css
| | `-- style.css
| |-- fonts
| | |-- glyphicons-halflings-regular.eot
| | |-- glyphicons-halflings-regular.svg
| | |-- glyphicons-halflings-regular.ttf
| | `-- glyphicons-halflings-regular.woff
| |-- img
| | |-- favicon.ico
| | `-- zf2-logo.png
| |-- index.php
| `-- js
| |-- bootstrap.js
| |-- bootstrap.min.js
| |-- html5shiv.js
| |-- jquery-1.10.2.min.map
| |-- jquery.min.js
| `-- respond.min.js
|-- README.md
`-- vendor|-- README.md`-- ZF2
完。
续:安装ZFTOOL
手动安装,下载并解压,根据文档[1][2]我放到vendor目录下。
.
|-- apache2
|-- bin
|-- build
|-- cgi-bin
|-- docs
|-- error
|-- etc
|-- htdocs
| |-- conf
| |-- xampp
| `-- zf2-tutorial2
|-- icons
|-- img
|-- include
|-- info
|-- lib
|-- libexec
|-- licenses
|-- logs
|-- man
|-- manual
|-- modules
|-- mysql
|-- pear
|-- php
|-- phpmyadmin
|-- proftpd
|-- sbin
|-- share
|-- temp
|-- var
`-- ZendFramework225|-- bin|-- library| `-- Zend`-- resources
查看zf.php为可执行文件。
在vendor下运行。zf.php version 出现了两个问题。第一个是找不到ZF,另外是找不到autoload.php。
对于ZF,上面设置ZF2_PATH是在apache配置文件中设置的,所以使用apache访问页面没问题。但是ZFTOOL却访问不到。
另外,看一下zf.php.
$basePath = getcwd();ini_set('user_agent', 'ZFTool - Zend Framework 2 command line tool');// load autoloader
if (file_exists("$basePath/vendor/autoload.php")) {require_once "$basePath/vendor/autoload.php";
} elseif (file_exists("$basePath/init_autoload.php")) {require_once "$basePath/init_autoload.php";
} elseif (\Phar::running()) {require_once __DIR__ . '/vendor/autoload.php';
} else {echo 'Error: I cannot find the autoloader of the application.' . PHP_EOL;echo "Check if $basePath contains a valid ZF2 application." . PHP_EOL;exit(2);
}
寻找的是当前目录下的autoload.php和init_autoload.php。我上面的程序是手动安装的,根目录下只有init_autoloader.php。
所以要解决这两个问题,
首先修改init_autoload.php为init_autoloader.php
其次设置环境变量。我这里没有设置系统的环境变量,而是在init_autoloader.php里设置环境变量。这样ZFTOOL在访问init_autoloader.php的时候就执行了添加了环境变量。
putenv("ZF2_PATH=/opt/lampp/ZendFramework225/library");
第三,在zf2-tutorial2根目录下运行zf.php,我这里使用绝对路径
/opt/lampp/bin/php /opt/lampp/htdocs/zf2-tutorial2/vendor/ZFTool/zf.php version
结果:
ZFTool - Zend Framework 2 command line Tool
The application in this folder is using Zend Framework 2.2.5
完。
参照:
http://framework.zend.com/manual/2.0/en/ref/installation.html
http://framework.zend.com/manual/2.0/en/user-guide/skeleton-application.html
安装ZF2_Skeleton_ Application和ZFTOOL相关推荐
- 安装WebSphere Application Server
2 WebSphere Application Server 2.1 安装WebSphere Application Server 2.1.1 使用imcl安装WebSphere Applicatio ...
- IIS安装ARR(Application Request Router)反向代理插件
最近接管了一个ASP的项目.前后台两个站点.每次后台站点上传图片,都是手动将图片拷贝到前台站点服务器的方式来实现的.美其名曰,图片审核,呵呵. 我的想法是在前端服务器上配置反向代理.避免每次都需要手动 ...
- ArcGIS Server9.3+ArcGIS Desktop9.3破解安装(for microsoft .net)
操作系统:windwos server 2008 enterprise edition 安装文件:ArcGIS Server 9.3 ArcGIS Desktop 9.3 ...
- WebSpher 6.1 安装与应用
1. 名词术语解释 1.1 名词缩写: 1. WAS: 即IBM公司的应用服务器WebSphere Application Server的简称: 2. ND: 即IBM公司的应用服务器WebSpher ...
- 【Docker】Docker学习笔记:安装部署
Docker 是实现轻量级的操作系统虚拟化解决方案. Docker目前已经支持非常多的Linux平台,Ubuntu.Red Hat企业版Linux.Debian.CentOs.Fedora.Oracl ...
- macOS中安装docker
如官方文档中所说: 1.点击进入boot2docker/osx-installer release页面. 2.在下载页面中点击 Boot2Docker-x.x.x.pkg 来下载 Boot2Docke ...
- linux6 安装oracle11g
Linux 转自:http://blog.csdn.net/nhm_lxy/article/details/37813789 转自:https://www.cnblogs.com/saratearin ...
- ubuntu 安装sql_在Ubuntu上进行SQL Server安装和故障排除
ubuntu 安装sql A couple of years ago, Microsoft announced that SQL Server would be available on Open S ...
- php 安装redis 扩展
下载 redis 下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz安装包上传到服务器 或者 直接wget https:/ ...
最新文章
- C ++变量,文字和常量
- 锅都不敢背,凭什么让大家跟着你干?
- uniapp启动页,底部虚拟按钮向上闪一下的问题
- sublime text3安装python插件和flake8_让你的代码符合PEP8标准——sublime text 2 安装及使用 Python Flake8 Lint 插件...
- 使用动画播放文件夹中的图片
- 为什么我们不要 .NET 程序员
- 做出的一个图片的自动展示效果(JS版本)
- 机器学习中生成模型和判别模型
- 利用模板引擎配合ajax进行数据的导入
- 一文读懂clickhouse的世界
- 正则除了几个汉字的其它汉字_理解汉字的几个层次
- Lc151翻转字符串里的单词
- Win10配置FORTRAN环境 CodeBlocks下载安装教程
- 【易我分区大师】磁盘分区助手无损c盘扩容方法
- android一键改机之真改机build.prop
- VS Code插件离线安装教程
- con 元器件符号_电子元器件常用的符号
- (转载)一文教你 “量子编程”入门式
- Internet Explorer无法打开internet站点文件.....操作终止
- 数据结构和算法经典书籍
热门文章
- 语音识别技术之声学模型
- 常用的十种算法--克鲁斯卡尔算法
- React 中 useState 清理的必须性
- 请把ios文件解压出来是什么意思_ios信息列表美化,iphone必用技巧
- 老年人手抖一定是帕金森吗
- 2019年小学计算机室管理制度,2018年-2019上小学微机室工作计划.doc
- logisim 快速加法器设计实验报告_基于Logisim平台的《计算机组成原理》实验教学探究...
- 网站管理后台模板 Charisma
- Win7注册表优化工具箱
- 小米手机录音机录音音频保存在哪个路径文件夹?