备注
上次因为配置失败搁置一个月的zendFramework II重新被我翻出来再尝试一次,6小时后成功了。
- 先按照.pdf文件中给的指导操作
- 然后根据报错进行修改(报错修改内容太复杂,且原因过于简单,只是因为设置directory时少写了根目录的部分,所以就不详细说明了)
- 参考网页
- 心得
根据指导进行操作
安装zendFramework需要系统中先安装php和apache。
使用指令查看
php -v (如果没安装会提示没有php这个指令,如果安装好会显示版本号)
apachectl -v (同理)
如果你的apache和我的一个版本,那就没有httpd.conf这个东西,需要找apache2.conf
1、安装composer
先新建一个项目文件夹,然后使用cd 指令进入,在该目录下运行高亮行下方的5个指令。
为避免输入错误:
1 cd my/project/dir
2 git clone git://github.com/zendframework/ZendSkeletonApplication.git
3 cd ZendSkeletonApplication
4 php composer.phar self-update
5 php composer.phar install
我这个版本的ubuntu没法直接用composer指令,只能使用
php composer.phar +指令(需要先进到有composer.phar文件的目录)
composer提示我有更新后的2.0.9稳定版本,更新后显示
这步我没做,区别只有一个–recursive
2、创建php
进入包含public文件夹的目录
看见 started 说明成功。
需要设置一个虚拟主机指向public文件,然后因为apache版本的不同,在我这个版本没有httpd.conf文件,所有配置文件的信息(或者介绍配置文件的信息)储存在apache2.conf文件中。
cd /etc/apache2
ls
查看apache2.conf,并做相关修改。
vim apache2.conf (如果不想打文件名,可以按Tab键自动补全||如果权限不够,在指令前加sudo 然后输入登录密码)
截图内容描述了配置文件的存放方式,可以粗略看看。
接下来,修改 apache2.conf 文件,使其文件目录与2.3.2 Apache Setup步骤指示一致。
//这个要留着,对根目录进行访问控制(具体不知道,但只要删掉就会报错)
把其他用不着的条目注释掉(最好别删,避免无法还原,+"#"注释),然后仿照文件中条目,最终效果类似上图,添加相关参数,修改完后保存退出。
//Directory里写public所在的整个目录,具体每个条目的意思可以参看引用网站 3。
ubuntu vim编辑器使用参看引用网站4。
编辑 000-default.conf 文件,把用不到的条目注释,并且添加新条目,改完保存退出。
在找这个文件之前,先进目录/etc/apache2/mods-enabled,找rewrite.load文件,查看是否启用rewrtie模块。
如果有#,把#删掉,保存退出(默认应该是启用的)。
退出,去public目录下找.htaccess文件。
//发现上图没有.htaccess文件,这是因为.htaccess是隐藏文件,使用
ls -a
查看该文件,对比内容进行修改。
//内容基本一致,不用改,退出准备下一步。
退出后查看 web.config文件。
也差不多,不用改动。
重启Apache服务,因为版本不同,指令有变动。
sudo /usr/sbin/apache2ctl restart
重启后打开浏览器,主页:
其他
/usr/sbin/apache2ctl -M //可以查看mod_rewrite 是否启用
/etc/apache2$ vim envvars //查看环境变量
/var/log/apache2$ vim error.log //查看错误日志(如果报错500 Internal Server Error)
参考网页
1、Zend Framework2 入门教程:https://blog.csdn.net/xmlife/article/details/24578093 2、PHP内置Web Server探究(一)启动Cli_Server:https://www.cnblogs.com/microlife/p/5216698.html 3、Apache 的 httpd.conf 详解:https://blog.csdn.net/u010433704/article/details/51296326 4、新手入门之——Ubuntu上的编辑器之神Vi/Vim :https://www.cnblogs.com/cbqcbq69/p/8996885.html
心得
- 我进行的操作基本上都属于知其然不知其所以然,只是通过尝试成功解决了问题,但并不能清晰地讲明白为什么能解决问题,也不能具体的指出每一步都是在做什么,这是需要提高的地方,而且如果真的能改进这一点,就可以绕很多弯路,通过逻辑,而不是进行不知道会不会成功的尝试,来解决问题。
- 所有的报错都是有意义的,而且通常使用相对简单的英文,可以尝试阅读并猜测计算机表达的内容,然后再上网搜索相关问题。