我正在尝试将 PHP 安装到 Windows Server 2008 R2 上。我已按照此处的说明进行操作,但是当我尝试加载 phpinfo.php 时,我得到一个空白页。
事件查看器中没有错误。
该服务器用于托管多个其他 Asp.Net 网站,但我使用的是 PHP,以便我可以安装 MediaWiki。
更新:
当尝试加载简单的 HTML(没有 PHP)时,它也会加载为空白。对此的修复似乎是在“打开/关闭 Windows 功能”管理器中启用“静态内容”——但这已经到位。
这也发生在我身上,只是运行微软在他们的网站上使用他们的 Web 平台安装程序提供的方便的花花公子 php 安装程序,结果默认在 php.ini 文件中 short_open_tag 默认情况下是关闭的,所以我的代码
<?
print("hello world!");
?>
不会工作,因为它期待
<?php
print("hello world!");
?>
....所以是的...如果这也是你的问题,那就去改变它!
如果从旧服务器复制旧的 Wordpress 安装 - 确保复制所有文件。哎呀... <尴尬>
当出现 PHP 错误并报告错误时,也可能出现空白页。尝试运行下面的脚本,看看会发生什么。
<html>
<body>
Hello HTML
<?php
error_reporting(E_ALL);
echo "Hello PHP";
?>
</body>
</html>
您还可以尝试查看带有 PHP 扩展的普通 HTML 页面是否运行良好。也许您的服务器设置为不允许 PHP 扩展。
您必须为每个 PHP 网站配置 fastCGI,您可以在此处找到更多详细信息 -配置 FastCGI 和 PHP 的最佳实践
因此,经过数小时的随机尝试后,我找到了解决方案。我在 Windows 中删除并重新添加了静态内容角色 - 结果仍然相同。然后我在 IIS 中编辑了网站的错误页面功能,说返回详细的错误消息。此时 PHP 开始抱怨时区,所以我设置为“Europe\London”——要使其生效,您需要重新启动 IIS。之后它工作了,phpinfo 现在加载了!
我有这个问题;在“打开或关闭 Windows 功能”处,我启用了:HTTP Errors Server-Side Includes Directory Browsing Windows Authentication
我还在 C:\Program Files (x86)\PHP\v5.3\php.ini 中设置了这些选项:
display_errors = On
display_startup_errors = On
之后,显示 401 Unauthorized 错误。我将“所有人”和“用户”组添加到要修复的文件夹中。