gpt4 book ai didi

php - __DIR__ 和 DOCUMENT_ROOT 返回不同的值,但两者都有效。为什么?

转载 作者:行者123 更新时间:2023-12-01 20:04:15 24 4
gpt4 key购买 nike

我已将此代码保存为客户端主机根目录中的 dr.php。从输出中可以看出,__DIR__$_SERVER['DOCUMENT_ROOT'] 不同;但他们都找到了dr.php

这是怎么回事?可以安全地假设DOCUMENT_ROOT总是有效吗?

dr.php代码

<pre>
<?php
var_dump($_SERVER['DOCUMENT_ROOT']);
var_dump(file_exists($_SERVER['DOCUMENT_ROOT'] . '/dr.php'));
var_dump(__DIR__);
var_dump(file_exists(__DIR__ . '/dr.php'));
?>
</pre>

输出

string(36) "/usr/local/etc/httpd/htdocs/daikaidk"
bool(true)
string(34) "/usr/local/apache2/htdocs/daikaidk"
bool(true)

最佳答案

根据doc

__DIR__ : The directory of the file. If used inside an include, the directory of the included file is returned. This is equivalent to dirname(__FILE__). This directory name does not have a trailing slash unless it is the root directory.

__FILE__ The full path and filename of the file with symlinks resolved. If used inside an include, the name of the included file is returned.

所以,您已经使用 DOCUMENT ROOT 配置了您的 Web 服务器 (Apache) /usr/local/etc/httpd/htdocs/daikaidk这是指向 /usr/local/apache2/htdocs/daikaidk 的符号链接(symbolic link).

在 PHP 中 __DIR__返回已解析符号链接(symbolic link)的真实路径。

关于php - __DIR__ 和 DOCUMENT_ROOT 返回不同的值,但两者都有效。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27184764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com