Die Direktive open_basedir erlaubt, unabhängig von Safemode oder Permissions, den Zugriff von PHP-Skripten auf bestimmte Verzeichnisse einzuschränken. Dabei kommt es aber manchmal zu Problemen, wenn folgendes vergessen wurde:
- Der session.save_path: PHP kann keine Sessions abspeichern, wenn der Zugriff auf diesen Pfad verboten ist.
- Das upload_tmp_dir: PHP kann sonst nich auf hochgeladene Dateien zugreifen, das Hochladen an sich klappt aber.
- Der include_path: PHP kann sonst keine Libraries im include_path öffnen.
Was nicht hineingehört:
- Pfad zu /tmp: Hier werden auch von Systemapplikationen temporäre Dateien gespeichert.
- Pfad zu sendmail: Liegt, zumindest bei Debian, im /usr/sbin. Dieser Pfad gehört ganz sicher nicht in eine Web-Konfiguration… Sendmail wird übrigens trotzdem gefunden.