Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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
登录ISP配置永远破坏了我的PHP会话和Cookie_Php_Session Cookies_Ispconfig - Fatal编程技术网

登录ISP配置永远破坏了我的PHP会话和Cookie

登录ISP配置永远破坏了我的PHP会话和Cookie,php,session-cookies,ispconfig,Php,Session Cookies,Ispconfig,为了解释我的问题,我必须添加一些上下文信息: 我们有一个网站,它与会话一起工作,已经工作了7年,没有任何问题,除了我们的服务器管理员,他不能登录,我们从来不知道为什么。。。直到现在 我们的服务器管理员正在休假,所以我不得不做他的一些工作,包括使用不同的端口(8080)登录位于同一服务器和域上的ISP配置,我在那里登录,检查一些值,然后当我返回我们的网站时,我无法登录,就像我们的服务器管理员一样 在进行一些调试时,我发现每次刷新session\u id()更改时,会话都有问题 使用ini\u-ge

为了解释我的问题,我必须添加一些上下文信息:

我们有一个网站,它与会话一起工作,已经工作了7年,没有任何问题,除了我们的服务器管理员,他不能登录,我们从来不知道为什么。。。直到现在

我们的服务器管理员正在休假,所以我不得不做他的一些工作,包括使用不同的端口(8080)登录位于同一服务器和域上的ISP配置,我在那里登录,检查一些值,然后当我返回我们的网站时,我无法登录,就像我们的服务器管理员一样

在进行一些调试时,我发现每次刷新
session\u id()
更改时,会话都有问题

使用
ini\u-get
I-get
session.cookie\u-domain
session.cookie\u-secure
为空

如果我执行
打印($\u COOKIE)
没有
PHPSESSID
,如果我将其设置为任何值,它就会消失,即使我写了一个很长的过期时间,它也不会保存,如果我设置了两个COOKIE,如下所示:

setcookie("PHPSESSID", "MYSESSION", time()+365*24*60*60, '/');
setcookie("a", "b", time()+365*24*60*60, '/');
然后
print\r($\u COOKIE)我得到这个:

Array ( [a] => b )
我没有任何.htaccess,所以我这边没有任何规则,似乎ISP配置中有什么东西改变了我存储cookie的方式

我可以在webmasters.stackexchange.com上询问,但我需要一个PHP答案,以便在有人在登录ISP配置后登录我的网站时设置新值

这是我当前要测试的代码:

这是
ini\u get\u all()
函数的输出:

如何使我的会话系统恢复到登录ISP配置之前的默认状态


回答伊尼亚·布尔索夫的问题

在匿名模式下打开页面,我可以正常登录,PHPSESSID不会改变

清除cookies无效,PHPSESSID仍在更改

phpinfo给了我一些相关信息:

session_name('MySystem'); // your session string ID
session_start();
我有一个同事(在同一个网络中)可以登录我的网站


两天后,我无法修复问题,我们今天进行了新的测试以重现此错误,我们的web开发人员登录了ISP配置,现在他无法登录我的系统

与我和我们的服务器管理员的错误相同

我在Windows10中使用Chrome

ISP配置版本3.1.11

似乎这家伙6年前也有同样的问题:

好吧,四个月后的测试,我将回答我自己的问题,以帮助其他有这个问题的人

ISP Config使用默认的PHP名称会话id,因此,如果在同一域中运行不同的系统,则不能使用相同的id

解决此问题的第一种方法是按照他在评论中所说的,在开始任何会话之前,将所有会话名称更改为其他名称:

对于会话字符串ID,请使用所需的任何字符串,在整个系统上始终使用相同的字符串,并且不要使用默认值“PHPSESSID”的字符串

会话过期太快,这是因为我在链接评论的同一域中运行了两个系统

较短的
session.gc\u maxlifetime
时间将用于域中的所有系统

显示了解决此问题的第二种可选方法,即更改会话目录,调用函数


有第三种方法
如果您不想更改所有文件中的会话名称id或会话目录,也可以根据建议更改配置。

这似乎更像是一个托管问题,这不是一个PHP问题。不过,您可以在这里问:如果您想要PHP答案,请包含有关代码和会话数据的信息。否则,这是广泛的,似乎与编程无关。首先要尝试的是以匿名模式打开页面(或清除cookies),还可以检查phpinfo的输出(可能还有关于cookies/sessions的文章),这里是ISP面板本身也是用PHP编写的吗?我首先将会话重命名为其他名称,看看这是否有帮助,因为听起来这两个系统之间可能存在重叠。
b_id:
session_id: du95eljbkct54qktvcd18a7ej0
cookie_domain:
save_path: /var/lib/php/sessions
cookie_secure:
Array ( [a] => b )
[session.auto_start] => Array   (
    [global_value] => 0
    [local_value] => 0
    [access] => 2
)
[session.cache_expire] => Array (
    [global_value] => 180
    [local_value] => 180
    [access] => 7
)
[session.cache_limiter] => Array    (
    [global_value] => nocache
    [local_value] => nocache
    [access] => 7
)
[session.cookie_domain] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.cookie_httponly] => Array  (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.cookie_lifetime] => Array  (
    [global_value] => 0
    [local_value] => 3600
    [access] => 7
)
[session.cookie_path] => Array  (
    [global_value] => /
    [local_value] => /
    [access] => 7
)
[session.cookie_secure] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.entropy_file] => Array (
    [global_value] => /dev/urandom
    [local_value] => /dev/urandom
    [access] => 7
)
[session.entropy_length] => Array   (
    [global_value] => 32
    [local_value] => 32
    [access] => 7
)
[session.gc_divisor] => Array   (
    [global_value] => 1000
    [local_value] => 1000
    [access] => 7
)
[session.gc_maxlifetime] => Array   (
    [global_value] => 1440
    [local_value] => 1440
    [access] => 7
)
[session.gc_probability] => Array   (
    [global_value] => 0
    [local_value] => 0
    [access] => 7
)
[session.hash_bits_per_character] => Array  (
    [global_value] => 5
    [local_value] => 5
    [access] => 7
)
[session.hash_function] => Array    (
    [global_value] => 0
    [local_value] => 0
    [access] => 7
)
[session.lazy_write] => Array   (
    [global_value] => 1
    [local_value] => 1
    [access] => 7
)
[session.name] => Array (
    [global_value] => PHPSESSID
    [local_value] => PHPSESSID
    [access] => 7
)
[session.referer_check] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.save_handler] => Array (
    [global_value] => files
    [local_value] => files
    [access] => 7
)
[session.save_path] => Array    (
    [global_value] => /var/lib/php/sessions
    [local_value] => /var/lib/php/sessions
    [access] => 7
)
[session.serialize_handler] => Array    (
    [global_value] => php
    [local_value] => php
    [access] => 7
)
[session.upload_progress.cleanup] => Array  (
    [global_value] => 1
    [local_value] => 1
    [access] => 2
)
[session.upload_progress.enabled] => Array  (
    [global_value] => 1
    [local_value] => 1
    [access] => 2
)
[session.upload_progress.freq] => Array (
    [global_value] => 1%
    [local_value] => 1%
    [access] => 2
)
[session.upload_progress.min_freq] => Array (
    [global_value] => 1
    [local_value] => 1
    [access] => 2
)
[session.upload_progress.name] => Array (
    [global_value] => PHP_SESSION_UPLOAD_PROGRESS
    [local_value] => PHP_SESSION_UPLOAD_PROGRESS
    [access] => 2
)
[session.upload_progress.prefix] => Array   (
    [global_value] => upload_progress_
    [local_value] => upload_progress_
    [access] => 2
)
[session.use_cookies] => Array  (
    [global_value] => 1
    [local_value] => 1
    [access] => 7
)
[session.use_only_cookies] => Array (
    [global_value] => 1
    [local_value] => 1
    [access] => 7
)
[session.use_strict_mode] => Array  (
    [global_value] => 0
    [local_value] => 0
    [access] => 7
)
[session.use_trans_sid] => Array    (
    [global_value] => 0
    [local_value] => 0
    [access] => 7
)
[session.cookie_domain] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.cookie_httponly] => Array  (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
[session.cookie_lifetime] => Array  (
    [global_value] => 0
    [local_value] => 3600
    [access] => 7
)
[session.cookie_path] => Array  (
    [global_value] => /
    [local_value] => /
    [access] => 7
)
[session.cookie_secure] => Array    (
    [global_value] => 
    [local_value] => 
    [access] => 7
)
Set-Cookie: PHPSESSID=ositfoouhvosgcklk2k14r7t25; expires=Fri, 07-Dec-2018 19:28:01 GMT; Max-Age=3600; path=/
// This is the same time it was created, so it is creating and expiring inmediately!

Expires: Thu, 19 Nov 1981 08:52:00 GMT
// 1981!?
session_name('MySystem'); // your session string ID
session_start();