首页 > 解决方案 > Windows 中是否存在根文件系统,尤其是在 Windows 10 中?

问题描述

我正在使用在Windows 10 家庭单语言 64 位操作系统上运行的笔记本电脑

我已经在这台笔记本电脑上安装了最新版本的XAMPP预配置安装程序。

这已经在我的笔记本电脑上安装了PHP 7.2.12Apache/2.4.37 (Win32)

我从PHP 手册中看到以下注释:

笔记:

Apache Web 服务器在启动时将目录更改为 root,导致 PHP 尝试从根文件系统中读取 php.ini(如果存在)。

这篇笔记在我心中产生了几个疑问,如下所示:

  1. 根文件系统是否存在于 Windows 中,尤其是在我目前在笔记本电脑上使用的 Windows 10 中?如果确实存在,那么 Windows 中的哪个目录充当根目录?
  2. 如果它不存在,那么 Apache Web 服务器在启动时更改到哪个目录以使 PHP 尝试读取 php.ini?

我希望有人能用一些简单明了的语言来解释我的上述疑问,这对我来说应该很容易理解。

谢谢你。

标签: phpwindowsapacherootphp-ini

解决方案


*nix 系统上的“根”是指顶级文件夹。它看起来像这样:/

所以第一个问题的答案是:是的,根文件夹只是指安装操作系统的顶级文件夹,在默认的 Windows 设置中是 C:\ 文件夹。

你的第二个问题的答案更棘手,因为我不确定 Apache 在 Windows 上的行为。您所关心的 PHP 手册页上的注释仅指 *nix 环境。这是 PHP 和 Apache 长期存在的问题,因为它们都是从 *nix 中“诞生”的,而这正是它们最擅长的地方。它们已被移植到 Windows,但作为事后的想法。如果您要进行大量 PHP 开发,我强烈建议您尽快获得 *nix 开发环境,因为您将不断遇到此类文档不适用于 Windows 用户的问题。

我相信 Windows 上的 Apache 默认会在 httpd.conf 中设置的 ServerRoot 文件夹中查找 php.ini 文件。(如果我错了,有人纠正我!)但是如果你想把你的 php.ini 文件放在一个自定义的位置,你可以在 httpd.conf 中添加这样的一行:

PHPIniDir "C:\php\ini"


推荐阅读