之前一直用的Apache2.2+PHP5.3环境,现在项目需要用ThinkPHP5框架,但是ThinkPHP5是基于PHP5.4的,但是PHP高于5.3的版本Apache2.2是无法运行的,这是一系列相关的问题,于是决定重新配置环境
Fs{*XKv&lH B1gR5p 0 新的集成环境是Apache2.4+PHP5.6的,按照原来虚拟站点配置,把原有的站点配置原封不动复制到Apache\conf\extra\httpd-vhosts.conf,并且打开了httpd.conf中的“Include conf/extra/httpd-vhosts.conf“。
GB^B r6 H::bwn`Vc 以前的所有虚拟站点都可以正常访问,然而,localhost访问却提示The requested URL / was not found on this server.
/efUjkP =*Lfl'sr_ 百度发现,发布这种问题的教程很多,大部分都是修改httpd.conf里面的配置,千篇一律,但没有一个适用的,无一能解决问题,
*v`eUQ: jCY%| 然然后无意中发现httpd.conf中有一行Include conf/vhosts.conf,怎么又引入一个虚拟主机配置文件,因为上面已经打开了
_GPe<H Smh,zCc>s Include conf/extra/httpd-vhosts.conf(这一行默认是注释状态的),似乎找到症结所在。
"7
yD0T)2 N[hG8f Apache版本升级到2.4之后,新版本的虚拟域名配置文件变为Apache\conf\vhosts.conf,可能处于版本兼容性的考虑,原配置文件Apache\conf\extra\httpd-vhosts.conf仍然有效,但是需要注意httpd-vhosts.conf中
N+|d3X! h1RSVp+?n # First Virtual Host must be a shallow duplicate of the main host
XZf$K _F&M # in httpd.conf
T|$H#n} u
+hX <VirtualHost _default_:80>
s"|Pdc4 DocumentRoot "......"
nTas~~Q #ServerName
www.example.com:80 aXVFc5C\ </VirtualHost>
.}t
e>]A* 4*L_)z&4; DocumentRoot 参数需要和httpd.conf中DocumentRoot 参数值保持一致