2010-07-06 12 views
20

Mam aplikację php z wiersza poleceń, którą muszę rozesłać do klienta. Chcę tylko dać im wykonywalny, a nie instrukcje instalowania php;)Kompilator PHP dla Windows

Co to jest dobry kompilator php dla Windows, który zawiera wsparcie dla php 5, curl, TLS i kilku innych bibliotek, których używam?

Potrzebuję kontrolować wykorzystanie pamięci i limitu czasu, więc muszę mieć możliwość używania niestandardowego pliku php.ini. (to powinno być również spakowane w exe, a nie w oddzielny plik).

Dodatkowo, nie chcę, aby kod mógł być łatwo wyodrębniony. Nie jest to ogromne wymaganie, ale wolałbym, aby źródło nie było widoczne w edytorze szesnastkowym.

Mam kilka haseł w Google, ale jeśli ktokolwiek z nich skorzystał, Twoja opinia byłaby nieoceniona.

edit

Gdybym wiedział, że to będzie dystrybuować do klienta, gdy zacząłem, że Użyłem C#. Ale nie zrobiłem tego. Teraz chcą go kupić. Musi być OSTATECZNA PROSTA. jeden plik wykonywalny zawierający interpreter php i mój skrypt plus punkt wejścia, aby uruchomić mój skrypt po uruchomieniu exe.

Byłoby również świetnie, gdyby nie trzeba redystrybuować biblioteki DLL.

Edit2

Jestem szukać somthing wzdłuż linii phc lub roadsend. phc nie obsługuje okien, a roadsend nie obsługuje php5 w oknach.

+6

Ktokolwiek myśli, że to należy na superuser jest hmm ... źle . –

+0

Roadsend obsługuje php 5. Napisałem prosty skrypt php POO testowany pod php 5.6 i skompilowałem go jak czar w środowisku roadsend. – skyrail

Odpowiedz

20

Okej, wymyśliłem to. istnieje program o otwartym kodzie źródłowym o nazwie phc-win. Obsługuje php 5.3.1, kompiluje skrypty do kodu bajtowego (obfuskacja!) I jest prosty w użyciu (ma nawet gui).

Potrzebuje php-embed.ini i jakiejkolwiek biblioteki DLL, której używasz, ale po prostu działa.

Dzięki za wszystkie odpowiedzi wszystkim!

PHC-Win 0.3.1 (c) 2009 Andrew Fitzgerald - [email protected] PHP Wersja: 5.3.1

  • Aby skompilować pojedynczy plik:

    • Wybierz 'Compile pojedynczy plik' z menu Plik.
    • Następnie wybierz plik do kompilacji.
  • Aby zbudować EXE zawierający wszystkie pliki w katalogu i wszystkie podrzędne katalogi:

    • Wybierz „Kompilacja katalog” z menu Plik.
    • Wybierz folder projektu.
    • Wybierz główny plik programu.
    • phc-win następnie rekursywnie skanuje określony katalog.
    • Wszystkie pliki z "php" w dowolnym miejscu rozszerzenia zostaną wkompilowane w pliki .phb .
    • Pliki .phb, wraz ze wszystkimi plikami w drzewie katalogów, zostaną dodane do projektu EXE w postaci .

    • Po EXE został utworzony, użytkownik zostanie poproszony o rodzaju EXE:

      • Windows (nie box DOS) KONSOLA (wyświetla okno DOS).
  • Umieść EXE w tym samym katalogu z wymaganego pliku DLL (ów) i php-embed.ini pliku w razie potrzeby.

+0

Twój problem jest identyczny jak mój. Różnica polega na tym, że wiedziałem, że zamierzam ją oddać, ale teraz, widząc, jak ten projekt jest teraz na żądanie, chcę uniemożliwić jego kopiowanie. Obecnie używam Wampa (ponieważ tak uczyła nas nasza szkoła) i wcześniej nie konfigurowaliśmy serwera Apache i PHP. Jeśli zostanie skompilowany, czy nadal będzie działał z wamp? –

+0

Możesz chcieć sprawdzić ZZEE PHPExe. Jednak sposobem ochrony twojego produktu jest to, aby twój program początkowo wysyłał do centralnej bazy danych MACID komputera, na którym jest uruchamiany, a następnie kazał mu okresowo sprawdzać, który MACID jest ważny i zatrzymywać się, jeśli bieżący MACID, na którym działa, jest Nie jest już aktualny.Dzięki temu można wydać wiele kopii, ale tylko jedna będzie działać na raz. Rodzaj momentów wokół kogoś, kto rozdawał kopie. Pamiętaj o włączeniu sposobu resetowania wszystkiego, aby oryginalny właściciel mógł zostać wybaczony. (Podobnie jak w przypadku nowego pobierania, nowy wewnętrzny numer ID i stary identyfikator są wyłączone.) –

+0

Na podstawie phc-win istnieje narzędzie o nazwie PHPFlexer (http://www.softpedia.com/get/Programming/Debuggers-Dompompilers-Dissasemblers/PHPFlexer .shtml), co bardzo ułatwia kompilację i tworzy samodzielny (i przenośny) EXE. – dkellner

7

Chcesz to: Bamcompile

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

Można użyć WApache też:

http://wapache.sourceforge.net/

A jeśli żadna z tych opcji zadowoli:

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

+0

ZZEE PHPExe jest dokładnie tym, czego chcę. Szkoda, że ​​kosztuje 200 USD. Dziękuję Ci. –

+3

jeśli tego chcą, naładuj je dodatkowymi 200 USD, a otrzymasz narzędzie za darmo. – Zak

+1

Użyłem Bamcompile szeroko w poprzedniej pracy, ale musiałem pracować mój kod wokół jego ograniczeń. ZZEE brzmi świetnie i myślę, że 200 $ to całkiem sprawiedliwe narzędzie, które umożliwi bezpieczną dystrybucję aplikacji ... Koszt prowadzenia działalności, przyjacielu. – Fosco