Nedobytná magická konstanta __DIR__

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
janelznic
Člen | 1
+
0
-

Ahoj, nenašel jsem tu podobné téma, tak doufám, že neřeším již dávno vyřešené.

Používám verzi frameworku 2.1-dev a zjistil jsem, že framework používá natvrdo ve zdrojových souborech magickou konstantu __DIR__ (od PHP 5.3), které bych se potřeboval zbavit nebo ji nějak obejít.

Resp. jde mi o to, že mám svůj projekt vycheckoutovaný někde v adresáři, dejme tomu /home/user/git/service-repository/app/… atd., ale projekt s DocumentRoot v Apache2 mám v adresáři /home/user/www/service-name/… atd., odkud mi vede symlink do toho adresáře „git“ v mém „home“, kde mám projekt vycheckoutovaný.

Důvod je ten, že používám vlastní „vykopírované“ konfiguráky, logy a další soubory, které nechci, aby mi překážely mezi soubory v repozitáři. Avšak magická konstanta __DIR__ symlink rozpozná a vypíše cestu k adresáři „/home/user/git/…“ namísto „/home/user/www/…“ a celý script potom končí chybou kvůli špatným cestám.

Dalo by se toto obejít nějakou direktivou v Apache confu nebo jiným způsobem? Jen na okraj, používám Debian x64 Wheezy.

Děkuji předem za odpověď převelice.
Honza

Mesiah
Člen | 240
+
0
-

Nejsem linuxově založený, ale podařilo se mi vygooglit že dir je možné nahradit za realpath(); ale asi si to budeš muset všude upravit ručně…

Editoval Mesiah (11. 2. 2014 8:40)

voda
Člen | 561
+
0
-

Podívej se na $_SERVER['DOCUMENT_ROOT']. To by v tvém případě mělo být /home/user/www/service-name/.