2024 年 PHP 开发者大会 (日本)

PharData::setSignatureAlgorithm

(无版本信息可用,可能仅存在于 Git 中)

PharData::setSignatureAlgorithm设置 phar 的签名算法并应用它

描述

public PharData::setSignatureAlgorithm(int $algo, ?string $privateKey = null): void

注意:

此方法需要 php.ini 设置 phar.readonly0 才能对 Phar 对象生效。否则,将抛出 PharException 异常。

设置 phar 的签名算法并应用它。签名算法必须是 Phar::MD5Phar::SHA1Phar::SHA256Phar::SHA512Phar::OPENSSL 之一。

参数

algo

Phar::MD5Phar::SHA1Phar::SHA256Phar::SHA512Phar::OPENSSL 之一

返回值

不返回任何值。

错误/异常

对于许多错误,会抛出 UnexpectedValueException 异常;如果对基于 zip 或 tar 的 phar 归档文件调用此方法,则会抛出 BadMethodCallException 异常;如果将更改刷新到磁盘时出现任何问题,则会抛出 PharException 异常。

变更日志

版本 描述
8.0.0 privateKey 现在可以为空。

参见

添加注释

用户贡献的注释 1 条注释

3
obsidian[at-nospam]codebite[dot]net
13 年前
需要注意的是,文档中没有显示(可选的)第二个参数,也没有提及此方法还可以使用 Phar::OPENSSL 类常量。

例如,使用 OpenSSL 对 phar 进行签名……

<?php

$phar
= new Phar('somephar.phar');
// ... 添加您的文件等等
$phar->setSignatureAlgorithm(Phar::OPENSSL, file_get_contents('private_key_here.pem'));
// ... 在此处执行您想要执行的其他操作 ...
?>

希望这对某些人有所帮助。
To Top