如果缺少 php.ini,Apache 仅将我的页面作为 PHP 运行

Apache only runs my page as PHP if php.ini is missing

我正在尝试让 Apache 2.4 在 Windows 8.1 上与 PHP 5.6 一起工作。

我将常用行添加到 httpd.conf:

LoadModule php5_module "c:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "c:/php"

它工作正常,在我的 test.php 页面(只是 Hello! <? phpinfo(); ?>)上正确显示 php 信息... if php.ini 在 c:\php 中不存在。 (大概 PHP 使用默认配置,我需要更改它以包含 mysql。)一旦我创建 php.ini,Apache 就无法执行 PHP 函数,而只是将页面显示为文本。

Apache 服务器似乎没有认为有什么问题;在重新启动 httpd 时,error.log 只显示

AH00455: Apache/2.4.10 (Win64) PHP/5.6.4 configured -- resuming normal operations

php.ini 只是安装中包含的 php.ini-production 文件,已重命名。如果我故意向其中引入错误,它们会显示在 Apache 日志中。

什么可能导致 Apache 不 运行 我的页面作为 PHP 文件?

我想通了:PHP 默认为 short_open_tag=On,所以我的测试没有配置文件。但是默认的 php.ini 文件有 short_open_tag=Off,所以我的 test.php 是不正确的:它应该是 Hello! <?php phpinfo(); ?>)。