在php.ini中有超过1个session.cookie_domain

时间:2012-02-17 15:17:17

标签: apache

我只有一个专用服务器,它有我的3个网站/域名,我也使用他们的子域名(因此会话将能够在他们的子域名中共享)。

在我的php.ini文件中当我这样做时,

session.cookie_domain= ".site1.com"
session.cookie_domain= ".site2.com"
session.cookie_domain= ".site3.com"

它只存储site3.com的会话。并且不会为site1.com和site2.com创建任何会话

我该如何解决?

1 个答案:

答案 0 :(得分:1)

当你调用session_start()时,PHP只设置一个cookie。您将无法跨主域(仅限子域)共享此Cookie。

由于所有三个域可能共享相同的php.ini文件,您应该使用以下命令在PHP中为每个域/网站单独设置:

  

ini_set('session.cookie_domain','。site1.com');