it-swarm.com.de

Konvertieren Sie ein PHP Skript in eine eigenständige ausführbare Windows-Datei

Ich möchte eine ziemlich einfache Aufgabe automatisieren. Dazu habe ich ein kleines PHP Skript geschrieben, das ich mit PHP-CLI von der Kommandozeile aus starte. Jetzt möchte ich dieses Skript an jemanden weitergeben, aber ich möchte nicht:

  • gib den Quellcode weg
  • bitten Sie ihn, PHP auf dem System zu installieren

Gibt es eine Möglichkeit, eine EXE-Version des Skripts PHP) zu erstellen? Ich mache mir wirklich keine großen Sorgen um das Dekompilieren, ich mache mir mehr Sorgen, wenn ich die Leute auffordere, PHP zu installieren und zu konfigurieren.

123
Salman A

Peachpie

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie ist ein PHP 7-Compiler, der auf Roslyn von Microsoft basiert und vom beliebten Phalanger stammt. Es ermöglicht die Ausführung von PHP innerhalb von .NET/.NETCore durch Kompilieren des PHP Codes zu reinem MSIL.

Phalanger

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

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

https://github.com/devsense/phalanger

Phalanger ist ein Projekt, das an der Karlsuniversität in Prag gestartet und von Microsoft unterstützt wurde. Es kompiliert den in der Skriptsprache PHP geschriebenen Quellcode in CIL-Bytecode (Common Intermediate Language). Es behandelt den Beginn eines Kompilierungsprozesses, der von der JIT-Compilerkomponente von .NET Framework abgeschlossen wird. Es wird weder die native Codegenerierung noch die Optimierung behandelt. Sein Zweck ist es, PHP Skripte in .NET-Assemblys zu kompilieren, logische Einheiten mit CIL-Code und Metadaten.

Bambalam

https://github.com/xZero707/Bamcompile/

Bambalam PHP EXE Compiler/Embedder ist ein kostenloses Befehlszeilentool zum Konvertieren von PHP Anwendungen in eigenständige Windows .exe-Anwendungen. Die erzeugten exe-Dateien sind völlig eigenständig, es werden keine PHP-DLLs usw. benötigt. Der PHP-Code wird mit der Turck MMCache-Codebibliothek codiert. Dies ist eine perfekte Lösung, wenn Sie Ihre Anwendung verteilen und gleichzeitig Ihren Quellcode schützen möchten. Der Konverter eignet sich auch zum Erstellen von EXE-Dateien für fensterbasierte PHP -Anwendungen (die beispielsweise mit der WinBinder-Bibliothek erstellt wurden). Es ist auch gut für die Erstellung von PHP Socket-Servern/-Clients (mit der Erweiterung php_sockets.dll). Es ist NICHT wirklich ein Compiler in dem Sinne, dass es keinen nativen Maschinencode aus PHP Quellen erzeugt, aber es funktioniert!

ZZEE PHPExe

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

ZZEE PHPExe kompiliert PHP-, HTML-, Javascript-, Flash- und andere Webdateien in Windows-GUI-Exes. Sie können Windows-GUI-Anwendungen schnell entwickeln, indem Sie das bekannte Webparadigma PHP verwenden. Sie können den gleichen Code für Online- und Windows-Anwendungen mit nur geringen oder keinen Änderungen verwenden. Es ist ein Handelsprodukt.

phc-win

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

Der PHP Erweiterungs-Compiler wird verwendet, um PHP Skriptcode in PHP Bytecode zu kompilieren. Dieser Bytecode kann wie jede PHP-Datei enthalten sein, solange die bcompiler-Erweiterung geladen ist. Nachdem alle Bytecode-Dateien erstellt wurden, werden mit einem geänderten Embeder alle Projektdateien in die Programm-Exe-Datei gepackt.

Benötigt

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

ExeOutput

http://www.exeoutput.com/

Kommerziell

WinBinder

http://winbinder.org/

WinBinder ist eine Open Source-Erweiterung von PHP, der Programmiersprache für Skripte. Es ermöglicht PHP Programmierern, auf einfache Weise native Windows-Anwendungen zu erstellen und mit minimalem Aufwand schnelle und lohnende Ergebnisse zu erzielen. Selbst kurze Skripte mit ein paar Dutzend Zeilen können dank der Leistungsfähigkeit und Flexibilität von PHP ein nützliches Programm erzeugen.

PHPDesktop

https://github.com/cztomczak/phpdesktop

PHP Desktop ist ein Open-Source-Projekt, das 2012 von Czarek Tomczak gegründet wurde, um die Entwicklung nativer Desktop-Anwendungen mithilfe von Webtechnologien wie PHP, HTML5, JavaScript und SQLite zu ermöglichen. Dieses Projekt ist mehr als nur ein PHP für EXE-Compiler, es enthält einen Webbrowser (Internet Explorer oder Chrome eingebettet), einen Mongoose-Webserver und einen PHP Dolmetscher. Der gewohnte Entwicklungsworkflow bleibt derselbe. Der Schritt, eine vorhandene Website in eine Desktop-Anwendung zu verwandeln, besteht im Wesentlichen darin, sie in das Verzeichnis "www /" zu kopieren. Die Verwendung der SQLite-Datenbank ist optional. Sie können die mysql/postgresql-Datenbank in das Installationsprogramm der Anwendung einbetten.

PHP Nightrain

https://github.com/kjellberg/nightrain

Mit PHP Nightrain können Sie HTML-, CSS-, JavaScript- und PHP Webanwendungen als native Desktop-Anwendung unter Windows, Mac und Linux-Betriebssystemen bereitstellen und ausführen. Beliebte PHP Frameworks (z. B. CakePHP, Laravel, Drupal usw.) werden gut unterstützt!

phc-win "fork"

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

Als mehr oder weniger gespaltene Version von phc-win verwendet es die gleichen Techniken wie phc-win, unterstützt jedoch fast alle modernen PHP -Versionen. (5.3, 5.4, 5.5, 5.6, etc) Es kann auch Enigma VB verwenden, um die php5ts.dll mit Ihrer exe zu kombinieren, sowie UPX komprimieren. Zuletzt wurden win32std und winbinder statisch in PHP kompiliert.

[~ # ~] edit [~ # ~]

Eine andere Option ist zu verwenden

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

ein Online-Compiler, der ausführbare Dateien für eine Reihe verschiedener Plattformen aus einer Reihe verschiedener Sprachen, einschließlich PHP, erstellen kann

TideSDK

http://www.tidesdk.org/

TideSDK ist das umbenannte Titanium Desktop-Projekt. Titanium konzentrierte sich weiterhin auf Mobilgeräte und gab die Desktop-Version auf, die von einigen Leuten übernommen wurde, die sie als Open-Source-Version und TideSDK-Version bezeichneten.

Im Allgemeinen verwendet TideSDK HTML, CSS und JS zum Rendern von Anwendungen, unterstützt jedoch Skriptsprachen wie PHP als Plug-in-Modul sowie andere Skriptsprachen wie Python und Ruby.

187
Mark Baker

Ich habe die meisten der in der ersten Antwort angegebenen Lösungen ausprobiert. Die einzige hat bei mir funktioniert und ist nicht kommerziell ist php-desktop.

Ich lege einfach meine PHP-Dateien in das www/ Ordner, änderte den Namen von .exe und konnte meine php als exe laufen lassen !!

Es gibt auch eine vollständige Dokumentation, aktuelle Unterstützung, Windows- und Linux-Kompatibilität und Optionen können leicht geändert werden.

8
538ROMEO

Ich hatte Probleme mit den meisten Tools in anderen Antworten, da sie alle sehr veraltet sind.

Wenn Sie eine Lösung benötigen, die "nur funktioniert", packen Sie eine Bare-Bones-Version von PHP mit Ihrem Projekt in ein WinRar-SFX-Archiv, extrahieren Sie alles in ein temporäres Verzeichnis und führen Sie php your_script.php.

Zum Ausführen eines einfachen Skripts sind nur die folgenden Dateien erforderlich: php.exe und php5.dll (oder php5ts.dll je nach Version).

Um Erweiterungen hinzuzufügen, packen Sie diese zusammen mit einer php.ini-Datei:

[PHP]
extension_dir = "."
extension=php_curl.dll
extension=php_xxxx.dll
...
8
toster-cx

RapidEXE ist genau für diesen Job:

Es konvertiert ein PHP-Projekt in eine Standalone-Exe. Ich hatte genug von allen anderen Compilern, probierte sie nacheinander aus und sie alle enttäuschten mich auf die eine oder andere Weise. Seien Sie mein Gast, Rückmeldungen sind immer willkommen!

Randnotiz: der Mechanismus dahinter ist dem WinRAR SFX-Ansatz ziemlich ähnlich; Motor extrahieren, Quelle extrahieren, dann ausführen. Es ist einfach schneller und einfacher, damit zu arbeiten. Ein-Befehl-Kompilierung, komprimiert, intelligentes Entpacken, automatische Bereinigung, einfache Konfiguration, volle Kontrolle über die PHP-Engine und -Version; auch mit minimalem aufwand erweiterbar.

Viel Spaß beim Entwickeln!

5
dkellner

http://winbinder.org/

"WinBinder ist eine neue Open-Source-Erweiterung für PHP, die Programmiersprache für Skripte. Sie ermöglicht es PHP Programmierern, auf einfache Weise native Windows-Anwendungen zu erstellen."

3
djot

ExeOutput kann auch PHP Websites in Windows-Anwendungen und -Software verwandeln

PHP Websites in Windows-Anwendungen und -Software umwandeln

Anwendungen, die mit ExeOutput für PHP erstellt wurden, führen PHP Skripte, PHP Anwendungen und PHP Websites aus und erfordern keinen Webserver. einen Webbrowser oder eine PHP -Distribution. Sie sind eigenständig und funktionieren auf jedem Computer mit den neuesten Windows-Versionen.

ExeOutput für PHP ist ein leistungsstarker Website-Compiler, der mit allen Elementen auf modernen Websites funktioniert: PHP Skripte, JavaScript, HTML, CSS, XML, PDF Dateien, Flash, Flash-Videos, Silverlight-Videos, Datenbanken und Bilder. Durch die Kombination dieser Elemente mit PHP Runtime und PHP Extensions erstellt ExeOutput for PHP eine EXE-Datei, die Ihre gesamte Anwendung enthält.

http://www.exeoutput.com/

2

Das aktuelle PHP Nightrain (4.0.0) ist in Python geschrieben und verwendet die wxPython-Bibliotheken. Bisher hat wxPython gut daran gearbeitet, PHP Nightrain dahin zu bringen, wo es heute ist. Um jedoch PHP Nightrain auf die nächste Stufe zu heben, führen wir ein Geschwister von PHP Nightrain ein, das PHPWebkit !

Es ist ein Update von PHP Nightrain.

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

1
zeddex

Meine Erfahrung in dieser Angelegenheit sagt mir, dass die meisten dieser Software gut mit kleinen Projekten funktionieren.
Aber was ist mit großen Projekten? ZB: Zend Framework 2 und einige ähnliche Dinge.
Einige von ihnen benötigen einen Browser, um zu funktionieren, und es ist schwierig, dem Kunden mitzuteilen, dass er in der Adressleiste seines Browsers http://localhost/ Eingeben muss.

Ich erstelle dazu ein einfaches Projekt: PHPPy

Dies ist keine vollständige Methode zum Erstellen einer eigenständigen ausführbaren Datei zum Ausführen von PHP-Projekten, hilft Ihnen jedoch dabei.
Ich konnte die python file with PyInstaller oder Py2exe to .exe file nicht kompilieren, hoffe du kannst.
Sie benötigen keine ausführbaren Dateien für Uniformserver.

1
Mohamad Rostami