ajaxplorer:open_basedir 限制生效

ajaxplorer:open_basedir 限制生效

我正在尝试安装运行程序在我的主文件夹中的共享主机上。当我导航到主页时,出现错误:

is_writable(): open_basedir restriction in effect. 
    File(/var/lib/php5) is not within the allowed path(s): 
    (/var/www//username/:/usr/sbin/sendmail:/usr/share/php
        :/home/www/appname::/usr/share/pear:/dev/urandom)

可能是什么原因造成的?我该如何解决?

安装了 php 5.3.3,apache 2.2.16。我使用 ajaxplorer 4.0.4。

编辑:

该问题是由以下代码部分引起的:

$tmpDir = session_save_path();
$this->testedParams["会话保存路径"] = $tmpDir;
如果($tmpDir!=“”){
   $this->testedParams["会话保存路径可写"] = is_writable($tmpDir);

错误出现在最后一行,但我附上了上下文。

答案1

您可以尝试将其添加到文件顶部吗:

session_save_path('/tmp');

如果可行,您需要将其放入一个文件中,该文件将被所有其他文件包含进去(例如,在其中指定数据库详细信息的配置文件)。

或者,您可以尝试添加 .htaccess 标志或自定义 PHP.ini(如果您使用 suPHP,则使用前者,如果您不使用 suPHP,则使用后者)。但让我们先尝试一下,看看会发生什么。

作者编辑:

最后我不得不说:

session_save_path(AJXP_INSTALL_PATH."/tmp"); 
define("AJXP_TMP_DIR", AJXP_INSTALL_PATH."/tmp"); 

在 conf/bootstrap_context.php 文件中,它有所帮助。

相关内容