#24112 [Fbk->Bgs]: php_admin_value defaults - open_basedir
| From: | sniper@php.net | Date: | Thu, 26 Jun 2003 23:13:04 +0000 |
| Subject: | #24112 [Fbk->Bgs]: php_admin_value defaults - open_basedir | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-42591@lists.php.net to get a copy of this message | ||
ID: 24112
Updated by: sniper@php.net
Reported By: pd at pauldemarco dot com
-Status: Feedback
+Status: Bogus
Bug Type: Scripting Engine problem
Operating System: redhat 7.3
PHP Version: 4.3.2
New Comment:
Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments
to the existing bug instead.
Thank you for your interest in PHP.
See bug #24282
Previous Comments:
------------------------------------------------------------------------
[2003-06-15 18:26:08] sniper@php.net
Could you try commenting out the open_basedir in your php.ini?
------------------------------------------------------------------------
[2003-06-10 09:44:07] pd at pauldemarco dot com
ignore the message about /tmp, due to the previousily mentioned
randomness, it appeared to go away, but is still present, explicitly
setting the open_basedir at the virtual host level is the only thing
that removes the error consistently
------------------------------------------------------------------------
[2003-06-10 09:32:23] pd at pauldemarco dot com
if someone can confirm the behavorial difference on this between 4.3.0
and 4.3.2
Does 4.3.0 automatically add /tmp/ to open_basedir, but 4.3.2 does not?
This is a phpbb installation, its failing on its cached templating
files, and occasionally on file uploads. If the above /tmp behavior is
correct, then that would explain why it breaks in 4.3.2, however the
error messages are still very wrong as they list other virtual-hosts
open_basedir settings
------------------------------------------------------------------------
[2003-06-10 08:19:07] pd at pauldemarco dot com
This problem does not occur on 4.3.0, with the same configure line (any
basic configuration will do). Sadly, I cannot provide any real error
information, as it is not crashing, but the behavior is fairly
predictable.
I have a open_basedir setting in php.ini, confirmed via phpinfo(), its
value is not important. On each of the configured virtual hosts I have
a different value using php_admin_value. However, on some virtual
hosts I turn safe_mode off using php_admin_flag and do not set an
open_basedir value, so it should be using the php.ini setting. Turning
safe mode off is probably not relevant, but trying to provide any
related information.
When requesting pages on that virtual host (the one with no overriding
open_basedir setting, and safe mode off), the requests will randomly
fail. When checking the error log, it is a normal exit and php is
logging that 'open_basedir restriction in effect ... '
The path that it provides as the active open_basedir value is not
correct. It in fact randomly changes to other virtual hosts settings.
It does not always fail, it may take 20 requests before it does (even a
simple auto-refreshing page, will fail shortly with that error).
I believe there may be a bug in reverting to the default configuration
value, and using an old value in memory. I am using prefork in apache,
so it would most likely have to be an uninitialized pointer to the same
memory space, memory spaces for new forked processes should be
repeatable.
Well thats about all I can provide, it can be fixed by explicitly
stating the open_basedir value in each virtual host (so ones where
before I kept it at the default value, now explicitly set the default
value).
I'm more than happy to follow any instructions to get further
information on this, just not sure what to do as its not an actual
crash or anything.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=24112&edit=1