Peachpie
http://www.peachpie.io
https://github.com/iolevel/peachpie
Peachpie est un compilateur PHP 7 basé sur Roslyn de Microsoft et s'inspirant du populaire Phalanger. Il permet d'exécuter PHP dans .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 qui a été lancé à l'Université Charles à Prague et qui a été 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 complété par le composant compilateur JIT du .NET Framework. Il ne s'occupe pas de la génération de code natif ni de l'optimisation. Son but est de compiler les 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 gratuit en ligne de commande pour convertir les applications PHP en applications Windows .exe autonomes. Les fichiers exe produits sont totalement autonomes, pas besoin de dlls php, etc. Le code php est encodé à l'aide de la bibliothèque Turck MMCache Encode. C'est donc une solution parfaite si vous souhaitez distribuer votre application tout en protégeant votre code source. Le convertisseur est également adapté à la production de fichiers .exe pour les applications PHP fenêtrées (créées en utilisant par exemple la bibliothèque WinBinder). Il est également utile 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 il fonctionne !
ZZEE PHPExe
http://www.zzee.com/phpexe/
ZZEE PHPExe compile les fichiers PHP, HTML, Javascript, Flash et autres fichiers web en exes GUI Windows. Vous pouvez développer rapidement des applications Windows GUI en utilisant le paradigme web familier de PHP. Vous pouvez utiliser le même code pour les applications en ligne et Windows avec peu ou pas de modifications. Il s'agit d'un produit commercial.
phc-win
http://wiki.swiftlytilting.com/Phc-win
L'extension PHP bcompiler est utilisée pour compiler le code PHP script 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 du projet dans l'exe du programme.
Nécessite
- php5ts.dll
- php_win32std.dll
- php_bcompiler.dll
- php-embed.ini
ExeOutput
http://www.exeoutput.com/
Commercial
WinBinder
http://winbinder.org/
WinBinder est une extension open source de PHP, le langage de programmation script. Il permet aux programmeurs PHP de créer facilement des applications Windows natives, produisant des résultats rapides et gratifiants avec un minimum d'efforts. Même de courts scripts de 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 en utilisant des 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 embarqué), 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 est essentiellement une question de copie dans le répertoire "www/". L'utilisation de la base de données SQLite est facultative, vous pouvez intégrer une base de données mysql/postgresql dans le programme d'installation de l'application.
PHP Nightrain
https://github.com/kjellberg/nightrain
Grâce à PHP Nightrain, vous serez en mesure de déployer et d'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 les plus populaires (par exemple CakePHP, Laravel, Drupal, etc ) sont bien supportés !
phc-win "fork" (fourchette)
https://github.com/RDashINC/phc-win
Une version plus ou moins bifurquée de phc-win, elle 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 aussi utiliser Enigma VB pour combiner la dll php5ts.dll avec votre exe, ainsi que le compresser avec UPX. Enfin, il a win32std et winbinder compilés statiquement dans PHP.
EDIT
Une autre option consiste à utiliser
http://www.appcelerator.com/products/titanium-cross-platform-application-development/
un compilateur en ligne capable de créer des exécutables pour un certain nombre de plates-formes différentes, à partir d'un certain nombre de langages différents, dont le PHP.
TideSDK
http://www.tidesdk.org/
TideSDK est en fait le projet Titanium Desktop renommé. Titanium est resté concentré sur le mobile, et a abandonné la version desktop, qui a été reprise par certaines personnes qui l'ont mis en open source et l'ont baptisé 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.
2 votes
Avez-vous entendu parler de bamcompile (r) ?
1 votes
J'utilise Bambalam depuis un certain nombre d'années. Il est bloqué depuis une éternité maintenant - et plus précisément, il n'est compatible qu'avec PHP4.4.4. Cependant, tant que vous n'avez pas besoin du support UTF8 et autres, et que vous pouvez supporter les foreach() cassés et quelques autres, cela devrait fonctionner pour vous. Notez qu'il est impossible de gérer, par exemple, les noms de fichiers UTF8 dans un répertoire, avec PHP4.4.4. Rappelez-vous également qu'il crée des fichiers dans %TEMP% qui ne sont jamais supprimés (php[0-F]{2}.tmp), vous devrez les nettoyer.
0 votes
Les binaires de PHP peuvent être portés. Vous pouvez simplement dire aux gens d'extraire un dossier entier et de créer un fichier batch qui exécute quelque chose comme "php.exe -c php.ini script.php".