[英]Modify PHAR file
我需要修改一個PHAR文件。 每當我對文件進行更改然后執行它時,我都會收到以下錯誤消息:
Fatal error: Uncaught exception 'PharException' with message SHA1 signature could not be verified: broken signature'
通過做一些研究,我發現我可以
提取phar,修改它然后“將其放回phar文件”。 我怎么做?
或者在我的php.ini中設置phar.require_hash = false
來禁用簽名檢查。 不幸的是,這並沒有解決問題
我只需要對文件做一些簡單的修改,我是唯一一個要使用它的人,所以我更希望快速簡單地解決問題
問題是在Symfony網站上,install命令如下所示:
c:\> php -r "readfile('http://symfony.com/installer');" > symfony
正確的命令是
c:\> php -r "readfile('http://symfony.com/installer');" > symfony.phar
並將文件symfony.phar
移動到您想要創建項目的位置,或者將文件symfony
重命名為symfony.phar
。 如果文件名為symfony
,則會出現此錯誤“sha1簽名無法驗證損壞的簽名”,因為更改文件名也會使sha1無效(這就是散列的工作原理)。
你不能簡單地在編輯器中更改phar內容,就像你不能在.zip
或.tbz2
文件中那樣做。
唯一可行的解決方案是提取phar,修改提取的文件,然后重新打包phar文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.