为什么getcwd()会返回与本地pwd不同的目录?

时间:2008-08-27 14:40:39

标签: php directory

我正在Ubuntu服务器上做一些PHP。

我正在使用的路径是 / mnt / dev-windows-data / Staging / mbiek / test_list ,但PHP调用getcwd()正在返回 / mnt / dev -windows / Staging / mbiek / test_list (注意它是dev-windows而不是dev-windows-data)。

任何地方都没有任何符号链接。

getcwd()返回与本地pwd电话不同的路径是否还有其他原因?

编辑

我明白了。 PHP中的 DOCUMENT_ROOT 设置为 / mnt / dev-windows ,这会抛弃所有内容。

4 个答案:

答案 0 :(得分:1)

你在哪个文件中调用getcwd()并且该文件是否包含在你正在运行的文件中(例如运行index.php,包括包含gwtcwd()的startup.php。)

您正在/ dev-windows /或/ dev-windows-data /中运行的文件?它适用于您实际运行的文件。


以下是我当前项目的一个示例:

<强>的index.php

<?php
    require_once('./includes/construct.php');
    //snip
?>

<强>包括/ construct.php

<?php
    //snip
    (!defined('DIR')) ? define('DIR', getcwd()) : NULL;

    require_once(DIR . '/includes/functions.php');
    //snip
?>

答案 1 :(得分:0)

@Ross

我认为getcwd()返回的是文件系统路径而不是相对url路径。

无论哪种方式,事实仍然是/ mnt / dev-windows-data存在路径/ mnt / dev-windows 不存在

答案 2 :(得分:0)

@马克

嗯,这简直太奇怪了!什么是你的include_path - 这可能会让你感到困惑。我个人倾向于支持它,因为它只是如此的气质(或者我从来没有学会如何正义)。

答案 3 :(得分:0)

@Ross

我想出来并用解决方案更新了OP。