PHP2EXE
Решил посмотреть что у нас на старую добрую тему php2exe — т. е. PHP-компиляторов. В последнее время в разговорах всё чаще мелькало упоминание RoadSend PHP Compiler, вот я его решил скачать и скомпилировать свой «Photoshop’s Crap Remover». Эта програмка была написана в 2002-м году для удаления из файлов JPEG лишней информации. Фотошоп тогда очень активно её туда записывал — вплоть до preview, так что было актуально, но и сейчас, бывает, программа пригождается.
Вот этот компилятор я и скачал. Версия 2.9.0, бета. Первое, что я выяснил, когда нашёл где включается режим вывода лога компиляции, инсталлировать надо было туда, куда программа предлагала по умолчанию. Путь «Program Files» вызывает проблемы из-за пробела посередине. Следующая проблема — библиотека для работы с регулярными выражениями в формате Perl породила массу ошибок. Я решил это легко — у меня в программе одно, незначащее регулярное выражение, т. е. я его просто убрал.
В итоге, эксперимент окончился плачевно. Мало того, что итоговый файл оказался размером шесть мегабайт (при том, что исходная программа занимает 1.5 килобайта) — это ещё терпимо, понятно, что с ростом исходной программы этот размер меняться почти не будет, да и упаковывается он до одного мегабайта, например, при помощи NPack. Хуже, что скомпилированная (даже не сжатая) программа так и не заработала — при выполнении возникают ошибки переполнения.
Вывод: возможно, это огрехи бета-версии, но инструмент нерабочий.
Посмотрите в сторону http://hunger.ru/php2exe.
Версия PHP-5.1.x. Обновлений, к сожалению, давно небыло.
php5ts.dll сжался UPX до 1,8 МБ.
Тестовый exe-файл с PHP кодом «echo ’hello word’;» занимает копейки.
Не открывается у меня, говорит нет такого домена.
Комментарий для Евгения Степанищева:
Да, сайт не работает, значит я успел скачать. :)
Выложил временно сюда:
http://balans2.ru/_tmp/php2exe.rar
Попробуйте.
Комментарий для rinatmuhtarov.moikrug.ru:
Спасибо, но там даже не пахнет компиляцией. Хотя бы в виде «засунуть всё в один файл». Распространять ещё и библиотеку — некошерно, должен быть ровно один файл.
Комментарий для Евгения Степанищева:
Не считаю это недостатком.
В современном ПО библиотеки, как правило, в отдельных файлах хранятся.
Комментарий для rinatmuhtarov.moikrug.ru:
Тогда для любой мелкой программы нужно будет добавлять ещё и инсталлятор.
можно библиотеку и бинарник запаковать хотя-бы в sfx и будет один исполняемый файл
sfx можно запаковать win-rar архиватором