PHP Conference Japan 2024

PharData::setSignatureAlgorithm

(沒有版本資訊,可能只在 Git 中)

PharData::setSignatureAlgorithm設定 phar 的簽章演算法並應用它

說明

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

注意事項:

這個方法需要將 php.ini 設定 phar.readonly 設為 0 才能作用於 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 現在可以為 null。

另請參閱

新增註解

使用者貢獻的註解 1 則註解

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