RHEL7迁移至RHEL9后SeedDMS 5.1.21无法查看文档求助
SeedDMS 5.1.21迁移至RHEL9环境后无法查看文档的解决方案
1. 修复文件/目录权限问题
针对file_get_contents和scandir的权限错误:
- 检查并修正
/var/www/html/pdfjs/web/目录的所有者与组(匹配你的Web服务器运行用户,如apache或nginx):chown -R apache:apache /var/www/html/pdfjs/web/ - 统一目录与文件权限:
find /var/www/html/pdfjs/web/ -type d -exec chmod 755 {} \; find /var/www/html/pdfjs/web/ -type f -exec chmod 644 {} \; - 同步修复SeedDMS文档存储目录的权限(默认路径通常为
/var/lib/seeddms/,若为自定义路径需替换),确保PHP-FPM运行用户拥有读写权限。
2. 解决PDF解析的XRef错误
该错误多因PDF文件损坏或PHP版本兼容性问题导致:
- 验证迁移后的PDF文件完整性:直接打开文档存储目录中的PDF文件,确认未因传输/迁移过程损坏,若损坏需重新同步原始文件。
- 调整PHP版本:SeedDMS 5.1.21官方兼容PHP 7.0-7.4,PHP 8.0不在支持列表内。可在RHEL9上通过remi源安装PHP 7.4,替换当前PHP版本测试。
- 更新内置pdfjs:下载稳定版pdfjs(如3.x系列),替换
/var/www/html/pdfjs/目录,保留原有printphp.php文件以适配SeedDMS逻辑。 - 检查PHP配置:确保
php.ini中allow_url_fopen = On,部分PDF处理逻辑依赖该配置。
3. 验证PostgreSQL兼容性
SeedDMS 5.1.21对PostgreSQL 15的兼容性存在局限:
- 检查
/var/www/html/seeddms/conf/settings.xml中的数据库连接配置,确认驱动、主机、账号密码无误。 - 查看PostgreSQL日志,排查是否存在语法兼容问题(PG15对部分旧SQL语法做了调整),可临时搭建PG12/13实例测试是否恢复正常。
4. 额外排查步骤
- 清空SeedDMS缓存:删除
/var/www/html/seeddms/cache/下所有文件,重启PHP-FPM与Web服务器。 - 开启详细错误日志:在测试环境下,将
php.ini中error_reporting = E_ALL、display_errors = On,获取更多错误细节定位问题。
内容的提问来源于stack exchange,提问作者Sunil Pawar
相关产品推荐
相关产品推荐

