Autor | Zpráva | ||
---|---|---|---|
iiic Profil |
#1 · Zasláno: 25. 3. 2013, 23:29:57
Pěkný večer
Už pár dnů řeším divné chování require (include a dalších) funkcí v php. Ve výsledku jsem přišel na to, že spousta souborů, které potřebuji, je pro php jaksi nedostupných. Udělám si obyčejný soubor <?php require 'jmeno/vendor/nette/versions.txt'; a vypadnou jen chyby Warning: require(/var/www/html/jmeno/vendor/nette/versions.txt): failed to open stream: Permission denied in /var/www/html/omg.php on line 3 Fatal error: require(): Failed opening required 'jmeno/vendor/nette/versions.txt' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/omg.php on line 3 Na příkaz '$ php /var/www/html/jmeno/vendor/nette/versions.txt' je soubor dostupný, jak má. Takže asi jen pro Apache (httpd) nějak není přístupný. No nepochopitelné na tom je, že smazáním a novým vytvořením versions.txt najednou všechno funguje jak má. Takže nějaký ten linuxový problém tipuji. Přitom ale před i po smazání jsou skupina i vlastník i práva úplně stejné. Je možné, že má někdo přístup k souborům uzamčený? Je na to nějaký příkaz, kterým to zjistím? (restart celého serveru ničemu nepomohl) |
||
Tori Profil |
Podle tohoto reportu by to mohlo souviset s composerem. Zkuste změnit skupinu i vlastníka celé složky vendor (i když je zdánlivě stejný)
chown -R vlastnik:skupina ./vendor
|
||
iiic Profil |
#3 · Zasláno: 26. 3. 2013, 16:35:13
Tori:
Ne… nic takového bohužel nepomáhá, ale přes ten composer to šlo, tak možné to je, že problém bude někde s tím. Zkusím ještě přesunout všechno k sobě a pak to vrátit, to by teoreticky mělo fungovat. |
||
iiic Profil |
#4 · Zasláno: 27. 3. 2013, 16:53:34
Přesunout celý projekt k sobě a zase ho vrátit na server pomohlo… akorát teď nevím, na kterou z těch technologií mám být nasraný.
|
||
Tori Profil |
#5 · Zasláno: 27. 3. 2013, 21:01:13
Na fóru Nette jste se neptal? Tam je imho větší pravděpodobnost, že se s tím problémem někdo už setkal.
|
||
Časová prodleva: 11 let
|
0