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