Converta um script PHP em um executável independente do Windows

Quero automatizar uma tarefa bastante simples. Para isso, escrevi um pequeno script PHP que eu executei a partir da linha de comando usando PHP-CLI. Agora eu quero entregar este script para alguém, mas eu não quero:

  • Dê o código fonte
  • peça-lhe para instalar o PHP no sistema

Existe uma maneira de criar uma versão .exe do script PHP. Eu realmente não estou muito preocupado com a descongelação; Estou mais preocupado em pedir às pessoas para instalar e configurar o PHP.

Torta de pêssego

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie é compilador do PHP 7 baseado em Roslyn pela Microsoft e desenho do popular Phalanger. Ele permite que o PHP seja executado dentro do .NET / .NETCore compilando o código PHP para MSIL puro.

Phalanger

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

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

https://github.com/devsense/phalanger

Phalanger é um projeto que foi iniciado na Universidade Charles em Praga e foi apoiado pela Microsoft. Ele compila o código-fonte escrito na linguagem de script PHP no código de byte CIL (Common Intermediate Language). Ele lida com o início de um processo de compilation que é completado pelo componente compilador JIT do .NET Framework. Não aborda a geração de código nativo nem a otimização. Seu objective é compilar scripts PHP em assemblies .NET, unidades lógicas contendo código CIL e meta-dados.

Bambalam

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

Bambalam PHP EXE Compiler / Embedder é uma ferramenta de linha de comando gratuita para converter aplicativos PHP em aplicativos autônomos .exe do Windows. Os arquivos exe produzidos são totalmente autônomos, não há necessidade de php dlls etc. O código php é codificado usando a biblioteca Turck MMCache Encode por isso é uma solução perfeita se você deseja distribuir seu aplicativo enquanto protege seu código fonte. O conversor também é adequado para produzir arquivos .exe para aplicativos PHP com janelas (criados usando, por exemplo, a biblioteca WinBinder). Também é bom para fazer servidores / clientes Socket PHP independentes (usando a extensão php_sockets.dll). Não é realmente um compilador no sentido de que não produz código de máquina nativo de fonts PHP, mas funciona!

ZZEE PHPExe

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

ZZEE PHPExe compila PHP, HTML, Javascript, Flash e outros arquivos da Web em Windows GUI exes. Você pode desenvolver rapidamente aplicativos GUI do Windows empregando o paradigma Web familiar PHP. Você pode usar o mesmo código para aplicativos online e Windows com pouca ou nenhuma modificação. É um produto comercial.

phc-win

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

O bcompiler de extensão do PHP é usado para compilar o código do script PHP no bytecode PHP. Este bytecode pode ser incluído como qualquer arquivo php, desde que a extensão bcompiler seja carregada. Uma vez que todos os arquivos bytecode foram criados, um Embed modificado é usado para empacotar todos os arquivos do projeto no programa exe.

Requer

  • php5ts.dll
  • php_win32std.dll
  • php_bcompiler.dll
  • php-embed.ini

ExeOutput

http://www.exeoutput.com/

Comercial

WinBinder

http://winbinder.org/

WinBinder é uma extensão de código aberto para PHP, a linguagem de programação de script. Ele permite que os programadores PHP criem facilmente aplicativos nativos do Windows, produzindo resultados rápidos e gratificantes com o mínimo de esforço. Mesmo scripts curtos com algumas dúzias de linhas podem gerar um programa útil, graças ao poder e à flexibilidade do PHP.

PHPDesktop

https://github.com/cztomczak/phpdesktop

O PHP Desktop é um projeto de código aberto fundado por Czarek Tomczak em 2012 para fornecer uma maneira de desenvolver aplicativos de desktop nativos usando tecnologias da web, como PHP, HTML5, JavaScript e SQLite. Este projeto é mais do que apenas um compilador PHP para EXE, incorpora um navegador web (Internet Explorer ou Chrome incorporado), um servidor web Mongoose e um intérprete PHP. O stream de trabalho de desenvolvimento para o qual você é usado permanece o mesmo, o passo de transformar um site existente em uma aplicação de desktop é basicamente uma questão de copiá-lo para o diretório “www /”. O uso do database SQLite é opcional, você pode incorporar o database mysql / postgresql no instalador do aplicativo.

PHP Nightrain

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

Usando o PHP Nightrain, você poderá implantar e executar aplicações web HTML, CSS, JavaScript e PHP como uma aplicação de desktop nativa no Windows, Mac e nos sistemas operacionais Linux. Os frameworks PHP populares (por exemplo, CakePHP, Laravel, Drupal, etc …) são bem suportados!

phk-win “fork”

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

Uma versão mais ou menos bifurcada da phc-win, ela usa as mesmas técnicas que a phc-win, mas suporta quase todas as versões modernas do PHP. (5.3, 5.4, 5.5, 5.6, etc.) Também pode usar o Enigma VB para combinar o php5ts.dll com o seu exe, assim como o UPX o compacta. Por fim, ele tem win32std e o winbinder compilado de forma estática em PHP.

EDITAR

Outra opção é usar

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

um compilador on-line que pode criar executáveis ​​para várias plataformas diferentes, a partir de vários idiomas diferentes, incluindo PHP

TideSDK

http://www.tidesdk.org/

TideSDK é, na verdade, o renomeado projeto Titanium Desktop. O titânio permaneceu focado no celular e abandonou a versão de desktop, que foi assumida por algumas pessoas que o obtiveram e apelidaram da TideSDK.

Geralmente, o TideSDK usa HTML, CSS e JS para renderizar aplicativos, mas ele suporta linguagens com scripts como o PHP, como um módulo de plug-in, bem como outros idiomas de scripts como o Python e o Ruby.

Eu tentei a maior parte da solução dada na 1ª resposta, o único que funciona e não era comercial era o php-desktop .

Eu simplesmente coloquei meus arquivos php na pasta www, chaged o nome de .exe e eu consegui executar o meu php como um exe !!

Além disso, há uma documentação completa, suporte atualizado e as opções podem ser facilmente alteradas.

Infelizmente, a maior parte do projeto da 1ª resposta foi interrompida e é difícil encontrar a maneira perfeita de fazer isso também é plataforma cruzada …

http://winbinder.org/

“O WinBinder é uma nova extensão de código aberto para o PHP, a linguagem de programação do script. Ele permite que os programadores PHP criem facilmente aplicativos originais do Windows”.

Eu tive problemas com a maioria das ferramentas em outras respostas, pois todos estão muito desatualizados.

Se você precisa de uma solução que “apenas funcione”, envie uma versão de php com seu projeto em um arquivo WinRar SFX, configure-o para extrair tudo para um diretório temporário e execute o php your_script.php .

Para executar um script básico, os únicos arquivos necessários são php.exe e php5.dll (ou php5ts.dll dependendo da versão).

Para adicionar extensões, empacote-as juntamente com um arquivo php.ini:

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

ExeOutput também pode transformar sites PHP em aplicativos e software do Windows

Transforme sites PHP em aplicativos e software do Windows

As aplicações feitas com ExeOutput para PHP executam scripts PHP, aplicativos PHP e sites PHP nativamente, e não requerem um servidor web, um navegador da Web ou a distribuição do PHP. Eles são autônomos e trabalham em qualquer computador com versões recentes do Windows.

ExeOutput para PHP é um poderoso compilador de sites que funciona com todos os elementos encontrados em sites modernos: scripts PHP, JavaScript, HTML, CSS, XML, arquivos PDF, Flash, vídeos em Flash, vídeos Silverlight, bancos de dados e imagens. Combinando esses elementos com PHP Runtime e PHP Extensions, o ExeOutput para PHP cria um arquivo EXE que contém seu aplicativo completo.

http://www.exeoutput.com/

Minha experiência neste assunto me diz que a maioria desses softwares funcionam bem com pequenos projetos.
Mas e os grandes projetos? por exemplo: Zend Framework 2 e algumas coisas assim.
Alguns precisam de navegador e é difícil dizer ao cliente “digite http://localhost/ ” na barra de endereço do seu navegador!

Eu crio um projeto simples para fazer isso: PHPPy

Esta não é maneira completa para criar arquivo executável autônomo para executar projetos php, mas ajuda você a fazer isso.
Não consegui compilar o arquivo python com PyInstaller ou Py2exe para o arquivo .exe, espero que você possa.
Você não precisa de arquivos executáveis ​​uniformserver.

O PHP Nightrain atual (4.0.0) está escrito em Python e ele usa as bibliotecas wxPython. Até agora, o wxPython tem trabalhado bem para obter o PHP Nightrain onde é hoje, mas para empurrar o Nightrain do PHP para o próximo nível, estamos introduzindo um irmão do PHP Nightrain, o PHPWebkit!

É uma atualização para o PHP Nightrain.

https://github.com/entrypass/nightrainpe

Experimente PHPFlexer

Com base no phc-win, criei uma solução para programas de linha de comando (isto é, se você não quer fazer muito, apenas faça um exe de seu php), atualmente ele só suporta um único arquivo sem sequer include () ou exigir () mas ainda é bastante útil:

http://deneskellner.com/sw/phpflexer

Funciona como um compilador (não é realmente um compilador), uma solução rápida para exatamente o problema descrito acima. Novamente, um único arquivo php entra, um exe independente aparece. Fique à vontade. E obrigado por Jared / phc-win.

Alguns exemplos incluídos para ver o que você pode fazer.

Intereting Posts