Я хочу автоматизировать довольно простую задачу. Для этого я написал небольшой сценарий PHP, который запускаю из командной строки с помощью PHP-CLI. Сейчас я хочу передать этот скрипт кому-нибудь, но не хочу:
- отдать исходный код
- попросите его установить PHP в систему
Есть ли способ создать версию PHP скрипта .exe. Я действительно не очень беспокоюсь о декомпиляции; Я больше беспокоюсь о том, чтобы просить людей установить и настроить PHP.
php
obfuscation
Салман А
источник
источник
Ответы:
Peachpie
http://www.peachpie.io
https://github.com/iolevel/peachpie
Peachpie - это компилятор PHP 7, основанный на Roslyn от Microsoft и заимствованный из популярного Phalanger. Он позволяет выполнять PHP в .NET / .NETCore путем компиляции кода PHP в чистый MSIL.
кускус
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
https://github.com/xZero707/Bamcompile/
Bambalam PHP EXE Compiler / Embedder - это бесплатный инструмент командной строки для преобразования приложений PHP в автономные приложения Windows .exe. Создаваемые exe-файлы полностью автономны, не требуются библиотеки php и т. Д. Код php кодируется с использованием библиотеки Turck MMCache Encode, поэтому это идеальное решение, если вы хотите распространять свое приложение, одновременно защищая исходный код. Конвертер также подходит для создания файлов .exe для оконных приложений PHP (созданных, например, с использованием библиотеки WinBinder). Это также хорошо для создания автономных серверов / клиентов PHP Socket (с использованием расширения php_sockets.dll). На самом деле это НЕ компилятор в том смысле, что он не производит машинный код из источников PHP, но он работает!
ZZEE PHPExe
http://www.zzee.com/phpexe/
ZZEE PHPExe компилирует PHP, HTML, Javascript, Flash и другие веб-файлы в exes графического интерфейса Windows. Вы можете быстро разрабатывать приложения с графическим пользовательским интерфейсом для Windows, используя знакомую веб-парадигму PHP. Вы можете использовать один и тот же код для онлайн-приложений и приложений Windows с небольшими изменениями или без них. Это коммерческий продукт.
PHC-победа
http://wiki.swiftlytilting.com/Phc-win
Bcompiler расширения PHP используется для компиляции кода сценария PHP в байт-код PHP. Этот байт-код может быть включен так же, как любой файл php, если загружено расширение bcompiler. После создания всех файлов байт-кода модифицированный Embeder используется для упаковки всех файлов проекта в исполняемую программу.
требует
ExeOutput
http://www.exeoutput.com/
коммерческий
WinBinder
http://winbinder.org/
WinBinder - это расширение с открытым исходным кодом для PHP, языка программирования сценариев. Он позволяет программистам PHP легко создавать собственные приложения для Windows, обеспечивая быстрые и полезные результаты с минимальными усилиями. Даже короткие скрипты с несколькими десятками строк могут создать полезную программу благодаря мощности и гибкости PHP.
PHPDesktop
https://github.com/cztomczak/phpdesktop
PHP Desktop - это проект с открытым исходным кодом, основанный Чареком Томчаком в 2012 году, чтобы предоставить способ разработки собственных настольных приложений с использованием веб-технологий, таких как PHP, HTML5, JavaScript и SQLite. Этот проект - больше, чем просто компилятор PHP в EXE, он включает в себя веб-браузер (встроенный Internet Explorer или Chrome), веб-сервер Mongoose и интерпретатор PHP. Рабочий процесс разработки, к которому вы привыкли, остается прежним, шаг по превращению существующего веб-сайта в настольное приложение в основном заключается в его копировании в каталог «www /». Использование базы данных SQLite необязательно, вы можете встроить базу данных mysql / postgresql в установщик приложения.
PHP Nightrain
https://github.com/kjellberg/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, статически скомпилированные в PHP.
РЕДАКТИРОВАТЬ
Другой вариант - использовать
http://www.appcelerator.com/products/titanium-cross-platform-application-development/
онлайн-компилятор, который может создавать исполняемые файлы для ряда различных платформ, на разных языках, включая PHP
TideSDK
http://www.tidesdk.org/
TideSDK - это фактически переименованный проект Titanium Desktop. Titanium по-прежнему ориентирован на мобильные устройства и отказался от настольной версии, которую переняли некоторые люди, которые открыли исходный код и назвали ее TideSDK.
Как правило, TideSDK использует HTML, CSS и JS для рендеринга приложений, но поддерживает языки сценариев, такие как PHP, в качестве подключаемого модуля, а также другие языки сценариев, такие как Python и Ruby.
источник
У меня были проблемы с большинством инструментов в других ответах, поскольку все они очень устарели.
Если вам нужно решение, которое будет «просто работать», упакуйте голую версию php с вашим проектом в архив WinRar SFX, настройте его на извлечение всего во временный каталог и выполните
php your_script.php
.Для запуска базового сценария требуются только файлы
php.exe
иphp5.dll
(или вphp5ts.dll
зависимости от версии).Чтобы добавить расширения, упакуйте их вместе с файлом php.ini:
источник
Я попробовал большую часть решения, приведенного в 1-м ответе, единственное, что сработало для меня и не является коммерческим, - это php-desktop .
Я просто поместил свои файлы php в
www/
папку, изменил имя.exe
и смог запустить свой php как exe !!Также есть полная документация, актуальная поддержка, совместимость с Windows и Linux, а параметры можно легко изменить.
источник
RapidEXE как раз для этой работы:
Он преобразует проект php в автономный exe. Мне надоели все остальные компиляторы, я пробовал их один за другим, и все они так или иначе меня разочаровали. Будь моим гостем, отзывы всегда приветствуются!
Примечание: механизм, лежащий в основе этого, очень похож на подход WinRAR SFX; извлечь двигатель, извлечь исходный код и запустить. Просто с ним быстрее и проще работать. Компиляция одной командой, сжатие, интеллектуальная распаковка, автоматическая очистка, простая конфигурация, полный контроль над движком и версией php; также расширяемый с минимальными усилиями.
Удачного развития!
источник
Cannot find myself (D:\Desktop\phpflexer\phpflexer.exe)
ExeOutput также может превратить веб-сайты PHP в приложения и программное обеспечение Windows.
Превратите сайты PHP в приложения и программное обеспечение для Windows
Приложения, созданные с помощью ExeOutput для PHP, запускают сценарии PHP, приложения PHP и веб-сайты PHP изначально и не требуют веб-сервера, веб-браузера или дистрибутива PHP. Они автономны и работают на любом компьютере с последними версиями Windows.
ExeOutput для PHP - это мощный компилятор веб-сайтов, который работает со всеми элементами современных сайтов: сценариями PHP, JavaScript, HTML, CSS, XML, файлами PDF, Flash, видеороликами Flash, видеороликами Silverlight, базами данных и изображениями. Комбинируя эти элементы с PHP Runtime и PHP Extensions, ExeOutput для PHP создает EXE-файл, содержащий ваше полное приложение.
http://www.exeoutput.com/
источник
Мой опыт в этом вопросе подсказывает мне, что большинство этих программ хорошо работают с небольшими проектами.
А как насчет больших проектов? например: Zend Framework 2 и тому подобное.
Некоторым из них требуется браузер для запуска, и это сложно сказать клиенту «введите пожалуйста
http://localhost/
» в адресную строку браузера !!Для этого я создаю простой проект: PHPPy
Это не полный способ создания автономного исполняемого файла для запуска проектов php, но он поможет вам в этом.
Мне не удалось скомпилировать файл python с помощью PyInstaller или Py2exe в файл .exe, надеюсь, вы сможете.
Вам не нужны исполняемые файлы uniformserver.
источник
Это обновление PHP Nightrain.
https://github.com/entrypass/nightrain-ep
источник