2008-08-27 58 views
-1

我正在做一些Ubuntu的Ubuntu服務器上的東西。爲什麼getcwd()會返回與本地pwd不同的目錄?

我在工作的路徑是的/ mnt/dev的窗口數據/分期/ mbiek/test_list但PHP呼叫getcwd()將返回到/ mnt/dev的窗口/分期/ mbiek/test_list(注意它是如何代替開發窗口數據的開發窗口)。

任何地方都沒有任何符號鏈接。

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

編輯

我想通了。 PHP中的DOCUMENT_ROOT設置爲/mnt/dev-windows,它將所有內容拋出。

回答

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 
?> 
0

@Ross

我認爲getcwd()正在返回一個文件系統路徑而不是一個相對的url路徑。

無論哪種方式,事實仍然是/ mnt/dev-windows-data所做的路徑/ mnt/dev-windows 不存在存在。

0

@Mark

好吧,那簡直太奇怪了!什麼是你的include_path - 這可能會攪亂周圍的人。我已經私下拋棄它,因爲它只是如此性情暴躁(或者我從來沒有學會如何正義)。

0

@Ross

我想通了,並更新瞭解決方案的OP。

相關問題