Eu quero automatizar uma tarefa bastante simples. Para isso, escrevi um pequeno script PHP que corro a partir da linha de comando usando o PHP-CLI. Agora, quero entregar esse script a alguém, mas não quero:
- doar o código fonte
- peça a ele 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 descompilação; Estou mais preocupado em pedir às pessoas para instalar e configurar o PHP.
php
obfuscation
Salman A
fonte
fonte
Respostas:
Torta de pêssego
http://www.peachpie.io
https://github.com/iolevel/peachpie
Peachpie é um compilador PHP 7 baseado em Roslyn pela Microsoft e baseado no popular Phalanger. Ele permite que o PHP seja executado no .NET / .NETCore, compilando o código PHP no MSIL puro.
Phalanger
http://v4.php-compiler.net/
http://wiki.php-compiler.net/Phalanger_Wiki
https://github.com/devsense/phalanger
Phalanger é um projeto iniciado na Universidade Charles, em Praga, com o apoio da Microsoft. Ele compila o código-fonte escrito na linguagem de script PHP no código de bytes CIL (Common Intermediate Language). Ele lida com o início de um processo de compilação que é concluído pelo componente do compilador JIT do .NET Framework. Não trata da geração nem otimização de código nativo. Seu objetivo é compilar scripts PHP em assemblies .NET, unidades lógicas contendo código CIL e metadados.
Bambalam
https://github.com/xZero707/Bamcompile/
O Bambalam PHP EXE Compiler / Embedder é uma ferramenta de linha de comando gratuita para converter aplicativos PHP em aplicativos .exe do Windows independentes. Os arquivos exe produzidos são totalmente independentes, sem necessidade de dll php 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 em janelas (criados usando, por exemplo, a biblioteca WinBinder). Também é bom para criar servidores / clientes PHP Socket 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 a partir de fontes PHP, mas funciona!
ZZEE PHPExe
http://www.zzee.com/phpexe/
O ZZEE PHPExe compila arquivos PHP, HTML, Javascript, Flash e outros arquivos da Web em ex-GUI do Windows. É possível desenvolver rapidamente aplicativos da GUI do Windows, empregando o paradigma da Web PHP familiar. 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
A extensão PHP bcompiler é usada para compilar o código de script PHP no bytecode do PHP. Esse bytecode pode ser incluído como qualquer arquivo php, desde que a extensão bcompiler esteja carregada. Depois que todos os arquivos de bytecode foram criados, um Embeder modificado é usado para compactar todos os arquivos de projeto no programa exe.
Requer
ExeOutput
http://www.exeoutput.com/
Comercial
WinBinder
http://winbinder.org/
O WinBinder é uma extensão de código aberto do PHP, a linguagem de programação de scripts. Ele permite que programadores PHP construam facilmente aplicativos nativos do Windows, produzindo resultados rápidos e gratificantes com o mínimo de esforço. Mesmo scripts curtos com algumas dezenas 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, ele incorpora um navegador da Web (Internet Explorer ou Chrome incorporado), um servidor da Web Mongoose e um intérprete de PHP. O fluxo de trabalho de desenvolvimento ao qual você está acostumado permanece o mesmo; a etapa de transformar um site existente em um aplicativo de desktop é basicamente uma questão de copiá-lo para o diretório "www /". Usando o banco de dados SQLite é opcional, você pode incorporar o banco de dados mysql / postgresql no instalador do aplicativo.
PHP Nightrain
https://github.com/kjellberg/nightrain
Usando o PHP Nightrain, você poderá implantar e executar aplicativos da Web HTML, CSS, JavaScript e PHP como um aplicativo de desktop nativo nos sistemas operacionais Windows, Mac e Linux. Frameworks PHP populares (por exemplo, CakePHP, Laravel, Drupal, etc ...) são bem suportados!
phc-win "garfo"
https://github.com/RDashINC/phc-win
Uma versão mais ou menos bifurcada do phc-win, ele usa as mesmas técnicas do phc-win, mas suporta quase todas as versões modernas do PHP. (5.3, 5.4, 5.5, 5.6, etc) Ele também pode usar o Enigma VB para combinar o php5ts.dll com o seu exe, assim como o UPX o comprime. Por fim, ele tem o win32std e o winbinder compilados estaticamente no PHP.
EDITAR
Outra opção é usar
http://www.appcelerator.com/products/titanium-cross-platform-application-development/
um compilador online que pode construir executáveis para várias plataformas diferentes, a partir de várias linguagens diferentes, incluindo PHP
TideSDK
http://www.tidesdk.org/
TideSDK é na verdade o projeto Titanium Desktop renomeado. O Titanium permaneceu focado no celular e abandonou a versão para desktop, que foi adquirida por algumas pessoas que o abriram e o chamaram de TideSDK.
Geralmente, o TideSDK usa HTML, CSS e JS para renderizar aplicativos, mas suporta linguagens de script como PHP, como um módulo de plug-in, bem como outras linguagens de script como Python e Ruby.
fonte
Eu tive problemas com a maioria das ferramentas em outras respostas, pois todas estão desatualizadas.
Se você precisar de uma solução que "funcione" apenas, leve uma versão básica do php com o seu projeto em um arquivo WinRar SFX, configure-o para extrair tudo para um diretório temporário e executar
php your_script.php
.Para executar um script básico, os únicos arquivos necessários são
php.exe
ephp5.dll
(ouphp5ts.dll
dependendo da versão).Para adicionar extensões, leve-as junto com um arquivo php.ini:
fonte
Eu tentei a maioria das soluções dadas na 1ª resposta, a única que funcionou para mim e não é comercial é o php-desktop .
Eu simplesmente coloquei meus arquivos php na
www/
pasta, mudei o nome.exe
e fui capaz de executar meu php como um exe !!Também existe uma documentação completa, suporte atualizado, compatibilidade com Windows e Linux e opções podem ser facilmente alteradas.
fonte
O RapidEXE é exatamente para este trabalho:
Ele converte um projeto php em um exe independente. Eu já tive o suficiente de todos os outros compiladores, tentei um por um e todos me decepcionaram de um jeito ou de outro. Seja meu convidado, feedbacks são sempre bem-vindos!
Nota lateral: o mecanismo por trás dele é bastante semelhante à abordagem WinRAR SFX; extrair mecanismo, extrair fonte e executar. É apenas mais rápido e fácil de trabalhar. Compilação de um comando, descompactação inteligente e compactada, limpeza automática, configuração fácil, controle total do mecanismo e versão do php; também extensível com o mínimo esforço.
Feliz desenvolvimento!
fonte
Cannot find myself (D:\Desktop\phpflexer\phpflexer.exe)
ExeOutput também pode transformar sites PHP em aplicativos e software para Windows
Transforme sites PHP em aplicativos e software do Windows
Os aplicativos criados com o ExeOutput para PHP executam scripts PHP, aplicativos PHP e sites PHP nativamente e não requerem um servidor da web, um navegador da Web ou distribuição do PHP. Eles são independentes e funcionam em qualquer computador com versões recentes do Windows.
O ExeOutput for 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 Flash, vídeos Silverlight, bancos de dados e imagens. Combinando esses elementos com o PHP Runtime e as extensões do PHP, o ExeOutput for PHP cria um arquivo EXE que contém seu aplicativo completo.
http://www.exeoutput.com/
fonte
Minha experiência nesse assunto me diz que a maioria desses softwares funciona bem em pequenos projetos.
Mas e os grandes projetos? por exemplo: Zend Framework 2 e algumas coisas assim.
Alguns deles precisam do navegador para rodar e isso é difícil de dizer ao cliente "digite
http://localhost/
" na barra de endereços do navegador !!Eu crio um projeto simples para fazer isso: PHPPy
Esta não é uma maneira completa de criar um arquivo executável autônomo para executar projetos php, mas ajuda você a fazer isso.
Não consegui compilar arquivos python com PyInstaller ou Py2exe em arquivos .exe, espero que você possa.
Você não precisa de arquivos executáveis uniformserver.
fonte
É uma atualização para o PHP Nightrain.
https://github.com/entrypass/nightrain-ep
fonte