Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按子域访问会话_Php_Html_Session_Subdomain - Fatal编程技术网

Php 按子域访问会话

Php 按子域访问会话,php,html,session,subdomain,Php,Html,Session,Subdomain,您好,我在访问子域上的会话时遇到问题。将使用以下代码在domain.com上设置会话: <?php ob_start(); ini_set("session.cookie_domain",".domain.com"); session_start(); header ("Content-Type: text/html; charset=utf-8"); .... 由于hosters设置,我没有机会编辑php.ini文件。因此,我必须在上面的所有文件上添加ini_set行 问题如下:当我调

您好,我在访问子域上的会话时遇到问题。将使用以下代码在domain.com上设置会话:

<?php
ob_start();
ini_set("session.cookie_domain",".domain.com");
session_start();
header ("Content-Type: text/html; charset=utf-8");
....
由于hosters设置,我没有机会编辑php.ini文件。因此,我必须在上面的所有文件上添加ini_set行

问题如下:当我调用domain.com时,将设置会话。我构建了一个测试页面,可以轻松地响应会话和cookie。正如我所说,会话将在domain.com上设置,当我调用domain.com/testfile.php时,它将正确显示。但是当我调用www.domain.com/testfile.php时,只会显示cookie,而不会显示会话,这是空的。testfile.php上还添加了ini_set行

所以我不知道为什么这不起作用?我还多次删除了缓存和浏览器历史记录,但没有更改任何内容。我还尝试了不同的浏览器

如果有人能给我一些提示,我将非常感激


非常感谢。

您必须首先开始会话。那就行了

<?php
session_start();
ob_start();
ini_set("session.cookie_domain",".domain.com");
header ("Content-Type: text/html; charset=utf-8");
....

请尝试以下选项:

session.cookie_domain = ".example.com"
在.htaccess中:

php_value session.cookie_domain .example.com
作为脚本中的第一件事:

ini_set('session.cookie_domain', '.example.com' );

ini_set('session.cookie_domain', '.example.com' );
session_set_cookie_params(0, '/', 'example.com', false, false);
 if(isset($_COOKIE['session_id']))
            session_id($_COOKIE['session_id']);
        Zend_Session::start(); //or session_start();
        if(!isset($_COOKIE['session_id']))
            setcookie('session_id', session_id(), 0, '/', '.yourdomain.com');