Apache 2.4 Windows 虚拟主机

Apache 2.4 Windows 虚拟主机

尝试将 PHP 版本从 5.3 升级到 5.5

环境:Windows 2012 Server,Apache 2.4,PHP 5.5,

将 PHP 5.3 和 Apache 2.2 升级到 *MySQL 和 *Drupal

我能够使用基本文档根目录使 Apache2.4/PHP 5.5 配置正常工作。我能够导航到“http://sitetest' 并使用正确的 php 版本调用 index.html 或创建的 phpinfo.php。

问题是让虚拟主机工作,这些虚拟主机是基本文档根目录的子文件夹。sitetest/sitenet sitetest/siteorg 获取

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

来自 httpd.conf

DocumentRoot "C:/sitefolder/web"
<Directory "C:/sitefolder/web">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

AccessFileName .htaccess
...
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
...
LoadModule php5_module "C:/php/php55/php5apache2_4.dll"
PHPIniDir "C:/php/php55"
AddType application/x-httpd-php .php

来自 httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot  C:/sitefolder/web
    ServerName sitetest
    ServerAdmin [email protected]
<Directory "C:/sitefolder/web">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
</VirtualHost>

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "C:/sitefolder/web/sitenet"
    ServerName sitenet
    ServerAdmin [email protected]
    ErrorLog "C:/sitefolder/web/sitenet/logs/error.log" 
<Directory "C:/sitefolder/web/sitenet">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>        
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot  "C:/sitefolder/web/siteorg"
    ServerName siteorg
    ServerAdmin [email protected]
    ErrorLog "C:/sitefolder/web/siteorg/logs/error.log" 
<Directory "C:/sitefolder/web/siteorg">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>    
</VirtualHost>

无论我尝试在这两个站点中读取另一个简单的 HTML 或 php 页面,都没有关系。我尝试不定义虚拟主机的目录,但仍然收到内部错误。

我已经阅读了几篇有关虚拟主机的不同文档,并且能够使 Apache2.2 和 5.3 正常工作,但在这里却陷入了停滞。

提前致谢。

答案1

我认为我已经找到了问题并使用该文档:http://httpd.apache.org/docs/2.4/upgrading.html

我在日志中发现一个错误::

命令‘Order’无效,可能是拼写错误或由服务器配置中未包含的模块定义

文档建议使用:

加载模块 mod_access_compat,或将配置更新为 2.4 授权指令。

至少可以说,Apache 2.4 与 2.2 有所不同

相关内容