我正在 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 中设置为 /mnt/dev-windows 这让一切都变得糟糕。

有帮助吗?

解决方案

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

您正在运行的文件是 /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
?>

其他提示

@罗斯

我弄清楚了并用解决方案更新了OP。

@罗斯

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

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

@标记

嗯,这真是太奇怪了!你的是什么 include_path - 这可能会把事情搞乱。我个人已经放弃了它,转而使用内容,因为它太喜怒无常(或者我从来没有学会如何公正地对待它)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top