PDA

Visualizza la versione completa : Permessi di scrittura dello script


Marcolino's
20-02-2010, 18:03
Ancora un problema! Inaspettato ma sicuramente noioso.
Ho un server di sviluppo LAMP così strutturato:
[list=1]
SO Ubuntu 8.04
Apache 2.2.x
PHP 5.2.6
MySQL -- Postgre
[/list=1]
apache è configurato per leggere una speciale cartella dentro a /home/ e ora gira come marco:marco che è il mio utente predefinito, prima girava come www-data:www-data e il problema si presentava comunque.
Il problema è che non riesco a salvare su disco, l'errore PHP è:
Warning: file_put_contents(../xml/result.xml) [function.file-put-contents]: failed to open stream: Permission denied in /home/cms/sito/bin/xslt.php on line 41 il problema è che non riesco a modificare i permessi in modo che lo script possa eseguire l'operazione.
Ora è 777 ma nulla :(

sacarde
20-02-2010, 18:37
e la linea 41 ?

Marcolino's
20-02-2010, 19:07
Scive un file su disco:
file_put_contents( '../xml/result.xml', $dom->saveXML() ); ovviamente, $dom->saveXML() è una stringa valida già verificata tramite una echo, il tutto sembra proprio un problema legato ai permessi.

emmebì
22-02-2010, 11:59
La cartella nella quale PHP scrive dev'esser accessibile in lettura/scrittura per l'utente "marco".



chmod -R 700 /home/cartella
chown -R marco:marco /home/cartella

Marcolino's
22-02-2010, 12:31
Originariamente inviato da emmebì
La cartella nella quale PHP scrive dev'esser accessibile in lettura/scrittura per l'utente "marco".



chmod -R 700 /home/cartella
chown -R marco:marco /home/cartella

Già fatto ma non funziona.

emmebì
22-02-2010, 13:13
Il php.ini ha restrizioni tipo open_basedir?

Marcolino's
22-02-2010, 14:08
Non ho modo di vederlo ora, tieni presente che l'installazione è statafatta tramite apt e quindi impiega le direttive di default.
Controllo oggi e ti faccio sapere.

emmebì
22-02-2010, 16:10
No, con le direttive di default non si hanno settaggi restrittivi...

Mhnn...

emmebì
22-02-2010, 16:14
Prendi una shell (dille che l'ami... ehm no) dai un:



su marco


e prova a scrivere in quella cartella.

Marcolino's
22-02-2010, 18:35
Non hai capito, in quella cartella come marco io posso farci di tutto! Mi ama :D

php.ini safe_mode = off e openbase dir è commentato :master:

Loading