学堂 学堂 学堂公众号手机端

go-pear.phar does not have a signature错误原因与解决方法

lewis 1年前 (2024-04-21) 阅读数 13 #技术


问题:

安装PEAR时报错go-pear.phar does not have a signature



原因:

当php.ini中phar.require_hash 配置项设置为on时,出于安全考虑,此时会强制你打开的Phar 文档必须带有某种签名。(说到签名,此处多说几句。可以用Phar::getSupportedSignatures来查看支持的签名种类,可以用Phar::setSignatureAlgorithm来对一个phar文档签名。)此报错信息显示go-pear.phar没有签名,解决方法是你可以对它进行签名,当然这已经是不可能的了。


解决方法:

1.修改php.ini中phar.require_hash的配置值为Off,并重启服务器

2.使用命令行

php -d phar.require_hash=0 PEAR/go-pear.phar


3.修改go-pear.bat批处理文件

@ECHO OFF
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 -d phar.require_hash=0 PEAR\go-pear.phar
pause

加参数设置-d phar.require_hash=0

此方法也是通过命令行改变phar.require_hash的值。因为出于安全考虑phar.require_hash的值是不允许在php文件中在运行时设置为0的。但是可以在运行时设置为1。

4.从/news/upload/ueditor/image/202209/unmykvbaomn 下载未打包的安装引导程序,在本地运行。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门