1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.

Компилируем PHP в Win приложения

  1. b3
    [COLOR="#black"]Компилируем PHP в Win приложения[/COLOR]

    Что нам понадобится скачать:
    1. winbinder - Фреймворк для разработки ГУИ, легкий в использовании.
    Скриншот программы
    2. Bambalam PHP EXE Compiler/Embedder - Компилятор PHP скриптов. Качаем последнюю версию.
    Мини фак по использованию:
    Далее будет подробно...
    3. UPX - Компресор, чтоб наше приложение на выходе было не таким весомым. В bamcompile он уже есть, но я качал последнюю версию с SVN'a.
    4. Иконка =) для нашего приложения, допустим эта - ЙА ИКОНКО
    5. php_winbinder.dll - библиотека для создания окон, это нужно для того что в некоторых версиях bamcompile к примеру в последней версии на данный момент 1.21 некоректно работает с окнами и создает нерабочие приложения, данная либа решает эту проблемму.

    [COLOR="#black"]Подготовка[/COLOR]

    1. Создаем на Диске C: файл cmd.bat с содержимым:
    2. Создаем там же папку bamcompile, в нее кидаем:
    bamcompile.exe - компилятор
    favicon.ico - иконку
    php_winbinder.dll - библиотеку
    upx.exe - упаковщик
    И обязательно папку include из установленой программы WINBINDER по умолчанию путь к ней C:\WinBinder\phpcode\include в етой папке класс для работы с Формами.
    Вот в принцыпе и все. Перейдем к небольшому примеру:

    [COLOR="#black"]Пример[/COLOR]
    1. Запускаем наш cmd.bat в него закидываем bamcompile.exe[пробел]
    Теперь нужно указать все параметры:
    2. Ставим иконку:
    Подсказка: в окно консоли можно закидывать файлы, и путь будет прописываться автоматом, ненужно писать все пути вручную.
    3. Добавляем библиотеку
    4. Далее указываем что ето Оконное приожение а не консольное (-w) и то, что мы хотим его запаковать пакером UPX (-c)
    5. Указываем путь к скрипту который компилим:
    Готово, если сделали все правильно, то в папке где был скрипт появится EXE файл, упакованый и с иконкой. На скрине удачно выполненый нерультат:

    Для примера я взял готовый php скрипт, с коментариями. Скрипт скапипизжен с http://www.codenet.ru/webmast/php/PHP-Compiler-EXE/
    PHP:
    <?

    // Подключаем основную библиотеку
    include "include/winbinder.php";

    // Даём метки окнам редактирования
    define('IDC_EDITBOX1002'1002);
    define('IDC_EDITBOX1003'1003);

    // Рисуем окошко
    $winmain wb_create_window(null,
            
    AppWindow,
            
    'MD5 Hash Generator by S1B [SBT]',
            
    WBC_CENTERWBC_CENTER315134,
            
    0x000000000);

    // Шпигуем окошко кнопками

    # Рисуем рамочку
    wb_create_control($winmainFrame''10102908500x0000000000);
    # Рисуем надписи (лейблы)
    wb_create_control($winmainLabel'Текст:'2335451500x0000000000);
    wb_create_control($winmainLabel'Hash:'2365451500x0000000000);
    # Рисуем окошки редактирования (нижнее будет неактивным), и загоняем их данные в переменные
    $text=wb_create_control($winmainEditBox''783021020IDC_EDITBOX10020x0000000000);
    $hash=wb_create_control($winmainEditBox''786021020IDC_EDITBOX10030x0000004000);

    // Две необходимые надписи =)
    wb_set_handler($winmain"process_main");
    wb_main_loop();

    function 
    process_main($window,$id) {
      
    # Объявляем данные окошек редактирования глобальными
     
    global $text,$hash;
     switch(
    $id) {
      case 
    IDC_EDITBOX1002:
        
    wb_set_text($hash,md5(wb_get_text($text)));
      break;
      case 
    IDCLOSE:
       
    wb_destroy_window($window);
      break;
     }
    }

    ?>
    В результате имеем программу с приятным интерфейсом


    Все файлы, можно скачать с моего архива - http://b3.grabberz.com/files/bamcompile.rar [3mb]
     
    2 пользователям это понравилось.
  2. Спасибо большое!
     
  3. amazing tutorial, I don't know than create file php into .exe.
    Thanks for your sharing :)
     
  4. Ну не пишеться людям на обычных компилируемых языках) Край надо php скомпилить.