2016-02-18 20 views
5

Wie kann ich getcwd() in einem PHP-Skript in einem Phar-Archiv, wenn von der Konsole aus aufgerufen?Wie bekomme ich das aktuelle Arbeitsverzeichnis in Phar?

diesen Anruf vor:

/path/to/my/actual/cwd> php index.php 

In diesem Fall wird getcwd()/path/to/my/actual/cwd zurück. Nun nehmen wir das gleiche Skript, es in einem Phar setzen und es so nennen:

/path/to/my/actual/cwd> php /path/to/my/phar/archive.phar 

Diesmal getcwd() kehrt /path/to/my/phar als dass das aktuelle Arbeitsverzeichnis des Phar-Archiv ist, aber ich nicht nennen die Archiv von diesem Verzeichnis ist die cwd der Konsole anders.

Wie kann ich das bekommen?

Oder noch besser, wie kann ich alle Skripte im Phar zwingen zu denken, dass ihre cwd die Konsole ist?

Antwort

1

Nicht getestet, aber ich benutze nicht getcwd() mehr, weil ich einige Probleme in Cronjobs bekam. In diesem Fall war das meine Lösung:

echo __DIR__; 
+0

Das gibt das Verzeichnis der PHP-Datei zurück, von der Sie es aufrufen, nicht das aktuelle Arbeitsverzeichnis. –