-1

我在 Ubuntu 服务器上做一些 PHP 的东西。

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

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

是否有任何其他原因导致getcwd()从本地pwd呼叫返回不同的路径?

编辑

我想到了。PHP 中的DOCUMENT_ROOT设置为/mnt/dev-windows,这会抛出所有问题。

4

4 回答 4

1

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

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


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

索引.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
?>
于 2008-08-27T14:42:38.677 回答
0

@罗斯

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

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

于 2008-08-27T14:52:52.147 回答
0

@标记

好吧,这简直太奇怪了!你是什​​么include_path——这可能是乱七八糟的事情。我个人已经放弃了它以支持contants,因为它太喜怒无常了(或者我从来没有学会如何公正地做到这一点)。

于 2008-08-27T14:57:21.700 回答
0

@罗斯

我想通了,并用解决方案更新了 OP。

于 2008-08-27T15:03:41.343 回答