首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将PHP脚本转换为独立的windows可执行文件

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

Stack Overflow用户
提问于 2012-01-29 00:07:40
回答 7查看 212.9K关注 0票数 144

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

  • 提供了
  • 的源代码,请他在system

上安装PHP

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

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-01-29 00:20:55

桃派

http://www.peachpie.io

https://github.com/iolevel/peachpie

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

Phalanger

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

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

https://github.com/devsense/phalanger

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

Bambalam

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

Bambalam PHP EXE编译器/Embedder是一个免费的命令行工具,可以将PHP应用程序转换为独立的Windows .exe应用程序。生成的可执行文件是完全独立的,不需要php dll等。php代码是使用Turck MMCache编码库编码的,所以如果你想在保护源代码的同时分发你的应用程序,这是一个完美的解决方案。该转换器还适用于为窗口应用程序(例如,使用WinBinder库创建)生成.exe文件。它也很适合制作独立的php_sockets.dll服务器/客户端(使用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扩展b编译器用于将PHP脚本代码编译为PHP字节码。这个字节码可以像任何php文件一样包含在内,只要加载了b编译器扩展即可。创建所有字节码文件后,将使用修改后的Embeder将所有项目文件打包到程序可执行文件中。

需要

  • php_win32std.dll

  • php_bcompiler.dll

  • php-embed.ini

  • 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于2012年创建,旨在提供一种使用PHP、HTML5、JavaScript和SQLite等web技术开发本地桌面应用程序的方法。这个项目不仅仅是一个PHP到EXE的编译器,它嵌入了一个web浏览器(Internet Explorer或Chrome embedded),一个Mongoose web服务器和一个PHP解释器。您习惯的开发流程保持不变,将现有网站转换为桌面应用程序的步骤基本上是将其复制到"www/“目录。使用SQLite数据库是可选的,您可以在应用程序的安装程序中嵌入mysql/postgresql数据库。

PHP

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与你的可执行文件,以及UPX压缩它。最后,它将win32std和winbinder静态编译成PHP。

编辑

另一种选择是使用

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

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

TideSDK

http://www.tidesdk.org/

TideSDK实际上是更名为Titanium的项目。on仍然专注于移动设备,并放弃了桌面版本,而桌面版本被一些开源的人接管,并将其命名为TideSDK。

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

票数 204
EN

Stack Overflow用户

发布于 2015-11-13 08:22:52

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

如果你需要一个简单有效的解决方案,在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
...
票数 12
EN

Stack Overflow用户

发布于 2016-03-17 19:52:57

我尝试了第一个答案中给出的大多数解决方案,唯一对我有效的

我只需将我的php文件放在www/文件夹中,更改了.exe的名称,就可以将我的php作为可执行文件运行了!!

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

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9046675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档