I have an application which has to run on different webservers (or to be more specific on servers with a different directory layout). On one servers the
php files are in
/usr/home, the next one is using
/www, the third one
/var/www and last but not least my laptop has the files in my home directory which is under
No problem - or?
Since we want a bit of security, we have
open_basedir activated. Now the script has to check if a specific directory exists. I added this directory name to the
open_basedir settings on all webservers. But surprise PHP tries to be intelligent. On servers where the specific directory does not exist, PHP removes the directory name from the
open_basedir directory list (note: this cost another
stat() call on startup).
You imagine what comes next? Now the
is_dir() call on this server fails, because of an
open_basedir restriction in effect error.