当前位置: 首页 > 面试题库 >

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

蒙墨竹
2023-03-14
问题内容

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

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

有没有一种方法可以创建PHP脚本的.exe版本。我真的不太担心反编译。我更担心要求人们安装和配置PHP。


问题答案:

peachpie.

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie是基于Microsoft Roslyn并从流行的Phalanger中提取的PHP
7编译器。通过将PHP代码编译为纯MSIL,它允许PHP在.NET / .NETCore中执行。

Phalanger

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

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

https://github.com/devsense/phalanger

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

Bambalam

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

Bambalam PHP EXE编译器/嵌入器是一个免费的命令行工具,用于将PHP应用程序转换为独立的Windows
.exe应用程序。生成的exe文件完全独立,不需要php dll等。php代码使用Turck
MMCache编码库进行编码,因此如果您想在保护源代码的同时分发应用程序,则它是一个完美的解决方案。该转换器还适用于为窗口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 exe。您可以通过使用熟悉的PHP
Web范例快速开发Windows GUI应用程序。您可以对在线和Windows应用程序使用相同的代码,而几乎不需要修改。它是一种商业产品。

phc-win

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

输出输出

http://www.exeoutput.com/

商业广告

WinBinder

http://winbinder.org/

WinBinder是脚本编程语言PHP的开源扩展。它使PHP程序员可以轻松构建本机Windows应用程序,并以最小的努力获得快速而有意义的结果。由于PHP的强大功能和灵活性,即使只有几十行的简短脚本也可以生成有用的程序。

PHP桌面

https://github.com/cztomczak/phpdesktop

PHP Desktop是Cz​​arekTomczak在2012年创建的一个开源项目,旨在提供一种使用Web技术(例如PHP,HTML5,JavaScript和SQLite)开发本机桌面应用程序的方法。这个项目不仅仅是一个PHP到EXE的编译器,它还嵌入了一个Web浏览器(嵌入式InternetExplorer或Chrome),一个MongooseWeb服务器和一个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等)它也可以使用EnigmaVB将php5ts.dll与您的exe结合在一起,以及UPX对其进行压缩。最后,它已将win32std和winbinder静态地编译到PHP中。

编辑

另一种选择是使用

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

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

潮汐

http://www.tidesdk.org/

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

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



 类似资料:
  • 我已将Python代码转换为文件使用。当我打开文件写入错误: 出现此错误,但程序不会自行关闭。

  • 问题内容: 我在中有我的php脚本文件。何时运行,它运行完美。 我想通过sh文件调用PHP文件,SH文件的位置如下 这是文件的内容是: 当我运行时,它也可以完美运行。 现在,如果我按如下所示设置crontab: 但是,此crontab无法正常工作。 有什么事吗 问题答案: 从注释中可以看出,问题在于您没有定义应使用哪个程序来执行脚本。考虑到cronjob是在很小的环境中执行的;在那里,没有什么可以

  • 问题内容: 我公司已经开发了一个Web应用程序(J2EE环境/ Tomcat服务器),并希望将其作为产品出售。客户可以将此产品用作基本版或高级版。在高级版中,客户具有一些额外的功能(可能是一些额外的链接)。这种区别是基于串行密钥进行的。 讨论上述问题时,我只是一个听众。 是否可以解决上述问题?我们如何将War文件转换为exe文件并嵌入逻辑以区分高级版本或基本版本。 问题答案: 我们如何将War文件

  • 问题内容: 我制作了一个Java应用程序,希望在Windows,OSX和Linux上分发而不分发jar文件。我使用了出色的Windows exe包装器http://launch4j.sourceforge.net/创建了一个带有我的图标的.exe文件,它不会吓到Windows用户。 我可以在OSX / Unix中使用类似的包装器吗?一个重要的考虑因素是,我希望在可执行文件上有自己的图标(尤其是对于

  • 问题内容: 我有一个Python脚本,希望将其编译为Windows可执行文件。现在,在Windows上可以正常运行,但是我希望能够在Linux上运行它。我的开发机器上 确实 有Windows,但是Linux是我的主要开发平台,我有点讨厌重新启动Windows只是为了创建Windows 。我也不需要购买第二个Windows许可证即可在VirtualBox等虚拟机中运行。有任何想法吗? PS:我知道,

  • 问题内容: 我已经编写了一个.c源代码(在Eclipse中),它使用libcap库来获取与网络流量有关的信息。现在,我已经在Eclipse中使用ndk- build创建了一个可执行二进制文件。我已将在libs / armeabi文件夹中创建的二进制文件推送到我的android的/ data / local /文件夹中(根目录为nexus 5,Lollipop),并尝试执行该二进制文件。但是andr