例如,我在我的 VPS 上同时部署 WordPress 和 esoTalk 程序。但是两者的 PHP session 时常冲突,如果你在两个程序中,用户名和密码都是相同的话,总会有其中一个,怎么都登录不上,没有任何提示。
这该如何解决呢?
两个程序分别位于 /var/www/html 和 /var/www/html/wordpress 。
这该如何解决呢?
两个程序分别位于 /var/www/html 和 /var/www/html/wordpress 。
|
1
既然没有任何提示,你又如何得知问题出在 session 上呢?
另外,默认情况下, session 是以文件形式保存的,每个 session 的名称都附有 session_id,网站的 session_id 都是随 cookie 发送的,所以碰撞的几率几乎为0,问题不会在这里。 你应该打开 php 的错误提示,找到真正的原因。 |
|
2
@haiyang416 感谢你。
我还在继续寻找原因...... |
|
3
cookie里的session是不带端口号的,可以用二级域名来区分
一定要ip访问的话可以用hosts强行转换成域名 |
|
4
如果你这俩程序域名相同的话,可能会发生session冲突。需要通过域名来区分两套程序。
|
|
6
请修改 wp-config.php 相关define
|
|
7
是你在同一客户端上同时访问过俩站,同一域名之间的cookie是共享的
|
|
8
session_name('xxxxx')
|
|
9
设置session地址,让不同的程序访问不同的session就行了
|
|
10
@xiaolvmu 我没考虑到你使用同样的根域名的情况,你直接修改 wordpress 的 COOKIE_DOMAIN 为对应的二级域名即可。前面的回答没考虑全面,抱歉。
|
|
11
|