解决在ubuntu18.04 apache2.4版本下搭建zendFramework II遇到的500 Internal Server Error问题

备注


上次因为配置失败搁置一个月的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

心得


  1. 我进行的操作基本上都属于知其然不知其所以然,只是通过尝试成功解决了问题,但并不能清晰地讲明白为什么能解决问题,也不能具体的指出每一步都是在做什么,这是需要提高的地方,而且如果真的能改进这一点,就可以绕很多弯路,通过逻辑,而不是进行不知道会不会成功的尝试,来解决问题。
  2. 所有的报错都是有意义的,而且通常使用相对简单的英文,可以尝试阅读并猜测计算机表达的内容,然后再上网搜索相关问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值