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

如何修复WordPress中因license.txt签名损坏导致的致命错误?

解决require_once() Phar签名损坏及文件无法打开错误

警告:require_once():无法验证phar "/home/adrgscom/public_html/license.txt"的SHA1签名:签名损坏,位于/home/adrgscom/public_html/license.txt第110行
警告:require_once(php://...@B@B@B@B@B@B@B@B@B@B@B4i@B@B@B@B@B@B0k@B@B@B@B@B@B@B@B@B@B5a@B@B.g@B@B@B):无法打开流:操作失败,位于/home/adrgscom/public_html/license.txt第110行
致命错误:require_once():无法打开所需文件'php://...@B@B@B@B@B@B@B@B@B@B@B4i@B@B@B@B@B@B0k@B@B@B@B@B@B@B@B@B@B5a@B@B.g@B@B@B'(include_path='.:/opt/alt/php74/usr/share/pear'),位于/home/adrgscom/public_html/license.txt第110行

问题根源

该错误是因为license.txt被PHP识别为Phar归档文件,但文件的SHA1签名已损坏,导致PHP无法正确解析内容,进而生成了无效的乱码文件路径。

解决步骤

  • 替换或修复损坏的文件:
    1. 先备份当前的/home/adrgscom/public_html/license.txt文件。
    2. 若该文件是软件提供商提供的许可证文件,联系对方获取原始未损坏的版本替换现有文件;若为自行生成的Phar归档,重新生成带有效SHA1签名的文件。
  • 修正代码调用逻辑:
    如果license.txt原本就是普通文本格式(非Phar归档),说明代码错误地用require_once处理了文本文件。找到第110行代码,将require_once替换为file_get_contents等适合读取文本的方法。
  • 修复Phar签名(仅针对Phar格式文件):
    执行以下PHP代码重新生成有效签名:
    $phar = new Phar('/home/adrgscom/public_html/license.txt');
    $phar->setSignatureAlgorithm(Phar::SHA1);
    
    注意执行前需确保phar.readonly配置已临时关闭(可通过ini_set('phar.readonly', 0)或修改php.ini实现),完成后重新开启该配置。
  • 清理PHP缓存:
    重启PHP服务或调用缓存清理函数,清除Opcode缓存中存储的损坏文件内容,避免影响后续解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 06:47:09