Phar::OPENSSL打包后执行出错

luscio

问题描述

Phar::OPENSSL打包后执行出错

程序代码

php webman.phar start

报错信息

PHP Fatal error:  Uncaught PharException: phar "/Users/linyangbin/wwwroot/new-zhuoye/server/build/webman.phar" openssl signature could not be verified: openssl public key could not be read in /Users/linyangbin/wwwroot/new-zhuoye/server/build/webman.phar:4
Stack trace:
#0 /Users/linyangbin/wwwroot/new-zhuoye/server/build/webman.phar(4): Phar::mapPhar('webman')
#1 {main}
  thrown in /Users/linyangbin/wwwroot/new-zhuoye/server/build/webman.phar on line 4

Fatal error: Uncaught PharException: phar "/Users/linyangbin/wwwroot/new-zhuoye/server/build/webman.phar" openssl signature could not be verified: openssl public key could not be read in /Users/linyangbin/wwwroot/new-zhuoye/server/build/webman.phar:4
Stack trace:
#0 /Users/linyangbin/wwwroot/new-zhuoye/server/build/webman.phar(4): Phar::mapPhar('webman')
#1 {main}
  thrown in /Users/linyangbin/wwwroot/new-zhuoye/server/build/webman.phar on line 4
561 2 0
2个回答

luscio

Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512
这些方法打包都可以,使用OPENSSL打包不行。
听说使用OPENSSL打包,可以阻止解包。但是打包后不能执行会报错。

  • 暂无评论
luscio

问题解决了,需要把公钥放在打包后的webman.phar同级目录,重命名为webman.phar.pubkey

  • tanhongbin 2023-03-16

    老哥这种方式打包就不能反编译了嘛,就是可以实现代码加密是吧?

  • tanhongbin 2023-03-16

    老哥,能不能发个分享啥的,你这个有点厉害呀

  • luscio 2023-03-16

    不行,没办法做到加密。我刚测一下,你要把公钥放在同级目录,phar才能执行。有公钥就能解压。

  • tanhongbin 2023-03-16

    哦哦,那就是其实这种加密也没啥意义是吧,还是不能实现加密呀,要是能实现加密就厉害了

年代过于久远,无法发表回答
🔝