操作前需确认2个核心前提,避免无效排查:
迅睿CMS默认静态生成延迟时间为3600秒(1小时),这是延迟生成的核心原因。找到对应配置文件:
4.x版本路径:网站根目录/config/system.php;3.x版本路径:网站根目录/core/config/system.php。
打开文件后,找到static配置项,将auto_time的值从默认的3600改为0(0代表实时生成,立即响应页面更新),完整修改后的配置片段如下:
```php return [ // 其他系统配置项省略... 'static' => [ // 开启自动静态生成开关 'auto' => 1, // 静态生成延迟时间(单位:秒,0=实时生成) 'auto_time' => 0, // 静态文件存储相对路径 'path' => 'cache/static/', ], // 其他系统配置项省略... ]; ```完成配置修改后,必须删除网站根目录/cache/static/下的所有文件,旧缓存会干扰新配置生效。
迅睿CMS4.3.10之前的版本存在静态生成触发逻辑的BUG,导致配置修改后仍有延迟。替换对应文件即可修复:
找到文件:网站根目录/frame/core/static.php,替换其中的create()方法为以下代码:
```php / 生成静态文件 @param string $uri 链接地址 @return bool / public function create($uri) { if (!$this->is_auto()) { return false; } $file = $this->get_file($uri); $dir = dirname($file); if (!is_dir($dir)) { mkdir($dir, 0755, true); } // 修复BUG:强制覆盖生成,避免延迟更新 file_put_contents($file, $this->get_html($uri)); return true; } ```
替换完成后,清空浏览器缓存和网站后台的“系统缓存”。
Web服务用户对静态缓存目录无写入权限,会导致无法生成或延迟生成静态文件。按环境设置权限:
Linux环境(Nginx/Apache):
```bash 替换为你的网站实际根目录路径,用户组根据Web服务调整(Nginx用www-data,Apache用apache) chmod -R 755 /你的网站根目录/cache/static/ chown -R www-data:www-data /你的网站根目录/ ```Windows环境(IIS):右键“cache/static”目录,选择属性→安全→添加IIS用户,赋予“完全控制”权限,点击应用。
若修改后仍有少量页面未生成,可通过后台强制批量生成:
登录迅睿CMS后台,进入内容管理→批量生成静态页,选择“全部内容”,点击“开始生成”。
生成耗时取决于内容数量:1万条内容约10分钟,生成过程中请勿关闭页面。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图