ID:               22101
 Comment by:       fnatter at gmx dot net
 Reported By:      cmouse at quakenet dot org
 Status:           Bogus
 Bug Type:         Scripting Engine problem
 Operating System: Debian linux 2.4.19
 PHP Version:      4.3.0
 New Comment:

I have a workaround: put the full path to the include-directory (i.e.
/home/m2004001/Test/tmp/ in my test-case) in include_path:



1. put this in the <VirtualHost> of the affected domain:

php_admin_value include_path /home/m2004001/Test/tmp:.:/usr/share/pear



2. or create one include-file that gets included first, like this:

  $incpath = ini_get("include_path");

  ini_set("include_path", "/home/m2004001/Test/tmp:$incpath");


Previous Comments:
------------------------------------------------------------------------

[2004-03-12 09:29:47] fnatter at gmx dot net

I am having the same problem with php 4.1.2 (Debian 3.0), but with
open_basedir != "/":



here is my test-case

(with php_admin_value open_basedir /home/m2004001):



/home/m2004001/Test/test1.php:

<?php

echo "test1";

include("tmp/test2.php");

?>

/home/m2004001/Test/tmp/test2.php:

<?php

echo "test2";

include("test3.php");

?>

/home/m2004001/Test/tmp/test3.php:

<?php

echo "test3";

?>



now load test1.php in the browser and you get:

Warning: open_basedir restriction in effect. File is in wrong

directory in /home/m2004001/Test/tmp/test2.php on line 3



In my project I have all my include files in app/include, and when I

include another include-file in an include-file I omit the path (as in

the example above).



It works when I use absolute paths in include, but I don't want to

specify a path involving the DocumentRoot (in case it gets moved), so
is there another workaround?

thanks,

------------------------------------------------------------------------

[2003-02-13 20:43:28] r at phid dot ae

I had the same problem and I was just about to submit a bug because
upgrading from 4.2.3 to 4.3.0 breaks any vhosts that have open_basedir
"/".



Maybe it's an idea to update the documentation to reflect that 'none'
can be used to override a restrictive default?



-- 

raphidae <[EMAIL PROTECTED]>

------------------------------------------------------------------------

[2003-02-13 13:18:26] d-e-a-t-h at gmx dot net

Hm. It's not only the root-dir (/).

It doesn't work in other directories, either.

e.g. my customer has a www-dir with hundrets of subdirectories. No
Problem in 4.1.2! I had only to 'php_admin_flag open_basedir
"/home/customer/www"'.

Now with PHP 4.3.0 I have to include each subdir and its subdirs which
brings me a lot of work.

Sorry for bad engl.



Greets Stefan

------------------------------------------------------------------------

[2003-02-13 00:51:38] cmouse at quakenet dot org

Sometimes there is... I only use open_basedir / (formerly though, now
it's none) in apache configuration, since phpSysInfo needs to access
few places outside the normal basedir /www. But *shrug* none seems to
work, which it didn't do on the prev. version I had, 4.1.2

------------------------------------------------------------------------

[2003-02-13 00:48:50] [EMAIL PROTECTED]

There's no point in putting / as basedir, like Rasmus said.



------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/22101

-- 
Edit this bug report at http://bugs.php.net/?id=22101&edit=1

Reply via email to