Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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_Codeigniter_Session_Web_Dns - Fatal编程技术网

Php 不让站点会话变量与同一域下的其他站点混淆的好方法是什么

Php 不让站点会话变量与同一域下的其他站点混淆的好方法是什么,php,codeigniter,session,web,dns,Php,Codeigniter,Session,Web,Dns,基本上在我的web开发服务器上,我有几个网站项目正在进行。我遇到了一个问题,我的一个网站项目会话变量与另一个网站项目的会话变量冲突。这两个网站项目都在同一台服务器下。那么,有没有一种很好的方法来区分网站项目之间的变量呢?希望这有意义 而且这两个网站都是会员类型的网站,所以我对网站的会员部分使用相同的会话变量 这两个网站都在codeigniter框架上。那么,使用codeigniter,我该如何解决这个问题呢?您可以使用session\u name函数(http://php.net/manual/

基本上在我的web开发服务器上,我有几个网站项目正在进行。我遇到了一个问题,我的一个网站项目会话变量与另一个网站项目的会话变量冲突。这两个网站项目都在同一台服务器下。那么,有没有一种很好的方法来区分网站项目之间的变量呢?希望这有意义

而且这两个网站都是会员类型的网站,所以我对网站的会员部分使用相同的会话变量


这两个网站都在codeigniter框架上。那么,使用codeigniter,我该如何解决这个问题呢?

您可以使用session\u name函数(http://php.net/manual/en/function.session-name.php)为每个站点指定唯一的会话名称。仔细阅读有关何时设置会话名称的说明(基本上在设置任何其他会话功能之前)

另一种方法是使用“路径”功能限制网站的路径(http://www.php.net/manual/en/function.session-set-cookie-params.php). 这样,会话cookie将仅对设置的路径上或路径下的脚本可见。(请确保首先删除“根”级别的任何cookie,因为这些cookie将可见,但所有子目录都可见!)


或者,如果您使用cookie手动执行此操作,请在cookie的名称前加上唯一的前缀。SetCookie('WebsiteName.''session',ID,time,path等)。

我要做的是为每个站点提供一个配置文件,每个php文件中都需要一次配置文件。 在这个配置文件中,我指定了DB参数(用户、密码等)和会话头: $config['sess_header']='site1'

创建或查询会话时,我使用此sess_头,例如: $\u会话[$config['sess\u header']['user\u id']=$user\u id

只要使用

例如:

  session_name("WebsiteID");