首页 > 解决方案 > 更改 Apache http.conf 文件中的 documentroot 会停止 PHP 解析

问题描述

我在 Windows 10 开发人员工作站上安装了 Apache 和 PHP,一切(包括 PHP)都运行良好。但是当我更改文件DocumentRoothttp.conf,Apache 停止将 .php 文件发送到 PHP 引擎。

Apache 在新目录中打开 .php 文件,但 <?php> 代码不再被 php 引擎 (php.exe) 解析和处理。Apache 不再通过 php 模块运行这些文件。

这是我在 http.conf 文件中所做的更改:

旧设置:

DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

新设置:

#DocumentRoot "${SRVROOT}/htdocs"
DocumentRoot "C:/WWW"

#<Directory "${SRVROOT}/htdocs">
<Directory "C:/WWW">

当我再次更改它时,PHP 工作正常。

我也尝试过更改 中的doc_root设置php.ini,但这无济于事。Apache 加载 .php 页面,但不将其发送到 php 服务器。

标签: phpapachemodule

解决方案


感谢您的回复。问题是一个小问题。在 PHP 5.3 的全新安装中,short_open_taginPHP.ini默认为Off. Apache 目录中的 phpinfo 文件以<?php>开头,新目录中的文件以 开头<?>,所以没有解析。我已经更改了 php.ini 文件,short_open_tag = On现在一切正常。<?>在 PHP 的较新版本中……从 5.4 开始,无论设置如何,短打开标记都将始终有效short_open_tag

简单的小事有时会绊倒我们。


推荐阅读