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

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

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

有没有办法创buildPHP脚本的.exe版本。 我真的不太担心反编译; 我更担心的是要求人们安装和configurationPHP。

桃子派

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie是基于Microsoft的Roslyn的PHP 7编译器,并从stream行的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

http://www.bambalam.se/bamcompile/

Bambalam PHP EXE编译器/embedded器是一个免费的命令行工具,用于将PHP应用程序转换为独立的Windows .exe应用程序。 生成的exe文件是完全独立的,不需要php dll等。php代码使用Turck MMCache编码库进行编码,所以如果您想在保护源代码的同时分发您的应用程序,它是一个完美的解决scheme。 该转换器也适用于为窗口化PHP应用程序(例如使用WinBinder库创build)生成.exe文件。 这对于制作独立的PHP Socket服务器/客户端(使用php_sockets.dll扩展)也很好。 这不是一个真正的编译器,它不会从PHP源代码生成本地机器代码,但它的工作原理!

ZZEE PHPExe

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

ZZEE PHPExe将PHP,HTML,Javascript,Flash和其他网页文件编译成Windows GUI exes。 您可以通过使用熟悉的PHP Web范例快速开发Windows GUI应用程序。 对于在线和Windows应用程序,您可以使用相同的代码,只需很less的修改即可。 这是一个商业产品。

PHC双赢

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

PHP扩展程序bcompiler用于将PHP脚本代码编译为PHP字节码。 只要加载了bcompiler扩展,就可以像包含任何php文件一样包含这个字节码。 一旦所有的字节码文件已经被创build,一个修改的Embeder被用来打包所有的项目文件到程序EXE中。

需要

  • 的php5ts.dll
  • php_win32std.dll
  • php_bcompiler.dll
  • PHP-embed.ini

ExeOutput

http://www.exeoutput.com/

广告

WinBinder

http://winbinder.org/

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

PHPDesktop

https://github.com/cztomczak/phpdesktop

PHP Desktop是Cz​​arek Tomczak于2012年创build的一个开源项目,旨在为使用Web技术(如PHP,HTML5,JavaScript和SQLite)开发原生桌面应用程序提供一种方法。 这个项目不仅仅是一个PHP的EXE编译器,它embedded了一个网页浏览器(embedded了Internet Explorer或Chrome),一个Mongoose Web服务器和一个PHP解释器。 您使用的开发工作stream程保持不变,将现有网站转换为桌面应用程序的步骤基本上是将其复制到“www /”目录。 使用SQLite数据库是可选的,你可以在应用程序的安装程序中embeddedmysql / postgresql数据库。

PHP Nightrain

http://www.naetech.com/php-nightrain

使用PHP Nightrain,您将能够在Windows,Mac和Linux操作系统上将HTML,CSS,JavaScript和PHP Web应用程序部署并运行为本机桌面应用程序。 stream行的PHP框架(例如CakePHP,Laravel,Drupal等)都得到了很好的支持!

phc-win“fork”

https://github.com/RDashINC/phc-win

一个或多或less的分支版本的phc-win,它使用与phc-win相同的技术,但支持几乎所有现代PHP版本。 (5.3,5.4,5.5,5.6等)也可以使用Enigma VB将php5ts.dll和你的exe文件结合起来,以及UPX压缩它。 最后,将win32std和winbinder静态编译到PHP中。

编辑

另一个select是使用

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

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

TideSDK

http://www.tidesdk.org/

TideSDK实际上是重命名的titanium桌面项目。 titanium仍然专注于移动,并放弃了桌面版本,这是由一些开源并被称为TideSDK的人接pipe。

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

http://winbinder.org/

“WinBinder是PHP的新型开放源代码扩展,它是PHP脚本编程语言,它允许PHP程序员轻松地构build本地Windows应用程序。”

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

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

我尝试了第一个答案给出的大部分解决scheme,唯一的工作,是非商业的是php桌面

我只是把我的PHP文件在www文件夹中,chaged的名称.exe,我能够运行我的PHP作为一个exe文件!

还有一个完整的文档,最新的支持和选项可以很容易地改变。

不幸的是,大部分第一个答案的项目已经停止,很难find完美的方式,这也是跨平台的… …

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

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

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

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

http://www.exeoutput.com/

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

我创build一个简单的项目来做到这一点: PHPPy

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

当前的PHP Nightrain(4.0.0)是用Python编写的,它使用了wxPython库。 到目前为止,wxPython一直在努力获得PHP Nightrain的地位,但为了将PHP Nightrain推向更高层次,我们引入了PHP Nightrain的兄弟,即PHPWebkit!

这是PHP Nightrain的更新。

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

我正在一个,我们正在讲话。

在我开始开发自己的解决scheme之前,我做了功课:

  • 我试图使用ZZEE PHP ,这是伟大的。 但它有一些古老的IE版本和一个PHP的东西,不知道$ x = [1,2,3],并坚持$ x =数组(1,2,3) 。 所以我错过了很多function。
  • 还尝试过ExeOutput ,这是更现代的,知道很多,但使大的EXE文件,启动相当慢 – 甚至比ZZEE,他们都沉重,因为他们build立一个Web服务器环境,每次他们做。
  • phpDesktop这是一个公平的解决scheme,并配备了一切,但它有最大的足迹(你的小helloworld将193个文件和148MB,需要一个完整的安装程序),所以它不适合小工具。

所以最后我决定做一个没有Web服务器,做一个微小的EXE,运载最less的资产,运行速度快,function边缘作为一个内置的浏览器。 它需要运行.NET,这就是为什么它可以如此之小。 你有PHP,JavaScript的,HTML,也jQuery,bootstrap和一切你不能没有生活。 它看起来不像浏览器,它只能这样工作。 唯一的问题(与其他人一样)是,你用它创build的任何东西都可以很容易地进行逆向工程; 他们只是js和php文件,可读和一切。 所以现在只能用于制作免费软件。

有兴趣testing的人? >>>在deneskellner点com发送邮件 – 谢谢。