Edit report at http://bugs.php.net/bug.php?id=53597&edit=1
ID: 53597 User updated by: hsk at fli-leibniz dot de Reported by: hsk at fli-leibniz dot de Summary: open_basedir not working as documented Status: Duplicate Type: Bug Package: Safe Mode/open_basedir Operating System: Linux PHP Version: 5.3.4 Block user comment: N Private report: N New Comment: #53597 is definitely *not* a duplicate of #53577, please change status open_basedir as of 5.3.4 (and 5.3.5 as well) no longer allows to specify directory prefixes, in contradiction to the documentation e.g., setting open_basedir = /u/phpMyAdmin should accept files in /u/phpMyAdmin-3.3.8.1-all-languages, but does not Previous Comments: ------------------------------------------------------------------------ [2010-12-24 05:29:41] ahar...@php.net Duplicate of bug #53577. ------------------------------------------------------------------------ [2010-12-23 12:38:27] hsk at fli-leibniz dot de Description: ------------ the php manual in the section "Description of core php.ini directives" (http://www.php.net/manual/en/ini.core.php, checked on 23-dec-10 11:55 utc) states: The restriction specified with open_basedir is actually a prefix, not a directory name. this has been so "ever since", but seems now broken at release 5.3.4 - specifying directory name prefix gives access denied errors, only specifying complete directory name seems to work. if the described behaviour is intentional, please fix the documentation *and note the change in BIG BOLD LETTERS in the release announcement*, or, better, fix the php-code to behave as documented. Test script: --------------- phpmyadmin installed and configured in /u/phpMyAdmin-3.3.8.1-all-languages entry in /usr/lib/php.ini : open_basedir = /tmp/:/u/phpMyAdmin:/usr/lib/php/ according to the documentation, this should give access to the phpmyadmin installation, and used to do so up to php-5.3.3, but now, as of php-5.3.4, gives an error message open_basedir restriction in effect. File(/u/phpMyAdmin-3.3.8.1-all-languages/index.php) is not within the allowed path(s): (/tmp/:/u/phpMyAdmin:/usr/lib/php/) it works when changing /usr/lib/php.ini to open_basedir = /tmp/:/u/phpMyAdmin-3.3.8.1-all-languages:/usr/lib/php/ ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53597&edit=1