繁体   English   中英

修改PHAR文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM