将 PHP 脚本转换为独立窗口可执行文件

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

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

是否有方法创建一个。PHP 脚本的 exe 版本。我真的不太担心反编译; 我更担心的是让人们安装和配置 PHP。

225935 次浏览

桃子派

Http://www.peachpie.io

Https://github.com/iolevel/peachpie

Peachpie 是微软基于罗斯林的 PHP 7编译器,借鉴了流行的 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 (通用中间语言)字节码。对象的 JIT 编译器组件完成的编译过程的开始。NET 架构。它不解决本机代码生成和优化问题。其目的是将 PHP 脚本编译为。NET 程序集,包含 CIL 代码和元数据的逻辑单元。

Bambalam

Https://github.com/xzero707/bamcompile/

Bambalam PHP EXE Compiler/Embedder 是一个免费的命令行工具,可以将 PHP 应用程序转换为独立的 Windows。Exe 应用程序。生成的 exe 文件是完全独立的,不需要 phpdls 等。Php 代码使用 Turck MMCache Encode 库进行编码,所以如果你想在保护源代码的同时分发你的应用程序,这是一个完美的解决方案。该转化器也适用于生产。窗口 PHP 应用程序的 exe 文件(例如使用 WinBinder 库创建)。它还有助于创建独立的 PHP Socket 服务器/客户端(使用 PHP _ sockets.dll 扩展)。 从某种意义上说,它不是一个真正的编译器,因为它不能从 PHP 源代码生成本地机器代码,但是它可以工作!

ZZEE PHPexe

Http://www.zzee.com/phpexe/

ZZEE PHPExe 将 PHP、 HTML、 Javascript、 Flash 和其他 Web 文件编译成 Windows GUI exx。通过使用熟悉的 PHP Web 范例,可以快速开发 WindowsGUI 应用程序。可以对联机应用程序和 Windows 应用程序使用相同的代码,只需进行少量修改或不进行任何修改。这是一个商业产品。

Phc-win

Http://wiki.swiftlytilting.com/phc-win

PHP 扩展编译器用于将 PHP 脚本代码编译成 PHP 字节码。这个字节码可以像任何 php 文件一样包含在内,只要加载了 b 编译器扩展。创建完所有字节码文件后,使用修改后的 Embeder 将所有项目文件打包到程序 exe 中。

需要

  • Php5ts. dll
  • Php _ win32std. dll
  • 编译器
  • Php-embed. ini

ExeOutput

Http://www.exeoutput.com/

广告

温德

Http://winbinder.org/-不再有效

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

(叉子: https://github.com/wagy/WinBinder)

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

PHPDesktop

Https://github.com/cztomczak/phpdesktop

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

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 在内的许多不同语言为许多不同的平台构建可执行文件

潮汐 SDK

Http://www.tidesdk.org/

TideSDK 实际上是重命名的钛桌面项目。钛仍然专注于移动,并放弃了桌面版本,这是接管了一些人谁已经开源,并称之为潮汐 SDK。

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

ExeOutput 还可以将 PHP 网站转换为 Windows 应用程序和软件

将 PHP 网站转化为 Windows 应用程序和软件

使用 ExeOutput for PHP 编写的应用程序本地运行 PHP 脚本、 PHP 应用程序和 PHP 网站,不需要 Web 服务器、 Web 浏览器或 PHP 发行版。它们是独立的,可以在任何使用最新 Windows 版本的计算机上使用。

ExeOutput for PHP 是一个强大的网站编译器,可以处理现代网站上的所有元素: PHP 脚本、 JavaScript、 HTML、 CSS、 XML、 PDF 文件、 Flash、 Flash 视频、 Silverlight 视频、数据库和图像。将这些元素与 PHP 运行时和 PHP 扩展组合在一起,用于 PHP 的 ExeOutput 将构建一个包含完整应用程序的 EXE 文件。

Http://www.exeoutput.com/

我在这方面的经验告诉我,这些软件大多适用于小型项目。
但是大项目呢? 例如: Zend Framework 2和一些类似的东西。
他们中的一些需要浏览器运行,这是很难告诉客户“请键入 http://localhost/”在您的浏览器地址栏! !

为此,我创建了一个简单的项目: PHPPy

这不是创建用于运行 php 项目的独立可执行文件的完整方法,但是可以帮助您实现这一点。
我不能用 PyInstaller 或 Py2exe 编译 python 文件到. exe 文件,希望你可以。
您不需要 uniformserver 可执行文件。

当前的 PHP Nightrain (4.0.0)是用 Python 编写的,它使用 到目前为止,wxPython 在获得 PHP 方面一直运行良好 今天的 Nightrain 但是为了推动 PHP Nightrain 下一个级别,我们将介绍 PHP Nightrain 的一个兄弟,即 PHPWebkit!

这是 PHP Nightrain 的升级版。

Https://github.com/entrypass/nightrain-ep

其他答案中的大多数工具都有问题,因为它们都非常过时。

如果您需要一个能够“正常工作”的解决方案,那么在 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
...

我尝试了大部分的解决方案给出的第一个答案,唯一的一个 成功了为我,是 非商业性质一个 href = “ https://github.com/cztomczak/phpdesk/”rel = “ nofollow noReferrer”> php-desk

我只是把我的 php 文件在 www/文件夹,改变了 .exe的名称,并能够运行我的 php 作为一个 exe! !

还有一个完整的文档,最新的支持,Windows 和 linux (很快 Mac)的兼容性和选项可以很容易地改变。

RapidEXE 正适合这项工作:

它将 php 项目转换为独立的 exe。我已经受够了所有其他的编译器,一个接一个地尝试它们,但它们都让我感到失望。请随意,欢迎反馈!

附注: 其背后的机制与 WinRAR SFX 方法非常相似; 提取引擎,提取源代码,然后运行。只是更快,更容易操作。单命令编译,压缩,智能解包,自动清理,易于配置,完全控制的 PHP 引擎 & 版本; 也可扩展,以最小的努力。

开发愉快!