Je souhaite automatiser une tâche assez simple. Pour cela, j'ai écrit un petit script PHP que je lance depuis la ligne de commande en utilisant PHP-CLI. Maintenant, je veux remettre ce script à quelqu'un mais je ne veux pas:
- donner le code source
- lui demander d'installer PHP sur le système
Existe-t-il un moyen de créer une version .exe du script PHP. Je ne suis vraiment pas très inquiet de la décompilation; Je suis plus inquiet de demander aux gens d'installer et de configurer PHP.
php
obfuscation
Salman A
la source
la source
Réponses:
Tarte aux pêches
http://www.peachpie.io
https://github.com/iolevel/peachpie
Peachpie est un compilateur PHP 7 basé sur Roslyn de Microsoft et tiré du populaire Phalanger. Il permet à PHP d'être exécuté dans le .NET / .NETCore en compilant le code PHP en MSIL pur.
Phalanger
http://v4.php-compiler.net/
http://wiki.php-compiler.net/Phalanger_Wiki
https://github.com/devsense/phalanger
Phalanger est un projet lancé à l'Université Charles de Prague et soutenu par Microsoft. Il compile le code source écrit dans le langage de script PHP en byte-code CIL (Common Intermediate Language). Il gère le début d'un processus de compilation qui est terminé par le composant de compilateur JIT du .NET Framework. Il ne traite pas de la génération de code natif ni de l'optimisation. Son but est de compiler des scripts PHP en assemblages .NET, unités logiques contenant du code CIL et des méta-données.
Bambalam
https://github.com/xZero707/Bamcompile/
Bambalam PHP EXE Compiler / Embedder est un outil de ligne de commande gratuit pour convertir des applications PHP en applications Windows .exe autonomes. Les fichiers exe produits sont totalement autonomes, pas besoin de dll php etc. Le code php est encodé en utilisant la bibliothèque Turck MMCache Encode donc c'est une solution parfaite si vous voulez distribuer votre application tout en protégeant votre code source. Le convertisseur convient également pour produire des fichiers .exe pour des applications PHP fenêtrées (créées à l'aide par exemple de la bibliothèque WinBinder). C'est également bon pour créer des serveurs / clients PHP Socket autonomes (en utilisant l'extension php_sockets.dll). Ce n'est PAS vraiment un compilateur dans le sens où il ne produit pas de code machine natif à partir de sources PHP, mais cela fonctionne!
ZZEE PHPExe
http://www.zzee.com/phpexe/
ZZEE PHPExe compile PHP, HTML, Javascript, Flash et d'autres fichiers Web dans des exes GUI Windows. Vous pouvez rapidement développer des applications Windows GUI en utilisant le paradigme Web PHP familier. Vous pouvez utiliser le même code pour les applications en ligne et Windows avec peu ou pas de modification. C'est un produit commercial.
phc-win
http://wiki.swiftlytilting.com/Phc-win
L'extension PHP bcompiler est utilisée pour compiler le code de script PHP en bytecode PHP. Ce bytecode peut être inclus comme n'importe quel fichier php tant que l'extension bcompiler est chargée. Une fois que tous les fichiers de bytecode ont été créés, un Embeder modifié est utilisé pour emballer tous les fichiers de projet dans l'exe du programme.
A besoin
ExeOutput
http://www.exeoutput.com/
Commercial
WinBinder
http://winbinder.org/
WinBinder est une extension open source de PHP, le langage de programmation de scripts. Il permet aux programmeurs PHP de créer facilement des applications Windows natives, produisant des résultats rapides et gratifiants avec un minimum d'effort. Même des scripts courts avec quelques dizaines de lignes peuvent générer un programme utile, grâce à la puissance et à la flexibilité de PHP.
PHPDesktop
https://github.com/cztomczak/phpdesktop
PHP Desktop est un projet open source fondé par Czarek Tomczak en 2012 pour fournir un moyen de développer des applications de bureau natives à l'aide de technologies Web telles que PHP, HTML5, JavaScript et SQLite. Ce projet est plus qu'un simple compilateur PHP vers EXE, il intègre un navigateur Web (Internet Explorer ou Chrome intégré), un serveur Web Mongoose et un interpréteur PHP. Le flux de travail de développement auquel vous êtes habitué reste le même, l'étape consistant à transformer un site Web existant en une application de bureau consiste essentiellement à le copier dans le répertoire "www /". L'utilisation de la base de données SQLite est facultative, vous pouvez intégrer la base de données mysql / postgresql dans le programme d'installation de l'application.
PHP Nightrain
https://github.com/kjellberg/nightrain
En utilisant PHP Nightrain, vous pourrez déployer et exécuter des applications Web HTML, CSS, JavaScript et PHP en tant qu'application de bureau native sur les systèmes d'exploitation Windows, Mac et Linux. Les frameworks PHP populaires (par exemple CakePHP, Laravel, Drupal, etc…) sont bien supportés!
phc-win "fourchette"
https://github.com/RDashINC/phc-win
Version plus ou moins fourchue de phc-win, il utilise les mêmes techniques que phc-win mais supporte presque toutes les versions modernes de PHP. (5.3, 5.4, 5.5, 5.6, etc.) Il peut également utiliser Enigma VB pour combiner le php5ts.dll avec votre exe, ainsi que le compresser UPX. Enfin, win32std et winbinder sont compilés statiquement en PHP.
ÉDITER
Une autre option consiste à utiliser
http://www.appcelerator.com/products/titanium-cross-platform-application-development/
un compilateur en ligne qui peut créer des exécutables pour un certain nombre de plates-formes différentes, à partir d'un certain nombre de langages différents, y compris PHP
MaréeSDK
http://www.tidesdk.org/
TideSDK est en fait le projet renommé Titanium Desktop. Titanium est resté concentré sur le mobile et a abandonné la version de bureau, qui a été reprise par certaines personnes qui l'ont open source et l'ont surnommée TideSDK.
En général, TideSDK utilise HTML, CSS et JS pour rendre les applications, mais il prend en charge les langages de script comme PHP, en tant que module d'extension, ainsi que d'autres langages de script comme Python et Ruby.
la source
J'ai eu des problèmes avec la plupart des outils dans d'autres réponses car ils sont tous très obsolètes.
Si vous avez besoin d'une solution qui "fonctionnera simplement", mettez une version simplifiée de php avec votre projet dans une archive WinRar SFX, réglez-la pour tout extraire dans un répertoire temporaire et exécutez-la
php your_script.php
.Pour exécuter un script de base, les seuls fichiers requis sont
php.exe
etphp5.dll
(ouphp5ts.dll
selon la version).Pour ajouter des extensions, emballez-les avec un fichier php.ini:
la source
J'ai essayé la plupart des solutions données dans la 1ère réponse, la seule qui a fonctionné pour moi et qui n'est pas commerciale est php-desktop .
J'ai simplement mis mes fichiers php dans le
www/
dossier, changé le nom de.exe
et j'ai pu exécuter mon php en tant qu'exe !!Il existe également une documentation complète, un support à jour, une compatibilité Windows et Linux et les options peuvent être facilement modifiées.
la source
RapidEXE est exactement pour ce travail:
Il convertit un projet php en un exe autonome. J'en avais assez de tous les autres compilateurs, je les ai essayés un par un et ils m'ont tous déçu d'une manière ou d'une autre. Soyez mon invité, les commentaires sont toujours les bienvenus!
Note latérale: le mécanisme sous-jacent est assez similaire à l'approche WinRAR SFX; extraire le moteur, extraire la source, puis exécuter. C'est juste plus rapide et plus facile à utiliser. Compilation à une commande, compression, décompression intelligente, nettoyage automatique, configuration facile, contrôle total du moteur et de la version php; également extensible avec un minimum d'effort.
Bon développement!
la source
Cannot find myself (D:\Desktop\phpflexer\phpflexer.exe)
ExeOutput peut également transformer les sites Web PHP en applications et logiciels Windows
Transformez les sites Web PHP en applications et logiciels Windows
Les applications créées avec ExeOutput pour PHP exécutent nativement des scripts PHP, des applications PHP et des sites Web PHP et ne nécessitent pas de serveur Web, de navigateur Web ou de distribution PHP. Ils sont autonomes et fonctionnent sur n'importe quel ordinateur avec des versions récentes de Windows.
ExeOutput for PHP est un compilateur de site Web puissant qui fonctionne avec tous les éléments trouvés sur les sites modernes: scripts PHP, JavaScript, HTML, CSS, XML, fichiers PDF, Flash, vidéos Flash, vidéos Silverlight, bases de données et images. En combinant ces éléments avec PHP Runtime et les extensions PHP, ExeOutput pour PHP crée un fichier EXE qui contient votre application complète.
http://www.exeoutput.com/
la source
Mon expérience dans ce domaine me dit que la plupart de ces logiciels fonctionnent bien avec de petits projets.
Mais qu'en est-il des grands projets? par exemple: Zend Framework 2 et certaines choses comme ça.
Certains d'entre eux ont besoin d'un navigateur pour fonctionner et il est difficile de dire au client "veuillez taper
http://localhost/
" dans la barre d'adresse de votre navigateur !!Je crée un projet simple pour ce faire: PHPPy
Ce n'est pas un moyen complet de créer un fichier exécutable autonome pour exécuter des projets php, mais vous aide à le faire.
Je n'ai pas pu compiler le fichier python avec PyInstaller ou Py2exe en fichier .exe, j'espère que vous le pouvez.
Vous n'avez pas besoin de fichiers exécutables uniformserver.
la source
C'est une mise à jour de PHP Nightrain.
https://github.com/entrypass/nightrain-ep
la source