Warum sollte getcwd() ein anderes Verzeichnis als ein lokales pwd zurückgeben?

StackOverflow https://stackoverflow.com/questions/30307

  •  09-06-2019
  •  | 
  •  

Frage

Ich mache ein paar PHP-Sachen auf einem Ubuntu-Server.

Der Weg, auf dem ich arbeite, ist /mnt/dev-windows-data/Staging/mbiek/test_list aber der PHP-Aufruf getcwd() kehrt zurück /mnt/dev-windows/Staging/mbiek/test_list (Beachten Sie, dass es sich um „dev-windows“ statt „dev-windows-data“ handelt).

Es gibt nirgendwo symbolische Links.

Gibt es noch andere Ursachen dafür? getcwd() einen anderen Pfad als einen lokalen zurückgeben pwd Anruf?

Bearbeiten

Ich habe es herausgefunden.Der DOKUMENT ROOT in PHP ist auf eingestellt /mnt/dev-windows was alles durcheinander bringt.

War es hilfreich?

Lösung

In welcher Datei rufen Sie getcwd() auf und ist diese Datei in der von Ihnen ausgeführten Datei enthalten (z. B.Ausführen von index.php, einschließlich Startup.php, das gwtcwd() enthält).

Befindet sich die Datei, die Sie ausführen, in /dev-windows/ oder /dev-windows-data/?Es funktioniert mit der Datei, die Sie tatsächlich ausführen.


Hier ist ein Beispiel meines aktuellen Projekts:

index.php

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

include/construct.php

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

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

Andere Tipps

@Ross

Ich habe es herausgefunden und das OP mit der Lösung aktualisiert.

@Ross

Ich dachte, dass getcwd() einen Dateisystempfad und nicht einen relativen URL-Pfad zurückgibt.

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

@Markieren

Nun, das ist einfach seltsam!Was ist dein include_path - Das könnte ein Durcheinander sein.Ich persönlich habe es zugunsten von Inhalten aufgegeben, weil es einfach so temperamentvoll ist (oder ich habe nie gelernt, wie man es gerecht macht).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top