Vraag Converteer een PHP-script naar een zelfstandig uitvoerbaar Windows-venster


Ik wil een vrij eenvoudige taak automatiseren. Hiervoor heb ik een klein PHP-script geschreven dat ik gebruik van PHP-CLI via de opdrachtregel. Nu wil ik dit script aan iemand overhandigen, maar ik wil het niet:

  • geef de broncode weg
  • vraag hem om PHP op het systeem te installeren

Is er een manier om een ​​.exe-versie van het PHP-script te maken. Ik maak me echt niet zoveel zorgen over de-compilatie; Ik maak me meer zorgen over mensen vragen om PHP te installeren en configureren.


109
2018-01-28 16:07


oorsprong


antwoorden:


Perzik taart

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie is PHP 7-compiler op basis van Roslyn door Microsoft en op basis van de populaire Phalanger. Hiermee kan PHP worden uitgevoerd binnen de .NET / .NETCore door de PHP-code te compileren naar puur MSIL.

Phalanger

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

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

https://github.com/devsense/phalanger

Phalanger is een project dat is gestart aan de Charles University in Praag en werd ondersteund door Microsoft. Het compileert de broncode geschreven in de PHP-scripttaal in de byte-code CIL (Common Intermediate Language). Het behandelt het begin van een compileerproces dat wordt voltooid door de JIT-compilercomponent van het .NET Framework. Het is niet gericht op het genereren van native code of optimalisatie. Het doel hiervan is om PHP-scripts te compileren in .NET-assembly's, logische eenheden met CIL-code en metadata.

Bambalam

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

Bambalam PHP EXE Compiler / Embedder is een gratis command line-tool om PHP-applicaties naar stand-alone Windows .exe-applicaties om te zetten. De geproduceerde exe-bestanden zijn volledig op zichzelf staand, geen php-dll's nodig, enz. De php-code is gecodeerd met de Turck MMCache Encode-bibliotheek, dus het is een perfecte oplossing als u uw toepassing wilt verspreiden terwijl u uw broncode beschermt. De converter is ook geschikt voor het produceren van .exe-bestanden voor Windows-PHP-toepassingen (gemaakt met behulp van bijvoorbeeld de WinBinder-bibliotheek). Het is ook goed voor het maken van stand-alone PHP Socket-servers / -clients (met behulp van de php_sockets.dll-extensie). Het is NIET echt een compiler in die zin dat het geen native machine code van PHP bronnen produceert, maar het werkt!

ZZEE PHPExe

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

ZZEE PHPExe compileert PHP, HTML, Javascript, Flash en andere webbestanden naar Windows GUI exes. U kunt snel Windows GUI-applicaties ontwikkelen door het vertrouwde PHP-webparadigma te gebruiken. U kunt dezelfde code gebruiken voor online- en Windows-applicaties met weinig of geen wijzigingen. Het is een commercieel product.

PHC-win

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

De PHP-extensiebcompiler wordt gebruikt om PHP-scriptcode te compileren in PHP bytecode. Deze bytecode kan net als elk ander php-bestand worden opgenomen zolang de bcompiler-extensie is geladen. Nadat alle bytecode-bestanden zijn gemaakt, wordt een gewijzigde Embeder gebruikt om alle projectbestanden in het programma in te pakken.

vereist

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

ExeOutput

http://www.exeoutput.com/

commercieel

WinBinder

http://winbinder.org/

WinBinder is een open source-extensie voor PHP, de programmeertaal voor scripts. Hiermee kunnen PHP-programmeurs eenvoudig native Windows-applicaties bouwen en snelle en bevredigende resultaten produceren met minimale inspanning. Zelfs korte scripts met enkele tientallen regels kunnen een nuttig programma genereren, dankzij de kracht en flexibiliteit van PHP.

PHPDesktop

https://github.com/cztomczak/phpdesktop

PHP Desktop is een open source project dat in 2012 is opgericht door Czarek Tomczak om een ​​manier te bieden voor de ontwikkeling van native desktop-applicaties met behulp van webtechnologieën zoals PHP, HTML5, JavaScript & SQLite. Dit project is meer dan alleen een PHP-naar-EXE-compiler, het bevat een webbrowser (Internet Explorer of ingesloten Chrome), een Mongoose-webserver en een PHP-interpreter. De ontwikkelingsworkflow die u gewend bent, blijft dezelfde, de stap van het omzetten van een bestaande website in een desktoptoepassing is in feite een kwestie van kopiëren naar de "www /" directory. Het gebruik van de SQLite-database is optioneel. U kunt de database mysql / postgresql in het installatieprogramma van de toepassing insluiten.

PHP Nightrain

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

Met behulp van PHP Nightrain kunt u HTML-, CSS-, JavaScript- en PHP-webtoepassingen implementeren en uitvoeren als een native desktop-applicatie op Windows-, Mac- en Linux-besturingssystemen. Populaire PHP-frameworks (bijvoorbeeld CakePHP, Laravel, Drupal, enz ...) worden goed ondersteund!

phc-win "fork"

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

Een min of meer gevorkte versie van phc-win, het maakt gebruik van dezelfde technieken als phc-win, maar ondersteunt bijna alle moderne PHP-versies. (5.3, 5.4, 5.5, 5.6, etc) Het kan ook Enigma VB gebruiken om de php5ts.dll te combineren met je exe, evenals UPX comprimeren. Ten slotte is het win32std en winbinder statisch gecompileerd in PHP.

BEWERK

Een andere optie is om te gebruiken

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

een online compiler die uitvoerbare bestanden kan bouwen voor een aantal verschillende platforms, van een aantal verschillende talen, waaronder PHP

TideSDK

http://www.tidesdk.org/

TideSDK is eigenlijk het nieuwe Titanium Desktop-project. Titanium bleef gericht op mobiel en verliet de desktopversie, die werd overgenomen door een aantal mensen die het hebben geopend en het TideSDK hebben genoemd.

Over het algemeen gebruikt TideSDK HTML, CSS en JS om applicaties te maken, maar het ondersteunt gescripte talen zoals PHP, als een plug-inmodule, evenals andere scriptingstalen zoals Python en Ruby.


165
2018-01-28 16:20



Ik probeerde het grootste deel van de oplossing in het eerste antwoord, de enige die werkt en niet-commercieel was php-desktop.

Ik heb simpelweg mijn php-bestanden in de map www geplaatst, de naam van .exe gecasterd en ik kon mijn php als exe uitvoeren !!

Er is ook een volledige documentatie, bijgewerkte ondersteuning en opties kunnen eenvoudig worden gewijzigd.

Helaas zijn de meeste van het eerste antwoord van het project stopgezet en het is moeilijk om de perfecte manier om dat te doen te vinden, is ook cross-platform ...


5
2018-03-17 11:52



http://winbinder.org/

"WinBinder is een nieuwe opensource-extensie voor PHP, de programmeertaal voor scripts, waarmee PHP-programmeurs eenvoudig native Windows-applicaties kunnen bouwen."


3
2018-01-28 16:13



Ik had problemen met de meeste tools in andere antwoorden omdat ze allemaal erg verouderd zijn.

Als je een oplossing nodig hebt die "gewoon werkt", pak dan een kale versie van php in met je project in een WinRar SFX-archief, stel het in om alles naar een tijdelijke map te extraheren en uit te voeren php your_script.php.

Om een ​​basisscript uit te voeren, zijn de enige vereiste bestanden php.exe en php5.dll (of php5ts.dll afhankelijk van de versie).

Om extensies toe te voegen, verpakt u ze samen met een php.ini-bestand:

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

3
2017-11-13 00:22



ExeOutput kan ook PHP-websites omzetten in Windows-applicaties en -software

Verander PHP-websites in Windows-applicaties en -software

Toepassingen gemaakt met ExeOutput voor PHP gebruiken PHP-scripts, PHP-toepassingen en PHP-websites native, en vereisen geen webserver, een webbrowser of PHP-distributie. Ze zijn stand-alone en werken op elke computer met recente Windows-versies.

ExeOutput voor PHP is een krachtige website-compiler die werkt met alle elementen van moderne sites: PHP-scripts, JavaScript, HTML, CSS, XML, PDF-bestanden, Flash, Flash-video's, Silverlight-video's, databases en afbeeldingen. Door deze elementen te combineren met PHP Runtime en PHP Extensions, bouwt ExeOutput voor PHP een EXE-bestand op dat uw volledige applicatie bevat.

http://www.exeoutput.com/


2
2017-11-29 08:55



Mijn ervaring in deze kwestie leert me dat de meeste van deze software goed werken met kleine projecten.
Maar hoe zit het met grote projecten? bijvoorbeeld: Zend Framework 2 en sommige dingen zoals dat.
Sommigen van hen hebben een browser nodig om te worden uitgevoerd en dit is moeilijk om aan de klant te vertellen "typ alstublieft http://localhost/"in de adresbalk van uw browser !!

Ik maak een eenvoudig project om dit te doen: PHPPy 

Dit is geen volledige manier om een ​​zelfstandig uitvoerbaar bestand te maken voor het uitvoeren van php-projecten, maar helpt u om dit te doen.
Ik kon het python-bestand niet samen met PyInstaller of Py2exe naar het .exe-bestand compileren, ik hoop dat dit mogelijk is.
U hebt geen uniformserver-uitvoerbare bestanden nodig.


1
2017-12-08 10:26



De huidige PHP Nightrain (4.0.0) is geschreven in Python en gebruikt de   wxPython-bibliotheken. Tot nu toe heeft wxPython goed gewerkt om PHP te krijgen   Nightrain waar het vandaag is, maar om PHP Nightrain naar zijn plek te krijgen   volgend niveau introduceren we een broer of zus van PHP Nightrain, de   PHPWebkit!

Het is een update van PHP Nightrain.

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


1
2018-06-24 12:13



Proberen PHPFlexer

Op basis van phc-win heb ik een oplossing voor command line-programma's gemaakt (dat wil zeggen, als je niet veel wilt doen, maak gewoon een exe van je php), momenteel ondersteunt het alleen een enkel bestand zonder zelfs include () of require () maar het is nog steeds best handig:

http://deneskellner.com/sw/phpflexer

Werkt als een compiler (dat is het niet werkelijk een compiler), een snelle oplossing voor precies het hierboven beschreven probleem. Nogmaals, er gaat één enkel PHP-bestand naar binnen, er komt één zelfstandige exe uit. Voel je vrij. En bedankt voor Jared / phc-win.

Enkele voorbeelden opgenomen om te zien wat u kunt doen.


0
2017-12-26 18:38