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

  • 泄露源代码
  • 让他在系统上安装PHP

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

推荐答案

Peachpie

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie是微软基于Roslyn的PHP7编译器,借鉴了流行的Phalanger.它允许在系统中执行PHP.NET/.NETCore通过将PHP代码编译为纯MSIL.

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 Compiler/Embedder是一个免费的命令行工具,用于将PHP应用程序转换为独立的Windows.exe应用程序.生成的exe文件是完全独立的,不需要php DLL等.php代码使用Turck MMCache Encode库进行编码,因此如果您想在保护源代码的同时分发应用程序,这是一个完美的解决方案.该转换器也适用于生产.用于窗口化PHP应用程序的exe文件(例如使用WinBinder库创建).它还适用于制作独立的PHP套接字服务器/客户端(使用PHP_sockets.dll扩展).

ZZEE PHPExe

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

ZZEE PHPExe将PHP、HTML、Javascript、Flash和其他Web文件编译成Windows GUI可执行文件.您可以通过采用熟悉的PHP Web范例快速开发Windows GUI应用程序.您可以对在线应用程序和Windows应用程序使用相同的代码,只需很少修改或无需修改.这是一种商业产品.

phc-win

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

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

需要

  • php5ts.动态链接库
  • php_win32std.dll
  • php_b编译器.dll
  • php-embed.ini

ExeOutput

http://www.exeoutput.com/

贸易的

WinBinder

http://winbinder.org/-不再提供

(原件:https://github.com/stefan-loewe/WinBinder)

(fork :https://github.com/wagy/WinBinder)

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

PHPDesktop

https://github.com/cztomczak/phpdesktop

PHP Desktop是一个开源项目,由Czarek Tomczak于2012年创建,旨在提供一种使用PHP、HTML5、JavaScript等web技术开发本机桌面应用程序的方法;SQLite.这个项目不仅仅是一个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的Forking 版本,使用了与phc win相同的技术,但支持几乎所有现代PHP版本.(5.3、5.4、5.5、5.6等)它还可以使用Enigma VB组合PHP5T.dll与您的exe,以及UPX压缩它.最后,它将win32std和winbinder静态编译成PHP.

EDIT

另一个 Select 是使用

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

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

TideSDK

http://www.tidesdk.org/

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

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

Php相关问答推荐

以编程方式更新现有Yith WooCommerce Booking的状态

使用PHP阅读XML提要

保存PHP条带以备将来使用,不显示用户界面

与会者在WooCommerce中按购物车项目数量自定义 checkout 字段

从WooCommerce购物车和 checkout 页面自定义发货标签

在WooCommerce中添加基于类别的固定费用

EBay Inventory API createOrReplaceInventoryItem出错

如何在Foreach语句中使用php和li按降序排序?

laravel中获取的数据会自动更改时间戳值

Chillerlan/php-iOS名称字段的QR vCard错误

如何在laravel中使用script type= text/html/script

从两个日期创建日期范围,然后为范围中的每个日期复制子数组

Woocommerce单一产品Ajax添加到带有自定义购物车项目数据的购物车

文本到语音:不考虑音高值

如何使用 PHP 将带有图像的文本上传到 Linkedin?

WooCommerce:如果订单总数为零,则隐藏本地取货运输选项

如何搜索和替换 XML 文件中的一段文本?

如何在自定义消息中包含 WooCommerce 选定的产品变体详细信息

WooCommerce 按 ID 限制产品

为什么非贪婪匹配会消耗整个模式,即使后面跟着另一个非贪婪匹配