2016-02-18 24 views
5

Jak mogę getcwd() w skrypcie PHP w archiwum Phar po wywołaniu z konsoli?Jak uzyskać aktualny katalog roboczy w Phar?

Rozważmy następujący apel:

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

w tym przypadku getcwd() powróci /path/to/my/actual/cwd. Teraz bierzemy ten sam skrypt, umieścić go w Phar i nazwać tak:

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

Tym razem getcwd() powróci /path/to/my/phar jak to jest bieżący katalog roboczy archiwum Phar, ale nie nazywamy archiwum z tego katalogu, plik cwd konsoli jest inny.

Jak mogę to zdobyć?

A nawet lepiej, jak mogę zmusić wszystkie skrypty w Phar do myślenia, że ​​ich cwd jest konsolą?

Odpowiedz

1

Nie testowałem, ale nie używam już getcwd(), ponieważ mam problemy w obrębie cronjobs. W takim przypadku było to moje rozwiązanie:

echo __DIR__; 
+0

To zwraca katalog pliku PHP, z którego go wywołujesz, a nie bieżący katalog roboczy. –