php - Windows 中是否存在根文件系统,尤其是在 Windows 10 中?
问题描述
我正在使用在Windows 10 家庭单语言 64 位操作系统上运行的笔记本电脑
我已经在这台笔记本电脑上安装了最新版本的XAMPP预配置安装程序。
这已经在我的笔记本电脑上安装了PHP 7.2.12和Apache/2.4.37 (Win32)。
我从PHP 手册中看到以下注释:
笔记:
Apache Web 服务器在启动时将目录更改为 root,导致 PHP 尝试从根文件系统中读取 php.ini(如果存在)。
这篇笔记在我心中产生了几个疑问,如下所示:
- 根文件系统是否存在于 Windows 中,尤其是在我目前在笔记本电脑上使用的 Windows 10 中?如果确实存在,那么 Windows 中的哪个目录充当根目录?
- 如果它不存在,那么 Apache Web 服务器在启动时更改到哪个目录以使 PHP 尝试读取 php.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"
推荐阅读
- ios - 获取视图约束
- bash - Multiple sub-string matches using process substitution
- powershell - 我想使用 testcafe 创建我的第一个测试,但出现如下错误
- django - Pyinstaller 无法导入 Django 2.1.5 的自定义命令
- javascript - 在 Vue 插件中访问 Nuxt.js 上下文
- .htaccess - 安装 SSL 后 htaccess 重定向停止工作
- jquery - jquery event code in Chrome In full shape not working
- spring-boot - Spring Boot 安全配置不起作用
- c# - How to change value in one class if value changes in another
- php - 是否有任何其他解决方案可以在 foreach 表中循环我的函数?