Mailinglisten-Archive |
Hi Jens, Jens Giessmann wrote: > Hats du mal getestet WO dein Script "ist" wenn der Destruktor > mit mod_php aufgerufen wird? > > Bei mir (kleiner Test auf 2 Maschinen) ist das / und da darf ein > Apache-User hoffentlich auch kein Verzeichnis anlegen. In / wie bei dir auch. Dein Skript hats gezeigt :) Damit ist natürlich klar, warum kein Verzeichnis erstellt/gelöscht wird... Und ich wollte schon ein Filesystem logging einbauen, um zu schauen wo PHP versucht zu schreiben... :) > Das bedeutet auch, dass man wohl fuer file-Operationen im Destruktor > immer einen absoluten Pfad zum Ziel verwenden sollte, den kann man > sich ja vorher als Eigenschaft definieren. Ich habe es jetzt so gemacht, dass ich im __construct() $this->realpath = getcwd(); setze und das dann jeweils im __destruct() in unlink( $this->realpath . '/' . $this->file ); einbaue. Damit funktioniert das jetzt auch mit mod_php. Allerdings habe ich eben gerade gelesen, dass getcwd() in einigen Fällen nicht zuverlässig das Webroot ermittelt [1],[2] . Hat da jemand noch ne Idee, wie ich IMMER sicher an das Webroot komme? Und hier [3] habe ich gerade gelesen, steht auch genau der Hinweis, dass PHP sich in / befindet in __destruct bzw. register_shutdown_function. Aber warum ist PHP als CGI noch im Webroot und mod_php nicht? Kann das jemand erklären? Gruss und Danke Andi [1] http://ch2.php.net/manual/de/function.getcwd.php#59459 [2] http://ch2.php.net/manual/de/function.getcwd.php#49423 [3] http://ch2.php.net/manual/de/function.getcwd.php#43451
php::bar PHP Wiki - Listenarchive