我有一个子域设置,其中包含来自另一个子域的共享文件,因此基本上是一个子域上的主主题,然后是其他所有引用相同主子域的子主题。
在主子域共享文件中有一个登录脚本,它在成功登录时设置了$ _SESSION,但它没有保存会话,因此我检查了会话是否正在写入,并在检查session_save_path时遇到以下错误可写的:
Warning: is_writable(): open_basedir restriction in effect. File(/serverPath/php/session) is not within the allowed path(s): (/serverPath/nameOfDir/:/tmp/) in /serverPath/pathToSharedPHPfile on line ****
我认为这是由于我通过AJAX运行登录功能这一事实导致引用者是主子域名url而不是我想登录的域名所以我设置了cookie参数如下:
$url = "https://{$_SERVER['HTTP_HOST']}";
$escaped_url = htmlspecialchars( $url, ENT_QUOTES, 'UTF-8' );
session_set_cookie_params(0, '/', $escaped_url, true, true);
session_start();
$_SESSION['nameOfSession] = array('key' => 'value', ....);
但我仍然遇到同样的错误。这一切都是新的,所以我的研究因不知道要搜索什么而受到阻碍。
任何帮助表示感谢。