是否可以将PHP / MySQL应用程序包装成可以作为独立应用程序运行的二进制文件?

时间:2012-02-16 10:06:54

标签: php installation

我的应用程序是用PHP / MYSQL编写的。我们正在寻找在客户端站点机器上部署的选项。有什么选择,怎么做?除此之外,我们更关注保护我们的代码。因此,我们正在研究可以为php / mysql上开发的Web应用程序创建二进制应用程序的选项。

除此之外是否有任何可用的安装程序可以解压缩并安装php / apache / mysql堆栈?

3 个答案:

答案 0 :(得分:7)

有关可用于编译/包装PHP代码作为Windows可执行文件的选项的完整列表,请参阅this previous response类似的问题

非Windows可用的其他选项:

HPHP(Facebook' HipHop)

https://github.com/facebook/hiphop-php/wiki/

https://github.com/facebook/hiphop-php

HipHop for PHP是PHP脚本代码的源代码转换器。 HipHop以编程方式将PHP源代码转换为高度优化的C ++,然后使用g ++将其编译为机器代码。 HipHop包括代码转换器,PHP运行时系统的重新实现,以及许多常见PHP扩展的重写,以利用这些性能优化。 HipHop由Facebook创建,用于节省服务器上的资源。根据PHP许可证3.01版的条款,它以C ++和C编写的超过300,000行源代码作为自由软件进行分发。 Facebook还开发了HPHPi,这是一个专为开发而设计的实验性解释器,无需在运行之前编译PHP源代码。

Roadsend和Roadsend Raven

http://www.roadsend.com/home/index.php

https://github.com/weyrick/roadsend-php/wiki

https://github.com/weyrick/roadsend-php

Roadsend PHP是PHP语言的开源实现。它将PHP源代码编译为独立的本机二进制文件,不需要解释器。 Roadsend Compiler可以使用Fast / CGI,带有嵌入式Web服务器(!MicroServer)的离线Web应用程序,带有PHP-GTK的桌面GUI应用程序和控制台应用程序构建在线Web应用程序。众所周知,它基于Linux,Windows(使用mingw),Mac OSX和FreeBSD构建。

Roadsend编译器还包含用于解释,分析和逐步调试PHP代码的工具。

Roadsend PHP是PHP语言和运行时环境的完全独立的实现,并不基于http://www.php.net单独且免费提供的原始实现(使用Zend引擎)。 Zend PHP不是必需的,并且不以任何方式使用,由Roadsend PHP。

对于roadsend代码的最后更改是在17个月之前(Ubuntu 10.04 llvm软件包的补丁),之前是21个月前。自述文件已在过去两周内(在撰写本文时)进行了更新,因此它可能会再次复活。 可以构建Linux可执行文件

<强> Phalanger

http://www.php-compiler.net/

http://wiki.php-compiler.net/Phalanger_Wiki

http://phalanger.codeplex.com/

Phalanger是一个项目,由布拉格的查尔斯大学开始,得到了微软的支持。它将用PHP脚本语言编写的源代码编译成CIL(通用中间语言)字节码。它处理编译过程的开始,该过程由.NET Framework的JIT编译器组件完成。它不解决本机代码生成和优化问题。其目的是将PHP脚本编译为.NET程序集,包含CIL代码和元数据的逻辑单元。

<强> PHC

http://www.phpcompiler.org/

phc是PHP的开源编译器,支持插件。此外,它可以用于漂亮打印或混淆PHP代码,作为开发处理PHP脚本的应用程序的框架,或者将PHP转换为XML并返回,从而能够使用XML工具处理PHP脚本。

PHP程序员的phc(见手册):

  • 将PHP源代码编译成(优化的)可执行文件(支持整个 PHP标准库)。
  • 将Web应用程序编译为(优化) 扩展(支持整个PHP标准库)。
  • 混淆PHP代码( - obfuscate flag - experimental)。结合 许多php脚本放入一个文件中(--include flag - experimental)。

12月18日对phc代码的最后更改,因此积极进行持续开发。 可以构建Linux可执行文件 可以用于构建C代码,使用适当的PHP&#34;宏&#34;用于扩展

ROSE编译器

http://rosecompiler.org/

依赖于phc编译器来处理PHP

答案 1 :(得分:1)

看看PHP混淆器,例子:

http://www.seocompany.ca/software/free-encryption-software.html

https://stackoverflow.com/questions/908678/is-there-any-good-php-obfuscator

混淆器不是100%但它们易于实现且输出非常粗糙。

答案 2 :(得分:1)

我不确定Windows,但在Linux上你可以尝试使用Facebook的HipHop项目,如果你没有使用eval()和其他功能,可以使用。获取更多信息以及如何使用Facebook Hiphop PHP - git

“php / apache / mysql”堆栈的任何安装程序?是的,有一个EasyPHP,您也可以获得便携式(提取和运行)版本。

如果你可以做一些R&amp; D尝试使用vmware ThinApp用于Windows平台。借助VMware ThinApp,应用程序可以打包成单个可执行文件,这些可执行文件彼此完全隔离,并且操作系统