Пишу, по большей части, про историю, свою жизнь и немного про программирование.

PHP2EXE

Решил посмотреть что у нас на старую добрую тему php2exe — т. е. PHP-компиляторов. В последнее время в разговорах всё чаще мелькало упоминание RoadSend PHP Compiler, вот я его решил скачать и скомпилировать свой «Photoshop’s Crap Remover». Эта програмка была написана в 2002-м году для удаления из файлов JPEG лишней информации. Фотошоп тогда очень активно её туда записывал — вплоть до preview, так что было актуально, но и сейчас, бывает, программа пригождается.

Вот этот компилятор я и скачал. Версия 2.9.0, бета. Первое, что я выяснил, когда нашёл где включается режим вывода лога компиляции, инсталлировать надо было туда, куда программа предлагала по умолчанию. Путь «Program Files» вызывает проблемы из-за пробела посередине. Следующая проблема — библиотека для работы с регулярными выражениями в формате Perl породила массу ошибок. Я решил это легко — у меня в программе одно, незначащее регулярное выражение, т. е. я его просто убрал.

В итоге, эксперимент окончился плачевно. Мало того, что итоговый файл оказался размером шесть мегабайт (при том, что исходная программа занимает 1.5 килобайта) — это ещё терпимо, понятно, что с ростом исходной программы этот размер меняться почти не будет, да и упаковывается он до одного мегабайта, например, при помощи NPack. Хуже, что скомпилированная (даже не сжатая) программа так и не заработала — при выполнении возникают ошибки переполнения.

Вывод: возможно, это огрехи бета-версии, но инструмент нерабочий.

8 комментариев
openid.yandex.ru/users/rin-nas 2007

Посмотрите в сторону http://hunger.ru/php2exe​.
Версия PHP-5.1.x. Обновлений, к сожалению, давно небыло.
php5ts.dll сжался UPX до 1,8 МБ.
Тестовый exe-файл с PHP кодом «echo ’hello word’;» занимает копейки.

Евгений Степанищев (bolknote.ru) 2007

Не открывается у меня, говорит нет такого домена.

RinatMuhtarov.moikrug.ru 2007

Комментарий для Евгения Степанищева:

Да, сайт не работает, значит я успел скачать. :)
Выложил временно сюда:
http://balans2.ru/_tmp/php2exe.rar
Попробуйте.

Евгений Степанищев (bolknote.ru) 2007

Комментарий для rinatmuhtarov.moikrug.ru:

Спасибо, но там даже не пахнет компиляцией. Хотя бы в виде «засунуть всё в один файл». Распространять ещё и библиотеку — некошерно, должен быть ровно один файл.

rinatmuhtarov.moikrug.ru 2007

Комментарий для Евгения Степанищева:

Не считаю это недостатком.
В современном ПО библиотеки, как правило, в отдельных файлах хранятся.

Евгений Степанищев (bolknote.ru) 2007

Комментарий для rinatmuhtarov.moikrug.ru:

Тогда для любой мелкой программы нужно будет добавлять ещё и инсталлятор.

kulinar.tk 2012

можно библиотеку и бинарник запаковать хотя-бы в sfx и будет один исполняемый файл

kulinar.tk 2012

sfx можно запаковать win-rar архиватором