2008-08-27 4 views
-1

Ich mache einige PHP-Sachen auf einem Ubuntu-Server.Warum würde getcwd() ein anderes Verzeichnis als ein lokales pwd zurückgeben?

Der Weg, den ich in der Arbeit bin ist /mnt/dev-windows-data/Staging/mbiek/test_list aber die PHP-Aufruf getcwd() kehrt /mnt/dev-windows/Staging/mbiek/test_list (Beachten Sie, dass es Dev-Windows anstelle von Dev-Windows-Daten ist.

Es gibt keine symbolischen Links irgendwo.

Gibt es noch andere Ursachen für getcwd(), die einen anderen Pfad von einem lokalen Pwd-Aufruf zurückgeben?

bearbeiten

ich es herausgefunden. Die DOCUMENT_ROOT in PHP ist auf /mnt/dev-Windows gesetzt, die alles auswirft.

Antwort

1

In welcher Datei rufen Sie getcwd() auf und ist diese Datei in die Datei eingeschlossen, die Sie ausführen (z. B. mit index.php, einschließlich startup.php, das gwtcwd() enthält).

Ist die Datei, die Sie ausführen, in/dev-windows/oder/dev-windows-data /? Es funktioniert mit der Datei, die Sie gerade ausführen.


Hier ist ein Beispiel für ein aktuelles Projekt:

index.php

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

/construct.php umfasst

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

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

@Ross

Ich dachte, dass Getcwd() einen Dateisystempfad anstelle eines relativen URL-Pfads zurückgegeben hat.

In jedem Fall bleibt die Tatsache, dass der Pfad/mnt/dev-windows nicht vorhanden ist, während/mnt/dev-windows-data tut.

0

@Mark

Nun, das ist einfach nur seltsam! Was ist dein include_path - das könnte Unordnung sein. Ich habe es persönlich zugunsten von contants aufgegeben, weil es nur so temperamentvoll ist (oder ich habe nie gelernt, es zu tun).

0

@Ross

ich es herausgefunden und die OP mit der Lösung aktualisiert.

Verwandte Themen