Ich möchte eine ziemlich einfache Aufgabe automatisieren. Dafür habe ich ein kleines PHP-Skript geschrieben, das ich über die Kommandozeile mit PHP-CLI ausführe. Jetzt möchte ich dieses Skript an jemanden übergeben, 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 PHP-Skripts zu erstellen? Ich mache mir wirklich keine großen Sorgen um die Dekompilierung. Ich mache mir mehr Sorgen, wenn ich Leute auffordere, PHP zu installieren und zu konfigurieren.
php
obfuscation
Salman A.
quelle
quelle
Antworten:
Pfirsichkuchen
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 in .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 PHP-Skriptsprache 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. Der Zweck besteht darin, PHP-Skripte in .NET-Assemblys, logische Einheiten mit CIL-Code und Metadaten zu kompilieren.
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 erstellten exe-Dateien sind vollständig eigenständig, es werden keine PHP-DLLs usw. benötigt. Der PHP-Code wird mithilfe der Turck MMCache Encode-Bibliothek 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 PHP-Anwendungen mit Fenster (erstellt beispielsweise mit der WinBinder-Bibliothek). Es ist auch gut geeignet, um eigenständige PHP-Socket-Server / -Clients zu erstellen (mithilfe 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 PHP-Webparadigma verwenden. Sie können denselben Code für Online- und Windows-Anwendungen ohne oder mit nur geringen Änderungen verwenden. Es ist ein kommerzielles Produkt.
phc-win
http://wiki.swiftlytilting.com/Phc-win
Die PHP-Erweiterung bcompiler wird verwendet, um PHP-Skriptcode in PHP-Bytecode zu kompilieren. Dieser Bytecode kann wie jede PHP-Datei eingefügt werden, solange die bcompiler-Erweiterung geladen ist. Nachdem alle Bytecode-Dateien erstellt wurden, werden alle Projektdateien mit einem geänderten Embeder in die Programmexe gepackt.
Benötigt
ExeOutput
http://www.exeoutput.com/
Kommerziell
WinBinder
http://winbinder.org/
WinBinder ist eine Open Source-Erweiterung von PHP, der Skriptprogrammiersprache. Damit können PHP-Programmierer auf einfache Weise native Windows-Anwendungen erstellen und mit minimalem Aufwand schnelle und lohnende Ergebnisse erzielen. Selbst kurze Skripte mit ein paar Dutzend Zeilen können dank der Leistung 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-zu-EXE-Compiler. Es enthält einen Webbrowser (Internet Explorer oder Chrome Embedded), einen Mongoose-Webserver und einen PHP-Interpreter. Der von Ihnen gewohnte Entwicklungsworkflow bleibt unverändert. Der Schritt, eine vorhandene Website in eine Desktop-Anwendung umzuwandeln, besteht im Wesentlichen darin, sie in das Verzeichnis "www /" zu kopieren. Die Verwendung der SQLite-Datenbank ist optional. Sie können die Datenbank mysql / postgresql 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 Desktopanwendung unter Windows, Mac und den Linux-Betriebssystemen bereitstellen und ausführen. Beliebte PHP-Frameworks (z. B. CakePHP, Laravel, Drupal usw.) werden gut unterstützt!
PHC-Win "Gabel"
https://github.com/RDashINC/phc-win
Als mehr oder weniger gespaltene Version von phc-win verwendet es dieselben Techniken wie phc-win, unterstützt jedoch fast alle modernen PHP-Versionen. (5.3, 5.4, 5.5, 5.6 usw.) Es kann auch Enigma VB verwenden, um die php5ts.dll mit Ihrer Exe zu kombinieren und UPX zu komprimieren. Schließlich hat es win32std und winbinder statisch in PHP kompiliert.
BEARBEITEN
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 verschiedenen Sprachen einschließlich PHP erstellen kann
TideSDK
http://www.tidesdk.org/
TideSDK ist eigentlich 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 es als Open-Source-Version bezeichnet und als TideSDK bezeichnet haben.
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.
quelle
Ich hatte Probleme mit den meisten Tools in anderen Antworten, da sie alle sehr veraltet sind.
Wenn Sie eine Lösung benötigen, die "einfach funktioniert", packen Sie eine Bare-Bones-Version von PHP mit Ihrem Projekt in ein WinRar SFX-Archiv, stellen Sie sie so ein, dass alles in ein temporäres Verzeichnis extrahiert und ausgeführt wird
php your_script.php
.Zum Ausführen eines Basisskripts sind nur
php.exe
undphp5.dll
(oderphp5ts.dll
je nach Version) Dateien erforderlich .Um Erweiterungen hinzuzufügen, packen Sie sie zusammen mit einer php.ini-Datei:
quelle
Ich habe den größten Teil der in der ersten Antwort angegebenen Lösung ausprobiert. Die einzige Lösung, die für mich funktioniert hat und nicht kommerziell ist, ist PHP-Desktop .
Ich habe einfach meine PHP-Dateien in den
www/
Ordner gelegt, den Namen von geändert.exe
und konnte meine PHP als Exe ausführen !!Außerdem gibt es eine vollständige Dokumentation, aktuelle Unterstützung, Windows- und Linux-Kompatibilität und Optionen können leicht geändert werden.
quelle
RapidEXE ist genau für diesen Job:
Es konvertiert ein PHP-Projekt in eine eigenständige Exe. Ich hatte genug von allen anderen Compilern, habe sie einzeln ausprobiert und sie alle haben mich auf die eine oder andere Weise enttäuscht. Sei mein Gast, Rückmeldungen sind immer willkommen!
Randnotiz: Der Mechanismus dahinter ist dem WinRAR SFX-Ansatz ziemlich ähnlich. Engine extrahieren, Quelle extrahieren und dann ausführen. Es ist einfach schneller und einfacher zu arbeiten. Ein-Befehl-Kompilierung, komprimiert, intelligentes Entpacken, automatische Bereinigung, einfache Konfiguration, volle Kontrolle über die PHP-Engine & Version; auch mit minimalem Aufwand erweiterbar.
Viel Spaß beim Entwickeln!
quelle
Cannot find myself (D:\Desktop\phpflexer\phpflexer.exe)
ExeOutput kann auch PHP-Websites in Windows-Anwendungen und -Software verwandeln
Verwandeln Sie PHP-Websites in Windows-Anwendungen und -Software
Mit ExeOutput für PHP erstellte Anwendungen führen nativ PHP-Skripte, PHP-Anwendungen und PHP-Websites aus und erfordern keinen Webserver, keinen Webbrowser oder keine PHP-Distribution. Sie sind eigenständig und funktionieren auf jedem Computer mit aktuellen Windows-Versionen.
ExeOutput für PHP ist ein leistungsstarker Website-Compiler, der mit allen Elementen arbeitet, die auf modernen Websites zu finden sind: PHP-Skripte, JavaScript, HTML, CSS, XML, PDF-Dateien, Flash, Flash-Videos, Silverlight-Videos, Datenbanken und Bilder. ExeOutput for PHP kombiniert diese Elemente mit PHP Runtime und PHP Extensions und erstellt eine EXE-Datei, die Ihre gesamte Anwendung enthält.
http://www.exeoutput.com/
quelle
Meine Erfahrung in dieser Angelegenheit zeigt mir, dass die meisten dieser Software gut mit kleinen Projekten funktionieren.
Aber was ist mit großen Projekten? Beispiel: Zend Framework 2 und solche Dinge.
Einige von ihnen benötigen einen Browser, um ausgeführt zu werden, und dies ist für den Kunden schwer zu sagen
http://localhost/
in die Adressleiste Ihres Browsers " muss.Dazu erstelle ich 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 keine Python-Datei mit PyInstaller oder Py2exe in eine EXE-Datei kompilieren, hoffe du kannst.
Sie benötigen keine ausführbaren Dateien für Uniformserver.
quelle
Es ist ein Update für PHP Nightrain.
https://github.com/entrypass/nightrain-ep
quelle