On Sun, May 25, 2014 at 10:47 AM, Reindl Harald h.reindl@thelounge.net wrote:
[25-May-2014 05:45:01 Europe/Vienna] PHP Warning: file_exists(): open_basedir restriction in effect. File(vendor/autoload.php) is not within the allowed path(s): (/usr/share/roundcubemail:/var/log/roundcubemail:/etc/roundcubemail:/usr/share/pear:/var/www/uploadtemp) in /usr/share/roundcubemail/program/include/iniset.php on line 64
GENERAL: please use @file_exists() everywhere to prevent such messages on production servers running witeh E_ALL fro good reasons and sending twice an hour anything from the php errorlog via email to the admin which normally is empty
I clearly object against that. Suppressing errors with @ (or with any other means) should not become a GENERAL habit. Yes, we use @ within the Roundcube codebase but very selectively and we should even try to reduce its use. And if open_basedir moans about a prevented file access attempt, that's clearly something that should catch your attention in the logs.
Regarding this particular problem with the check for composer's autoload file, we might want to seek for another solution. I actually didn't expect any errors coming from a file_exists() check within the Roundcube install directory but obviously I was wrong with that.
But after dropping support for PHP < 5.3, we could move on to generally use Composer for managing and pulling 3rd party libs in Roundcube and get rid of the copies on our git repository. Although unrelated to your request for generally muting file_exists() errors, it would solve this access to vendoer/autoload.php because that file would always exists.
~Thomas