使用 OPcache 进行混淆处理后,PHP 代码会变慢吗?

Will PHP code work slower after obfuscation process with OPcache?

提问人:Sergey Bakotin 提问时间:10/25/2023 最后编辑:BarmarSergey Bakotin 更新时间:10/25/2023 访问量:41

问:

根据这个方案,在代码启动后,它会转换为操作码(字节码),存储在OPcache中,然后在Zend VM(虚拟机)中执行。下一次启动不会转换代码,而是使用存储的字节码。

enter image description here

当我对代码进行混淆时,我预计第一次启动可能会更慢(因为代码的额外标记化并将其转换为字节码),但我希望下一次启动应该与原始代码一样快。

但是,实际测试表明,混淆代码的工作速度比原始代码慢。所以我的问题是:原始 php 的字节码和混淆代码的字节码是不一样的,所以它们的工作方式不同吗?

PHP 虚拟机 字节码 opcache

评论

1赞 Chris Haas 10/25/2023
除非您的混淆过于复杂,或者调用某些许可服务器,否则如果您真的注意到某种方式的差异,我会感到惊讶。但是,您应该能够通过在启用和未启用 opcache 的情况下运行来测试这一点。
0赞 Markus Zeller 10/25/2023
我想说的是操作码包括完全的反混淆。所以这会减慢它的速度。

答: 暂无答案