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

beq87vna  于 12个月前  发布在  PHP
关注(0)|答案(8)|浏览(581)

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

  • 给予源代码
  • 让他在系统上安装PHP

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

w9apscun

w9apscun1#

我尝试了第一个答案中给出的大部分解决方案,唯一一个对我有效的并且是非商业性的php-desktop**。
我只是简单地把我的php文件放在www/文件夹中,改变了.exe的名称,就可以把我的php作为exe运行了!!
此外,还有一个完整的文档,最新的支持,windows和linux(很快mac)的兼容性和选项可以很容易地改变。

bgibtngc

bgibtngc2#

RapidEXE正是针对此作业:

它将php项目转换为独立的exe。我有足够的所有其他编译器,尝试他们一个接一个,他们都失望我这样或那样的方式。请随意,随时欢迎反馈!

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

快乐发展!

gv8xihay

gv8xihay3#

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扩展相结合,ExeOutput for PHP将生成一个包含完整应用程序的EXE文件。
http://www.exeoutput.com/

sczxawaw

sczxawaw4#

我写了一个article,这可以使用打包器来完成,结果大小为about2.7mb,比现在大多数php编译器执行更快更灵活。
Enigma Virtual Box用于嵌入小PHP executable(版本由你选择),你可以嵌入任何你喜欢的扩展。在第一次执行和无缝解压缩文件之后,后续执行通常需要不到一秒钟的时间。

bd1hkmkf

bd1hkmkf5#

我在这方面的经验告诉我,这些软件中的大多数都适合小项目。
但是大项目呢?例如:Zend Framework 2和类似的东西。
其中一些需要浏览器才能运行,这是很难告诉客户“请键入http://localhost/”在您的浏览器地址栏!!
我创建了一个简单的项目来实现这一点:PHPPy

这不是创建独立可执行文件以运行php项目的完整方法,但可以帮助您做到这一点。

我无法用PyInstaller或Py 2 exe将Python文件编译成.exe文件,希望你能。
您不需要uniformserver可执行文件。

htzpubme

htzpubme6#

当前的PHP Nightrain(4.0.0)是用Python编写的,它使用wxPython库。到目前为止,wxPython已经很好地让PHP Nighttrain达到了今天的水平,但是为了将PHP Nighttrain推向下一个水平,我们引入了PHP Nighttrain的兄弟,PHPWebkit!
这是PHP Nightrain的更新。
https://github.com/entrypass/nightrain-ep

k5hmc34c

k5hmc34c7#

桃子派

http://www.peachpie.io
https://github.com/iolevel/peachpie
Peachpie是基于微软Roslyn的PHP 7编译器,并借鉴了流行的Phalanger。它允许通过将PHP代码编译为纯MSIL来在.NET/.NETCore中执行PHP。

飞龙酒店

http://v4.php-compiler.net/
http://wiki.php-compiler.net/Phalanger_Wiki
https://github.com/devsense/phalanger
Phalanger是一个由布拉格查尔斯大学发起的项目,并得到了微软的支持。它将用PHP脚本语言编写的源代码编译成CIL(公共中间语言)字节码。它处理由. NETFramework的JIT编译器组件完成的编译过程的开始。它不解决本机代码生成和优化问题。它的目的是将PHP脚本编译成.NET程序集,包含CIL代码和元数据的逻辑单元。

班巴兰

https://github.com/xZero707/Bamcompile/
Bambalam PHP EXE编译器/嵌入器是一个免费的命令行工具,可以将PHP应用程序转换为独立的Windows .exe应用程序。产生的exe文件是完全独立的,不需要php dll等。php代码使用Turck MMCache Encode库进行编码,因此如果您希望在分发应用程序的同时保护源代码,这是一个完美的解决方案。该转换器也适用于为窗口化的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-win

http://wiki.swiftlytilting.com/Phc-win
PHP扩展bcompiler用于将PHP脚本代码编译为PHP字节码。只要加载了bcompiler扩展,就可以像包含任何php文件一样包含此字节码。一旦创建了所有字节码文件,就可以使用修改后的嵌入器将所有项目文件打包到程序exe中。
要求

  • php5ts.dll
  • php_win32std.dll
  • php_bcompiler.dll
  • php-embed.ini
    执行输出

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

PHP Nighttrain

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,etc)它也可以使用Enigma VB将php5ts.dll与您的exe组合,以及UPX压缩它。最后,它将win32 std和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。

jhkqcmku

jhkqcmku8#

我在其他答案中的大多数工具都有问题,因为它们都非常过时。
如果你需要一个解决方案,将“只是工作”,包一个基本版本的php与您的项目在WinRar SFX存档,设置它提取一切到一个临时目录,并执行php your_script.php
要运行基本脚本,只需要php.exephp5.dll(或php5ts.dll,具体取决于版本)。
要添加扩展,请将它们与php.ini文件沿着打包:

[PHP]
extension_dir = "."
extension=php_curl.dll
extension=php_xxxx.dll
...

相关问题