Преобразование PHP-скрипта в автономный исполняемый файл windows



Я хочу автоматизировать довольно простую задачу. Для этого я написал небольшой PHP скрипт, который я запускаю из командной строки с помощью PHP-CLI. Теперь я хочу передать этот скрипт кому-то, но я не хочу:




  • отдай исходный код

  • попросите его установить PHP в системе


есть ли способ создать .exe версия PHP скрипта. Я действительно не очень беспокоюсь о де-компиляции; я больше беспокоюсь о том, чтобы просить людей установка и настройка PHP.

1321   8  

8 ответов:

Peachpie

http://www.peachpie.io

https://github.com/iolevel/peachpie

Peachpie-это компилятор PHP 7 на основе Roslyn от Microsoft и рисования из популярного Фалангера. Это позволяет PHP быть выполнены в .NET/. NETCore путем компиляции кода PHP в чистом виде язык MSIL.

Phalanger

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

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

https://github.com/devsense/phalanger

Phalanger-это проект, который был начат в Карловом университете в Праге и был поддержан Microsoft. Он компилирует исходный код, написанный на языке сценариев PHP в байт-код CIL (Common Intermediate Language). Оно обрабатывает начало процесса компиляции, который завершается компонентом JIT-компилятора платформы .NET Framework. Он не касается ни генерации собственного кода, ни оптимизации. Его цель-скомпилировать PHP-скрипты в сборки .NET, логические блоки, содержащие CIL-код и метаданные.

Bambalam

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

Bambalam PHP EXE Compiler/Embedder-это бесплатный инструмент командной строки для преобразования PHP приложения для автономных окон .exe-приложения. Созданные exe-файлы полностью автономны, нет необходимости в PHP DLL и т. д. Код php кодируется с помощью библиотеки кодирования Turck MMCache, поэтому это идеальное решение, если вы хотите распространять свое приложение, защищая свой исходный код. Конвертер также подходит для производства .exe-файлы для оконных PHP-приложений (созданных, например, с помощью библиотеки WinBinder). Это также хорошо для создания автономных PHP сокетов серверов / клиентов (с помощью php_sockets.dll расширение). Это не совсем компилятор в том смысле, что он не производит собственный машинный код из источников PHP, но он работает!

ZZEE PHPExe

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

ZZEE PHPExe компилирует PHP, HTML, Javascript, Flash и другие веб-файлы в Windows GUI exes. Вы можете быстро разрабатывать Windows приложения с графическим интерфейсом пользователя, используя знакомые веб-парадигма. Вы можете использовать тот же код для онлайн и Windows-приложения с небольшими изменениями или без них. Это коммерческий продукт.

phc-win

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

расширение PHP bcompiler используется для компиляции кода PHP-скрипта в байт-код PHP. Этот байт-код может быть включен так же, как и любой php-файл, пока загружается расширение bcompiler. После того, как все файлы байт-кода были созданы, модифицированный Embeder используется для упаковки всех файлы проекта в программу exe.

требует

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

ExeOutput

http://www.exeoutput.com/

торговой

WinBinder

http://winbinder.org/

WinBinder является открытым исходным кодом расширение на PHP, язык программирования скриптов. Это позволяет PHP программистам легко создавать собственные приложения Windows, производя быстрые и полезные результаты с минимальными усилиями. Даже короткие скрипты с несколькими десятками строк могут генерировать полезную программу, благодаря мощности и гибкости PHP.

PHPDesktop

https://github.com/cztomczak/phpdesktop

PHP для рабочего стола-это проект с открытым исходным кодом, основанная Czarek Томчак в 2012 году, чтобы обеспечить способ для разработки собственных настольных приложений с использованием веб-технологий, таких как PHP, HTML5, JavaScript & SQLite. Этот проект-это больше, чем просто компилятор PHP to EXE, он встраивает веб-браузер (Internet Explorer или Chrome embedded), веб-сервер Mongoose и интерпретатор PHP. Рабочий процесс разработки, к которому вы привыкли, остается прежним, шаг превращения существующего веб-сайта в настольное приложение в основном заключается в копировании его в каталог "www/". Использование SQLite база данных необязательна, вы можете встроить базу данных mysql/postgresql в установщик приложения.

PHP Nightrain

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

с помощью PHP Nightrain вы сможете развертывать и запускать веб-приложения HTML, CSS, JavaScript и PHP в качестве собственного настольного приложения на операционных системах Windows, Mac и Linux. Популярные PHP-фреймворки (например, CakePHP, Laravel, Drupal и т. д.) хорошо работают поддержано!

phc-win "вилка"

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

более или менее раздвоенная версия phc-win, она использует те же методы, что и phc-win, но поддерживает почти все современные версии PHP. (5.3, 5.4, 5.5, 5.6 и т. д.) Он также может использовать Enigma VB для объединения php5ts.dll с вашим exe, а также UPX сжимают его. Наконец, он имеет win32std и winbinder, скомпилированные статически в РНР.

EDIT

другой вариант-использовать

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

онлайн-компилятор, который может создавать исполняемые файлы для нескольких различных платформ, из нескольких различных языков, включая PHP

TideSDK

http://www.tidesdk.org/

TideSDK на самом деле переименован в Titanium Desktop project. Titanium остался сосредоточенным на мобильных устройствах и отказался от настольной версии, которую взяли на себя некоторые люди, которые открыли его и окрестили его TideSDK.

Как правило, TideSDK использует HTML, CSS и JS для визуализации приложений, но он поддерживает скриптовые языки, такие как PHP, в качестве модуля плагина, а также другие скриптовые языки, такие как Python и Ruby.

Я попробовал большинство решений, приведенных в 1-м ответе, единственный, который работает и был некоммерческим, был php-desktop.

Я просто положил мои PHP файлы в папку www, изменен имя .exe и я смог запустить свой php как exe !!

также есть полная документация, современная поддержка и опции могут быть легко изменены.

к сожалению, большая часть проекта 1-го ответа была прекращена, и трудно найти идеальный способ сделать это также кросс-платформенный...

у меня были проблемы с большинством инструментов в других ответов, так как они очень устарели.

Если вам нужно решение, которое будет "просто работать", упакуйте голую версию php с вашим проектом в архив WinRar SFX, установите его, чтобы извлечь все во временный каталог и выполнить php your_script.php.

для запуска базового сценария требуются только файлы php.exe и php5.dll (или php5ts.dll в зависимости от версии).

чтобы добавить расширения, упакуйте их вместе с РНР.ini-файл:

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

http://winbinder.org/

"WinBinder-это новое расширение с открытым исходным кодом для PHP, языка программирования скриптов. Это позволяет PHP программистам легко создавать собственные приложения Windows."

ExeOutput также может превратить PHP-сайты в приложения и программное обеспечение для Windows

превратить PHP веб-сайты в приложения и программное обеспечение Windows

приложения, созданные с помощью ExeOutput для PHP, запускают PHP-скрипты, PHP-приложения и веб-сайты PHP изначально и не требуют веб-сервера, веб-браузера или дистрибутива PHP. Они автономны и работают на любом компьютере с последними версиями Windows.

ExeOutput для PHP является мощным компилятор сайта, который работает со всеми элементами, найденными на современных сайтах: PHP скрипты, JavaScript, HTML, CSS, XML, PDF файлы, Flash, Flash видео, Silverlight видео, базы данных и изображений. Сочетая эти элементы с помощью среды выполнения PHP и PHP-расширения, ExeOutput для PHP строит EXE-файл, который содержит полную программу.

http://www.exeoutput.com/

мой опыт в этом вопросе говорит мне, что большинство из этих программ хорошо работают с небольшими проектами .
Но как насчет больших проектов? например: Zend Framework 2 и некоторые подобные вещи.
Некоторые из них нужно браузер для запуска, и это трудно сказать клиенту " пожалуйста, введите http://localhost/" в адресной строке Вашего браузера !!

Я создаю простой проект для этого:PHPPy

это не полный способ для создания автономного исполняемый файл для запуска php проектов, но поможет вам сделать это.
Я не мог скомпилировать файл python с помощью PyInstaller или Py2exe .exe файл, надеюсь, что вы можете.
Вам не нужны исполняемые файлы uniformserver.

текущий PHP Nightrain (4.0.0) написан на Python и использует библиотеки wxPython, в. До сих пор wxPython работал хорошо, чтобы получить PHP Nightrain, где он находится сегодня, но для того, чтобы подтолкнуть PHP Nightrain к его на следующем уровне мы представляем родного брата PHP Nightrain, PHPWebkit!

это обновление для PHP Nightrain.

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

PHPFlexer сделает трюк, если вы упакуете свои вещи в один файл. Я знаю, что знаю, это очень ограничено и все такое, но один шаг к нирване.

Я работаю над лучшим, он называется RapidExe - он легко работает с PHP 7.2 и обрабатывает практически любое количество файлов в любой внутренней структуре папок. Бета-версии будут доступны в ближайшее время, но я не хочу использовать этот форум для рекламы или чего-нибудь. Кроме того, это совершенно бесплатно и всегда будет быть.

обновление

RapidExe уже доступен:

http://deneskellner.com/sw/rapidexe

Comments

    Ничего не найдено.