Open_basedir restriction
时间:2005-07-16 来源:wenzk
There are several things that could cause this.
a) This could be the PHP 4.2.3 BUG described below. To solve this, rewrite the Ez3 write routines or convince the provider to upgrade to php 4.3.
More info:
http://bugs.php.net/bug.php?id=19292
http://www.faqts.com/knowledge_base/view.phtml/aid/18472
b) It could also mean that you have PHP safe mode on. Try switching safe mode off. Safe mode is a general PHP setting. If you are on a shared environment, you will have to talk to your ISP on this.
Even though the safe mode does not affect the open_basedir directive, safe mode can cause this type of errors.
c) open_basedir wrongly configured.
Change the configuration of open_basedir option in php.ini (see this thread). Find in the /etc/php.ini file the open_basedir option. If the open_basedir looks like this
/path/to/www/root/
then this is wrong. It must be the following:
Windows
;path;to;www;root;
ALL other Operating Systems
:path:to:www:root:
Sounds strange but it may work (tested with php-4.2.3). You might want to do some backup reading in the php manual on configuration.
Change openbase_dir only for one specific vhost of Apache
You can either choose between a specific directory or no directory (value "none")
<VirtualHost 217.160.187.131:80>
ServerName mydomain.de
DocumentRoot /home/www/web3/html
User web3
Group webuser
php_admin_value upload_tmp_dir /home/www/web3/phptmp/
php_admin_value open_basedir none
RewriteEngine On
RewriteRule !.(gif|css|jpg|png|jar)$ /index.php
</VirtualHost>