我想自动化一个相当简单的任务。为此,我编写了一个小的PHP脚本,该脚本从命令行使用PHP-CLI运行。现在,我想将此脚本移交给某人,但我不想:
- 放弃源代码
- 请他在系统上安装PHP
有没有一种方法来创建PHP脚本的.exe版本。我真的不太担心反编译。我更担心要求人们安装和配置PHP。
我想自动化一个相当简单的任务。为此,我编写了一个小的PHP脚本,该脚本从命令行使用PHP-CLI运行。现在,我想将此脚本移交给某人,但我不想:
有没有一种方法来创建PHP脚本的.exe版本。我真的不太担心反编译。我更担心要求人们安装和配置PHP。
Answers:
桃子派
https://github.com/iolevel/peachpie
Peachpie是基于Microsoft Roslyn并从流行的Phalanger中提取的PHP 7编译器。通过将PHP代码编译为纯MSIL,它允许PHP在.NET / .NETCore中执行。
法郎格
http://wiki.php-compiler.net/Phalanger_Wiki
https://github.com/devsense/phalanger
Phalanger是一个项目,始于布拉格的查尔斯大学,并得到了Microsoft的支持。它将以PHP脚本语言编写的源代码编译为CIL(通用中间语言)字节代码。它处理由.NET Framework的JIT编译器组件完成的编译过程的开始。它不涉及本机代码生成或优化。其目的是将PHP脚本编译成.NET程序集,即包含CIL代码和元数据的逻辑单元。
班巴拉姆
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
ZZEE PHPExe将PHP,HTML,Javascript,Flash和其他Web文件编译为Windows GUI exe。您可以通过使用熟悉的PHP Web范例快速开发Windows GUI应用程序。您可以对在线和Windows应用程序使用相同的代码,而几乎不需要修改。它是一种商业产品。
双赢
http://wiki.swiftlytilting.com/Phc-win
PHP扩展bcompiler用于将PHP脚本代码编译为PHP字节码。只要加载了bcompiler扩展名,就可以像任何php文件一样包含此字节码。创建完所有字节码文件后,将使用修改后的Embeder将所有项目文件打包到程序exe中。
需要
输出输出
商业广告
WinBinder
WinBinder是脚本编程语言PHP的开源扩展。它使PHP程序员可以轻松构建本机Windows应用程序,并以最小的努力获得快速而有意义的结果。由于PHP的强大功能和灵活性,即使只有几十行的简短脚本也可以生成有用的程序。
PHP桌面
https://github.com/cztomczak/phpdesktop
PHP Desktop是Czarek Tomczak在2012年创建的一个开源项目,旨在提供一种使用Web技术(例如PHP,HTML5,JavaScript和SQLite)开发本机桌面应用程序的方法。这个项目不仅仅是一个PHP到EXE的编译器,它还嵌入了一个Web浏览器(嵌入式Internet Explorer或Chrome),一个Mongoose Web服务器和一个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“叉子”
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实际上是重命名的Titanium Desktop项目。Titanium仍然专注于移动设备,放弃了台式机版本,该版本已被开源并将其称为TideSDK的一些人接管。
通常,TideSDK使用HTML,CSS和JS呈现应用程序,但它支持PHP等脚本语言作为插件模块,以及其他脚本语言如Python和Ruby。
其他答案中的大多数工具都存在问题,因为它们都已经过时了。
如果您需要一个“可以正常使用”的解决方案,请将项目的准系统版本的php打包到WinRar SFX归档文件中,将其设置为将所有内容提取到一个临时目录中并执行php your_script.php
。
要运行基本脚本,唯一需要的文件是php.exe
和php5.dll
(或php5ts.dll
取决于版本)。
要添加扩展,请将它们与php.ini文件一起打包:
[PHP]
extension_dir = "."
extension=php_curl.dll
extension=php_xxxx.dll
...
我想大部分是在第1个答案给定的解决方案中,只有一个是工作对我来说,是非商业性的是PHP的桌面。
我只是将我的php文件放到该www/
文件夹中,更改了它的名称,.exe
并能够将php作为exe运行!
此外,还有完整的文档,最新的支持,Windows和Linux的兼容性以及可以轻松更改的选项。
RapidEXE正是适合此工作的:
它将php项目转换为独立的exe。我受够了所有其他编译器,一个接一个地尝试,它们都使我失望。成为我的客人,欢迎反馈!
旁注:其背后的机制与WinRAR SFX方法非常相似;提取引擎,提取源,然后运行。使用起来更快捷,更容易。一键编译,压缩,智能解压缩,自动清理,轻松配置,完全控制php引擎和版本;也可以以最小的努力进行扩展。
发展愉快!
Cannot find myself (D:\Desktop\phpflexer\phpflexer.exe)
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扩展相结合,用于PHP的ExeOutput将构建一个包含完整应用程序的EXE文件。
我在这件事上的经验告诉我,大多数这些软件在小型项目中都能很好地工作。
但是大型项目呢?例如:Zend Framework 2和类似的东西。
其中一些需要浏览器才能运行,这很难http://localhost/
在浏览器地址栏中告诉客户“请输入”!
我创建一个简单的项目来做到这一点:PHPPy
这不是创建用于运行php项目的独立可执行文件的完整方法,但是可以帮助您完成此操作。
我无法使用PyInstaller或Py2exe将python文件编译为.exe文件,希望可以。
您不需要统一服务器可执行文件。
当前的PHP Nightrain(4.0.0)用Python编写,并使用wxPython库。到目前为止,wxPython一直在努力使PHP Nightrain保持今天的状态,但是为了将PHP Nightrain推向新的高度,我们正在引入PHP Nightrain的同级产品,即PHPWebkit!
它是PHP Nightrain的更新。