You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WysiwygPro编辑器在CENTOS 8上点击控件提示会话过期错误如何解决

错误提示原文:Your editing session has expired. This is usually caused by a long period of inactivity. Please re-load the page.

问题成因

该问题核心是CentOS 8默认PHP环境的会话Cookie配置与旧版WysiwygPro编辑器的加载逻辑不兼容,具体原因如下:

  • CentOS 8默认内置的PHP版本为7.2及以上,该版本开始新增了session.cookie_samesite配置项,默认值为Lax。该配置会限制Cookie在iframe内嵌请求、跨站请求中的携带行为。
  • WysiwygPro的Image、Media等控件均通过iframe内嵌的方式加载编辑界面,Lax级别的SameSite规则会阻止iframe请求携带当前站点的会话Cookie,后端无法读取到有效会话就会返回会话过期的错误提示。
  • CentOS 6/7默认的PHP版本低于7.3,没有默认启用SameSite配置,会话Cookie可以正常被iframe请求携带,因此不会触发该问题。
  • 小概率由SELinux限制导致:CentOS 8默认开启SELinux,若httpd进程没有读取会话目录的权限,也会触发会话校验失败的问题。

解决方案

可按优先级任选以下方案修复:

方案1:修改全局PHP配置(适用所有站点)

  1. 编辑php.ini配置文件,路径通常为/etc/php.ini或者/etc/php-fpm.d/www.conf(部分编译安装环境路径可能不同)
  2. 找到session.cookie_samesite配置项,按站点协议修改对应规则:
    • 站点使用HTTP协议:将值设置为空字符串
      session.cookie_samesite = ""
      
    • 站点使用HTTPS协议:可以设置为None同时开启安全Cookie
      session.cookie_samesite = "None"
      session.cookie_secure = On
      
  3. 保存配置后重启对应服务:
    • 若用Apache运行PHP:执行systemctl restart httpd
    • 若用PHP-FPM模式:执行systemctl restart php-fpm

方案2:单独修改调用WysiwygPro的页面配置(不影响其他站点)

在加载WysiwygPro编辑器的PHP页面最顶部,添加以下代码即可:

// HTTP环境使用该配置
ini_set('session.cookie_samesite', '');

// HTTPS环境使用该配置
// ini_set('session.cookie_samesite', 'None');
// ini_set('session.cookie_secure', 1);

小概率SELinux问题修复

若上述配置修改后仍未解决,可临时关闭SELinux验证:执行setenforce 0,如果问题消失则说明是SELinux权限问题,可执行setsebool -P httpd_unified 1修复后再重新开启SELinux即可。

配置修改完成后清空浏览器Cookie和缓存,重新加载页面即可验证修复效果。

内容的提问来源于stack exchange,提问作者Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:27:04