将PHP脚本转换为独立的Windows可执行文件

Sal*_*n A 124 php obfuscation

我想自动化一个相当简单的任务.为此,我编写了一个小PHP脚本,我使用PHP-CLI从命令行运行.现在我想把这个脚本移交给某人,但我不想:

  • 放弃源代码
  • 请他在系统上安装PHP

有没有办法创建PHP脚本的.exe版本.我真的不太担心去编译; 我更担心要求人们安装和配置PHP.

Mar*_*ker 188

桃子派

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie是基于微软的Roslyn和来自流行的Phalanger的PHP 7编译器.它允许PHP通过将PHP代码编译为纯MSIL在.NET/.NETCore中执行.

Phalanger

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

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

https://github.com/devsense/phalanger

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

Bambalam

https://github.com/xZero707/Bamcompile/

Bambalam PHP EXE编译器/嵌入器是一个免费的命令行工具,用于将PHP应用程序转换为独立的Windows .exe应用程序.生成的exe文件完全独立,不需要php dll等.使用Turck MMCache Encode库对php代码进行编码,因此如果您想在保护源代码的同时分发应用程序,它是一个完美的解决方案.该转换器还适用于为窗口化PHP应用程序(使用例如WinBinder库创建)生成.exe文件.它也适用于制作独立的PHP Socket服务器/客户端(使用php_sockets.dll扩展).它不是真正的编译器,因为它不会从PHP源代码生成本机机器代码,但它可以工作!

ZZEE PHPExe

http://www.zzee.com/phpexe/

ZZEE PHPExe将PHP,HTML,Javascript,Flash和其他Web文件编译到Windows GUI exes中.您可以使用熟悉的PHP Web范例快速开发Windows GUI应用程序.您可以在很少或不需要修改的情况下为在线和Windows应用程序使用相同的代码.它是一种商业产品.

PHC双赢

http://wiki.swiftlytilting.com/Phc-win

PHP扩展bcompiler用于将PHP脚本代码编译为PHP字节码.只要加载了bcompiler扩展,就可以像任何php文件一样包含此字节码.一旦创建了所有字节码文件,就会使用修改后的Embeder将所有项目文件打包到程序exe中.

需要

  • 的php5ts.dll
  • php_win32std.dll
  • php_bcompiler.dll
  • PHP-embed.ini

ExeOutput

http://www.exeoutput.com/

广告

WinBinder

http://winbinder.org/

WinBinder是脚本编程语言PHP的开源扩展.它允许PHP程序员轻松构建本机Windows应用程序,以最少的工作量生成快速且有益的结果.由于PHP的强大功能和灵活性,即使是具有几十行的短脚本也可以生成有用的程序.

PHPDesktop

https://github.com/cztomczak/phpdesktop

PHP Desktop是由Czarek Tomczak于2012年创建的一个开源项目,旨在提供一种使用PHP,HTML5,JavaScript和SQLite等Web技术开发本机桌面应用程序的方法.这个项目不仅仅是一个PHP到EXE编译器,它嵌入了一个Web浏览器(Internet Explorer或Chrome嵌入式),一个Mongoose Web服务器和一个PHP解释器.您习惯的开发工作流程保持不变,将现有网站转换为桌面应用程序的步骤基本上是将其复制到"www /"目录.使用SQLite数据库是可选的,您可以在应用程序的安装程序中嵌入mysql/postgresql数据库.

PHP Nightrain

https://github.com/kjellberg/nightrain

使用PHP Nightrain,您将能够在Windows,Mac和Linux操作系统上部署和运行HTML,CSS,JavaScript和PHP Web应用程序作为本机桌面应用程序.流行的PHP框架(例如CakePHP,Laravel,Drupal等)得到很好的支持!

phc-win"fork"

https://github.com/RDashINC/phc-win

一个或多或少的分叉版本的phc-win,它使用与phc-win相同的技术,但支持几乎所有现代PHP版本.(5.3,5.4,5.5,5.6等)它也可以使用Enigma VB将php5ts.dll与你的exe结合起来,以及UPX压缩它.最后,它有win32std和winbinder静态编译成PHP.

编辑

另一种选择是使用

http://www.appcelerator.com/products/titanium-cross-platform-application-development/

一个在线编译器,可以从许多不同的语言(包括PHP)构建许多不同平台的可执行文件

TideSDK

http://www.tidesdk.org/

TideSDK实际上是重命名的Titanium Desktop项目.Titanium仍然专注于移动设备,并放弃了桌面版本,该版本被一些开源的人接管并称为TideSDK.

通常,TideSDK使用HTML,CSS和JS来呈现应用程序,但它支持PHP等脚本语言,插件模块以及Python和Ruby等其他脚本语言.


tos*_*-cx 9

我在其他答案中遇到了大多数工具的问题,因为它们都已经过时了.

如果您需要一个"正常工作"的解决方案,请在WinRar SFX存档中将您的项目的一个简单版本的php打包,将其设置为将所有内容解压缩到临时目录并执行php your_script.php.

要运行基本脚本,所需的唯一文件是php.exephp5.dll(或php5ts.dll取决于版本).

要添加扩展,请将它们与php.ini文件一起打包:

[PHP]
extension_dir = "."
extension=php_curl.dll
extension=php_xxxx.dll
...
Run Code Online (Sandbox Code Playgroud)


538*_*MEO 8

我想大部分是在第1个答案给定的解决方案中,只有一个是工作对我来说,是非商业性的PHP的桌面.

我只是把我的PHP文件放在www/文件夹中,更改了名称,.exe并能够作为exe运行我的PHP!

还有一个完整的文档,最新的支持,Windows和Linux兼容性和选项可以很容易地更改.

  • PHP桌面现在支持Linux,请参阅其初始版本:https://github.com/cztomczak/phpdesktop/releases/tag/linux-v72.0 (2认同)

dke*_*ner 5

RapidEXE正是为了这项工作:

它将php项目转换为独立的exe.我有足够的所有其他编译器,一个接一个地尝试它们,他们都以这种或那种方式让我失望.做我的客人,欢迎提供反馈!

旁注:它背后的机制与WinRAR SFX方法非常相似; 提取引擎,提取源,然后运行.它更快更容易使用.单命令编译,压缩,智能解压缩,自动清理,轻松配置,完全控制php引擎和版本; 也可以轻松扩展.

快乐发展!