php Open_BasedirconfigurationApache 2

我们有以下设置:

  • / var / www / public < – DocumentRoot
  • / var / www / functions < – php函数
  • / var / www / config < – phpconfiguration

通过apache vhostconfiguration,我们打开了basedir:

php_admin_value open_basedir "/var/www/functions/:/var/www/config/" 

现在如果我在函数或configuration文件中包含一个文档,那么按预期工作。 但是,如果我从一个不包含函数内的configuration。

所以:

/var/www/public/index.php可以包含../functions/test.php

/var/www/functions/test.php不能包含../config/config.php

有效的open_basedir限制。 文件(../ config / config.php)不在/var/www/functions/test.php的允许path(/ var / www / functions /:/ var / www / config /)中1067行

任何想法可能吗?

感谢和亲切的问候

莱纳斯

附加信息:

如果我包含完整path它的工作,如在include_once("/var/www/config/config.php"); 而不是include_once("../config/config.php");

这是你自己写的东西? 在这种情况下,典型的PHP使用将是:

 require_once(dirname(__FILE__) . "/bla/foo.php"); 

要么

 require_once(dirname(__FILE__) . "/../config/config.php");