我想自动完成一项相当简单的任务。为此,我编写了一个小PHP脚本,我使用PHP-CLI从命令行运行。现在我想将这个脚本移交给某人,但我不想:
有没有办法创建PHP脚本的.exe版本。我真的不太担心去编译;我更担心要求人们安装和配置PHP。
答案 0 :(得分:184)
<强> Peachpie 强>
https://github.com/iolevel/peachpie
Peachpie是基于微软Roslyn的PHP 7编译器,来自流行的Phalanger。它允许通过将PHP代码编译为纯MSIL来在.NET / .NETCore中执行PHP。
<强> Phalanger 强>
http://wiki.php-compiler.net/Phalanger_Wiki
https://github.com/devsense/phalanger
Phalanger是一个项目,由布拉格的查尔斯大学开始,得到了微软的支持。它将用PHP脚本语言编写的源代码编译成CIL(通用中间语言)字节码。它处理编译过程的开始,该过程由.NET Framework的JIT编译器组件完成。它不解决本机代码生成和优化问题。其目的是将PHP脚本编译为.NET程序集,包含CIL代码和元数据的逻辑单元。
<强> Bambalam 强>
https://github.com/xZero707/Bamcompile/
Bambalam PHP EXE编译器/嵌入器是一个免费的命令行工具,用于将PHP应用程序转换为独立的Windows .exe应用程序。生成的exe文件是完全独立的,不需要php dll等。使用Turck MMCache Encode库对php代码进行编码,因此如果您想在保护源代码的同时分发应用程序,它是一个完美的解决方案。该转换器还适用于为窗口化PHP应用程序(使用例如WinBinder库创建)生成.exe文件。它也适合制作独立的PHP Socket服务器/客户端(使用php_sockets.dll扩展)。 它并不是真正的编译器,因为它不会从PHP源代码生成本机机器代码,但它可以工作!
ZZEE PHPExe
ZZEE PHPExe将PHP,HTML,Javascript,Flash和其他Web文件编译到Windows GUI exes中。您可以使用熟悉的PHP Web范例快速开发Windows GUI应用程序。您可以在很少或不需要修改的情况下为在线和Windows应用程序使用相同的代码。它是一种商业产品。
<强> PHC-赢强>
http://wiki.swiftlytilting.com/Phc-win
PHP扩展bcompiler用于将PHP脚本代码编译为PHP字节码。只要加载了bcompiler扩展,就可以像任何php文件一样包含此字节码。一旦创建了所有字节码文件,就会使用修改后的Embeder将所有项目文件打包到程序exe中。
需要
<强> ExeOutput 强>
商业
<强> WinBinder 强>
WinBinder是脚本编程语言PHP的开源扩展。它允许PHP程序员轻松构建本机Windows应用程序,以最少的工作量生成快速且有益的结果。由于PHP的强大功能和灵活性,即使是具有几十行的短脚本也可以生成有用的程序。
<强> PHPDesktop 强>
https://github.com/cztomczak/phpdesktop
PHP Desktop是一个开源项目,由Czarek Tomczak于2012年创建,旨在提供一种使用PHP,HTML5,JavaScript和Web等技术开发本机桌面应用程序的方法。 SQLite的。这个项目不仅仅是一个PHP到EXE编译器,它嵌入了一个Web浏览器(Internet Explorer或Chrome嵌入式),一个Mongoose Web服务器和一个PHP解释器。您习惯的开发工作流程保持不变,将现有网站转换为桌面应用程序的步骤基本上是将其复制到&#34; www /&#34;目录。使用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&#34; fork&#34;
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
<强> TideSDK 强>
TideSDK实际上是重命名的Titanium Desktop项目。 Titanium仍然专注于移动设备,并放弃了桌面版本,该版本被一些开源的人接管并称之为TideSDK。
通常,TideSDK使用HTML,CSS和JS来呈现应用程序,但它支持像PHP这样的脚本语言,作为插件模块,以及其他脚本语言,如Python和Ruby。
答案 1 :(得分:8)
我尝试了第一个答案中给出的大部分解决方案,唯一一个对我有用 非商业 php-desktop < /强>
我只是将我的php文件放在www/
文件夹中,更改了.exe
的名称,并且能够将我的php作为exe运行!!
此外,还有完整的文档,最新支持,Windows和Linux兼容性,并且可以轻松更改选项。
答案 2 :(得分:6)
我在其他答案中遇到了大多数工具的问题,因为它们都已经过时了。
如果您需要一个“正常工作”的解决方案,请在WinRar SFX存档中将您的项目的一个简单版本的php打包,将其设置为将所有内容解压缩到临时目录并执行php your_script.php
。 / p>
要运行基本脚本,唯一需要的文件是php.exe
和php5.dll
(或php5ts.dll
,具体取决于版本)。
要添加扩展程序,请将它们与php.ini文件一起打包:
[PHP]
extension_dir = "."
extension=php_curl.dll
extension=php_xxxx.dll
...
答案 3 :(得分:5)
RapidEXE 正是这项工作的目的:
它将php项目转换为独立的exe。我有足够的所有其他编译器,一个接一个地尝试它们,他们都以某种方式让我失望。做我的客人,欢迎提供反馈!
旁注:它背后的机制与WinRAR SFX方法非常相似;提取引擎,提取源,然后运行。它更快更容易使用。单命令编译,压缩,智能解压缩,自动清理,简易配置,完全控制php引擎&amp;版;也可以轻松扩展。
快乐发展!
答案 4 :(得分:3)
“WinBinder是PHP的新开源扩展,脚本编程语言。它允许PHP程序员轻松构建本机Windows应用程序。”
答案 5 :(得分:2)
ExeOutput也可以将PHP网站转换为Windows应用程序和软件
将PHP网站转换为Windows应用程序和软件
使用ExeOutput for PHP进行的应用程序本地运行PHP脚本,PHP应用程序和PHP网站,不需要Web服务器,Web浏览器或PHP分发。它们是独立的,适用于最新Windows版本的任何计算机。
PHP的ExeOutput是一个功能强大的网站编译器,可以处理现代网站上的所有元素:PHP脚本,JavaScript,HTML,CSS,XML,PDF文件,Flash,Flash视频,Silverlight视频,数据库和图像。将这些元素与PHP Runtime和PHP Extensions相结合,ExeOutput for PHP构建了一个包含完整应用程序的EXE文件。
答案 6 :(得分:1)
我在这件事上的经验告诉我,这些软件大部分都适用于小型项目
但是大项目呢?例如:Zend Framework 2和类似的东西。
其中一些需要浏览器才能运行,这很难告诉客户&#34;请输入http://localhost/
&#34;在你的浏览器地址栏!!
我创建了一个简单的项目:PHPPy
这不是创建用于运行php项目的独立可执行文件的完整方法,但可以帮助您完成此任务。
我无法用PyInstaller或Py2exe编译python文件到.exe文件,希望你能。
您不需要uniformserver可执行文件。
答案 7 :(得分:1)
当前的PHP Nightrain(4.0.0)是用Python编写的,它使用的是 wxPython库。到目前为止,wxPython一直很好地运行PHP Nightrain它是今天,但为了推动PHP Nightrain到它 下一级,我们正在介绍PHP Nightrain的兄弟姐妹 PHPWebkit!
这是对PHP Nightrain的更新。