Php 修改PHAR文件
我需要修改一个PHAR文件。每当我更改文件并执行它时,都会收到以下错误消息:Php 修改PHAR文件,php,phar,Php,Phar,我需要修改一个PHAR文件。每当我更改文件并执行它时,都会收到以下错误消息: Fatal error: Uncaught exception 'PharException' with message SHA1 signature could not be verified: broken signature' 通过做一些研究,我发现我可以 提取phar,修改它,然后“将其放回phar文件”。我该怎么做 或者在my php.ini中设置phar.require\u hash=false以禁用签
Fatal error: Uncaught exception 'PharException' with message SHA1 signature could not be verified: broken signature'
通过做一些研究,我发现我可以
- 提取phar,修改它,然后“将其放回phar文件”。我该怎么做
- 或者在my php.ini中设置
phar.require\u hash=false以禁用签名检查。不幸的是,这并没有解决问题
我只需要对文件做一些简单的修改,而且我是唯一一个使用它的人,所以我更喜欢一个快速简单的解决方案,你不能简单地在编辑器中更改phar内容,就像你不能在
.zip
或.tbz2
文件中那样
唯一可行的解决方案是提取phar,修改提取的文件,然后重新打包phar文件。问题是,在Symfony网站上,安装命令如下所示:
c:\> php -r "readfile('http://symfony.com/installer');" > symfony
正确的命令是
c:\> php -r "readfile('http://symfony.com/installer');" > symfony.phar
然后将文件
symfony.phar
移动到创建项目的任何位置,或者只需将文件symfony
重命名为symfony.phar
。如果文件名为justsymfony
则会出现此错误“sha1签名无法验证已损坏的签名”,因为更改文件名也会使sha1无效(散列就是这样工作的)。您使用过您的研究吗?第二个解决方案似乎是最简单的;只需将phar.require\u hash=0
添加到php.ini。试试看!我把它添加到我的php.ini中,但仍然得到相同的错误。你重启服务器了吗?