Php &引用;“需要有效的CSRF令牌”;登录后是否在Osticket中?

Php &引用;“需要有效的CSRF令牌”;登录后是否在Osticket中?,php,osticket,Php,Osticket,MyosTicket版本1.10安装在PLESK Windows Server中。我已尝试在PLESK Windows服务器上安装XAMPP,但无法启动XAMPP 很快,我在登录到osTicket“登录后需要在osTicket中使用有效的CSRF令牌”后出现错误,这在早期工作正常 登录后,我出现以下错误: 我也有同样的问题。MySQL表“ost_会话”已损坏。在MySQL中运行此命令: 修复表ost_session我在PHP 7.1.1中遇到了相同的问题,然后我改为7.0.15,它工作了我在Wi

MyosTicket版本1.10安装在PLESK Windows Server中。我已尝试在PLESK Windows服务器上安装XAMPP,但无法启动XAMPP

很快,我在登录到osTicket“登录后需要在osTicket中使用有效的CSRF令牌”后出现错误,这在早期工作正常

登录后,我出现以下错误:


我也有同样的问题。MySQL表“ost_会话”已损坏。在MySQL中运行此命令:
修复表ost_session

我在PHP 7.1.1中遇到了相同的问题,然后我改为7.0.15,它工作了

我在Windows Server 2012上安装ost 1.10并使用PHP Manager for IIS安装IIS 7后收到了此错误。() 根据“要安装osTicket,您的web服务器必须具有PHP5.3(或更高版本)”,我在7.1.1中安装了“最新的PHP版本”。使用PHP7.1.1,我无法登录到SCP。
将PHP版本从7.1.1更改为5.4.45后,一切正常。

这是因为varnish缓存登录凭据

直接使用web服务器主机条目进行测试。它会工作。

我的配置

  • Win 2012 R2标准(64位)
  • PHP 7.1.7 64位(由Web平台安装程序安装)
  • MySql 14.14发行版5.7.20(由MySql安装程序社区版安装)
  • osticket 1.10(在IIS上)
我也有同样的问题:“需要有效的CSRF令牌…”

下面是我找到修复方法的地方:

下面是关于这个问题的对话:

我可能会迟到,但对我来说有效的方法是在我的计算机上使用另一个浏览器或清除
include/class.ostsession.php中的缓存

只需添加这一行:

$this->data->session_data = "";
之后:

catch (DoesNotExist $e) {
        $this->data = new SessionData(['session_id' => $id]);
因此,它将是:

catch (DoesNotExist $e) {
        $this->data = new SessionData(['session_id' => $id]);
        $this->data->session_data = "";

然后尝试从头开始登录,不要只是刷新提交。

使用
ssh(ssh)登录到您的服务器username@ip)
,然后使用下面的命令检查Apache/Centos配置文件中是否启用了以下设置

For Centos - nano /etc/httpd/conf/httpd.conf
For Apache - nano /etc/apache2/apache2.conf
然后替换

标题编辑集Cookie^(.*)$$1;HttpOnly;稳妥

#标题编辑集Cookie^(.*)$$1;HttpOnly;稳妥


最后重新启动web服务器

在mysql中检查日志表(我想表名是ost_syslog)。你应该在那里找到理由。我的日志包含有关SQL错误的详细信息,其中有一行:“表”。/osticketdb/ost_session“被标记为崩溃,应该修复”。在我使用Osticket的16个月里,这个问题发生了三次。对我来说,这个问题在降低了PHP版本的等级后得到了解决。现在我使用的是5.6,这个问题不再出现了。另外,我以前使用过PHP7.1.1。也有同样的问题。您好,请在您的答案中添加一些解释,使其更详细,更容易理解/理解。效果非常好。