我正在尝试安装运行程序在我的主文件夹中的共享主机上。当我导航到主页时,出现错误:
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 文件中,它有所帮助。