寻找PHP 5.4和更多的EXE编译器


Looking for PHP 5.4 and more to EXE compiler

我有自己的PHP CLI实用程序,所以我需要PHP编译器。我发现上一个PHP版本没有任何工作,所以我现在使用Phalanger,但它需要在客户端机器上安装它来运行编译脚本(!),并且它在。net中编译文件(!!)。这是我所见过的最值得信赖的工具,但它能够正常工作并拥有一个主机版本(因为我正在使用notepad++进行开发)。我不知道为什么只有值得的拐杖是工作),所以,我一直在寻找好的控制台PHP编译器,但在这个时候什么也没找到。我发现的都是非常古老的东西。这里有一个列表和上次发布的年份:

  • phc: 2011
  • Roadsend PHP编译器:2010
  • Bambalam: 2006
  • BinaryPHP: 2003 (!)

FB发布了一个HipHop,但是用起来太可怕了,而且我觉得它看起来只是一个虚拟机,而不是编译器。所以最后我决定编写自己的编译器来处理新版本的PHP,并使用本机编译器来获取字节码,但是发现,编译器也死了,它的最后一个版本是在2011年!那么我可以问你,为什么所有的PHP编译器都死了?找一个编译器源代码,为Windows上的PHP构建一个新的DLL扩展,并把实际的PHP DLL版本放在一起是没有问题的,但是为什么有时候,当惊人的PHP 7发布时,没有任何(任何!)轻量级和简单的实际PHP编译器?

还是我不明白什么?如果是,那又怎样?非常感谢!

这是一个永远不会结束的大项目,因为php在不断发展和成长(不像C语言)。开源维护者会转移到其他事情上,比如花时间和家人在一起,或者找一份工作。

我认为这些项目之所以夭折,是因为它们通常不适用于现实生活中的项目。您最多只能编译几个脚本,但对于大型项目来说,大多数脚本都会在某个时候失败。对于web开发,我怀疑是98%的应用程序,你有嵌入的脚本和样式,只是不兼容编译。因此,为了使用编译器,您必须编写不同的代码,这在某种程度上违背了使用PHP的初衷。

有那么多版本的PHP,编译器也远远落后于渲染无用。你必须想出另一种方法来保护你的产品。每个商业编码器都有一个解码器,所以没有办法保护你的代码不被想要得到它的人得到。我使用ioncube来编码我的脚本,但这只是为了防止客户破坏东西,然后抱怨它不工作。

经过一段时间寻找解决方案,我写了我自己的编译器,它支持PHP 7.1+(!)。所以我的问题解决了。谢谢大家!

在这里:https://sourceforge.net/projects/phpc/

对于编译非常简单的(一个文件)工具,有PHPFlexer:http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/PHPFlexer.shtml

(它是基于phc-win,但更容易使用)