尝试将 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 有所不同