Ik heb een webserver met daarop Debian, DirectAdmin, Apache 2 en PHP5. Met een PHP-script probeer ik een bestand uit te lezen in /etc, en kan dit niet verplaatsen, alle gebruikers hebben ook leesrechten op het bestand.
Het probleem is dat ik het bestand niet via PHP kan benaderen, omdat het niet in de lijst van toegestane paden staat.
In de phpinfo() staat het volgende:
Het probleem is dus dat een lokale instelling de globale overschrijft, maar er wordt nergens aangegeven waar deze lokale vandaan komt. Het staat niet in php.ini, httpd.conf, of een .htaccess bestand. Zoeken met grep levert tot nu toe ook niks op. Het overriden van de open_basedir via .htaccess werkt ook niet.
Waar haalt PHP deze instellingen vandaan en hoe kan ik ze wijzigen?
Het probleem is dat ik het bestand niet via PHP kan benaderen, omdat het niet in de lijst van toegestane paden staat.
code:
1
| PHP Warning: is_dir(): open_basedir restriction in effect. File(/etc/virtual) is not within the allowed path(s): (/home/usrename/:/tmp:/usr/local/lib/php/) in /home/username/domains/example.com/public_html/admin/mailinglist/list.php on line 9 |
In de phpinfo() staat het volgende:
code:
1
2
| Directive Local Value Master Value open_basedir /home/username:/tmp:/usr/local/lib/php/ no value |
Het probleem is dus dat een lokale instelling de globale overschrijft, maar er wordt nergens aangegeven waar deze lokale vandaan komt. Het staat niet in php.ini, httpd.conf, of een .htaccess bestand. Zoeken met grep levert tot nu toe ook niks op. Het overriden van de open_basedir via .htaccess werkt ook niet.
Waar haalt PHP deze instellingen vandaan en hoe kan ik ze wijzigen?
Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.