Изменить файл PHAR

Мне нужно изменить файл PHAR. Всякий раз, когда я вношу изменения в файл, а затем запускаю его, я получаю следующее сообщение об ошибке:

Fatal error: Uncaught exception 'PharException' with message SHA1 signature could not be verified: broken signature'

Проведя некоторые исследования, я обнаружил, что могу либо

  • извлеките phar, измените его, а затем «верните обратно в phar-файл». Как я могу это сделать?

  • или установите phar.require_hash = false в моем php.ini, чтобы отключить проверку подписи. Это не решило проблему к сожалению

Мне нужно всего лишь внести несколько простых изменений в файл, и я единственный, кто собирается его использовать, поэтому я бы предпочел быстрое и простое решение проблемы.


person marius2k12    schedule 16.09.2013    source источник
comment
Вы использовали свое исследование? Второе решение кажется самым простым; просто добавьте phar.require_hash=0 в php.ini. Попробуйте вещи!   -  person Sverri M. Olsen    schedule 16.09.2013
comment
Я добавил это в свой php.ini, но все равно получаю ту же ошибку.   -  person marius2k12    schedule 16.09.2013
comment
Вы перезапустили сервер?   -  person Sverri M. Olsen    schedule 16.09.2013


Ответы (2)


Проблема в том, что на сайте 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. Если файл назван просто symfony, вы получите эту ошибку «Подпись sha1 не может быть проверена, сломанная подпись», потому что изменение имени файла также сделает недействительным sha1 (именно так работает хеширование).

person vectorialpx    schedule 24.03.2015

Вы не можете просто изменить содержимое phar в редакторе, точно так же, как вы не можете сделать это в файле .zip или .tbz2.

Единственное решение, которое будет работать, — это извлечение phar, изменение извлеченных файлов и последующая переупаковка phar-файла.

person cweiske    schedule 05.12.2013