php getcwd()解析symlink的目标而不是当前目录

时间:2011-09-05 01:27:21

标签: php apache symlink resolve getcwd

据我所知,php的getcwd()(以及类似的函数,例如dirname(__FILE__))应该返回正在执行的文件的当前目录。

如果当前目录恰好是另一个目录的符号链接,则php(可能与apache一起)应该返回显示符号链接名称的路径作为您所在的“目录”。

示例:

from /var/www,
directory 'one' contains index.php
symlink 'two' points at directory 'one'

one/index.php: <?php echo getcwd(); ?>

在浏览器中访问http://localhost/two/index.php会显示/var/www/one

我希望它能显示/var/www/two

有谁知道这是一个php或apache设置我可以改变吗?或者我不能以这种方式使用符号链接?

1 个答案:

答案 0 :(得分:8)

好的想通了。如果通过浏览器,请使用$_SERVER['SCRIPT_FILENAME']。在命令行上,您可以使用exec("pwd")

获取当前符号链接目录