如何在不获取realpath的情况下使用__dir__


How do I use __dir__ without getting the realpath?

让我们假设我有一个从/some/real/location 指向/some/fake/location的符号链接

在这个假设的目录中,我有一个名为blah.php的文件,它的内容是:

#!/usr/bin/php    
<?php echo __dir__; ?>

然后,我从命令行执行blah.php,如下所示:

php /some/fake/location/blah.php

输出为

/some/real/location

如何在不解析任何符号链接的情况下获取当前PHP文件的目录?

在谷歌上搜索了所有地方后,似乎有一百万其他人需要__dir__来解决符号链接。然而,不幸的是,答案是没有答案。

由于__DIR__会自动解析符号链接,因此您可能需要使用$_SERVER["SCRIPT_FILENAME"]。它将返回当前正在执行的脚本的绝对路径名。