php - 更改 Apache http.conf 文件中的 documentroot 会停止 PHP 解析
问题描述
- Windows 10 工作站
- 阿帕奇 2.4
- PHP 7.2。
我在 Windows 10 开发人员工作站上安装了 Apache 和 PHP,一切(包括 PHP)都运行良好。但是当我更改文件DocumentRoot
时http.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 服务器。
解决方案
感谢您的回复。问题是一个小问题。在 PHP 5.3 的全新安装中,short_open_tag
inPHP.ini
默认为Off
. Apache 目录中的 phpinfo 文件以<?php>
开头,新目录中的文件以 开头<?>
,所以没有解析。我已经更改了 php.ini 文件,short_open_tag = On
现在一切正常。<?>
在 PHP 的较新版本中……从 5.4 开始,无论设置如何,短打开标记都将始终有效short_open_tag
。
简单的小事有时会绊倒我们。
推荐阅读
- python - 如何使用 Selenium 动态更改 Firefox 无头模式?
- python - 如何从两个列表中删除相同的单词?
- sql - Oracle SQL 查询 - where 子句以某些值开始和结束
- airflow - 一个任务可以依赖于 Airflow 中的多个 ShortCircuitOperator 任务吗?
- c# - System.Numerics.Vector
仅部分初始化 - java - 我不知道如何使用 JButton Action
- java - 添加到授予权限后未立即执行的联系人
- python - 如何并行启动函数,检查它们是否完成,并在python中启动一个新函数?
- swift - 如何将字符串传递给 SKScene(filenamed:) 动画文件中的 SKLabelNode?
- python - 如何在 Pandas 中的 Dataframe 中正确编码 JSON 中的数据