Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kompilator do exe
Forum PHP.pl > Forum > Przedszkole
iksigrek
Witam.
Poszukuję czegoś, co zrobi mi standalone exe z php.
Mam kilka rozwiań, ale w każdym coś jest nie tak / czegoś brakuje.

Chodzi głównie o to, by kod w php, htmlu JAK RÓWNIEŻ JAVASCRIPCIE poleciał do jednego execa.
Fifi209
Raczej nie ma czegoś takiego... winksmiley.jpg

Na 90% nie ma.

Poza tym php, javascript, html to trzy inne języki.

Możesz sobie przepisać to co w php do np. c++ (oczywiście wcześniej ucząc się c++)

Cytat(blooregard @ 27.08.2009, 13:30:54 ) *
Kod
Raczej nie ma czegoś takiego... Na 90% nie ma.


A na 10% jest:
http://www.bambalam.se/bamcompile/
http://www.scriptol.com/apollo.php


Procentów zabrakło, ale ja tam widzę opcję tylko z php a on prosił aby to był kombajn, który skompiluje php, html i javascript hmm?
erix
Cytat
Raczej nie ma czegoś takiego...

Dobrze, że zostawiłeś 10% tongue.gif

http://www.roadsend.com/home/index.php
Fifi209
Cytat(erix @ 27.08.2009, 14:16:47 ) *
Dobrze, że zostawiłeś 10% tongue.gif

http://www.roadsend.com/home/index.php

Ale niestety, to co Ty podałeś nie mieści się w tych 10%, ponieważ mowa o 3 językach a nie tylko o php. ;>
iksigrek
po za tym brakuje GTK (tu gdzie jestem mam windoze), chyba, że da się to jakoś dossać do wer. 2.9.0 ..

no i nadal pełen nadziei liczę na odnalezienie kombajna ; )..
albo jakiejś ścieżki typu część kodu do X, część do Y, X i Y do Exe i jest wszystko w kupie.
l0ud
Co miałby robić ten plik .exe ? Uruchamiać własny serwer z aplikacją? Odpalać jeden skrypt php i przekierować wejście/wyjście do konsoli?
iksigrek
Robię platformę do zarządzania inform. Nie wnikajmy już dlaczego PHP, a nie inne - skuteczniejsze. Tak akurat wyjszło. Rozległość projektu: średnia z ukierunkowaniem na rozwój do większego. Używane technologie jak w moim pierwszym poście. Jestem mniej więcej w połowie pisania frameworka i staram się skrobać to tak, by miało jak najmniejsze czasy wykonywania - wiadomo.

Taki exec prawdopodobnie skróciłby jeszcze ten czas (najlepiej jak by szło do jak najbardziej zbliżonego do natywnego kodu maszyn - póki co niestety windoza [sam linux przyspieszy sprawę, ale to rozwiązanie nie na dziś] ). Do tego chodzi o ułatwienie dystrybucji na terenie firmy bez konieczności stawiania serwera, dalej - zabezpieczenie przed bezpośrednią ingerencją osób niechcianych do kodu (jeden exec, tylko w określonych miejscach - brak możliwość zabawy przez przeglądarki po standardowych socketach, brak możliwości rozgrzebania serwera = utrudnione przechwycenie danych) - z grubsza tyle.
Riklaunim
Wybrałeś złą technologię do projektu i teraz będziesz musiał obchodzić problemy z tym związane. Generalnie w firmach stosuje się systemy intranetowe utrzymywane przez centralny serwer, a nie mniej lub bardziej niezależne aplikacje działające na komputerach pracowników. Jeżeli to koniecznie musi być aplikacja "desktopowa" na komp pracownika to dobrze radzę - zmień technologię stworzoną do aplikacji desktopowych (.NET, czy też Python/PyQt4 lub inne języki skryptowe z dobrym API bibliotek i frameworków desktopowych).

Roadsend można wykreślić jak na razie bo to kompilować potrafi tylko dość proste skrypty.
iksigrek
Zdaję sobie sprawę, że istnieją znacznie lepsze języki skryptowe niż PHP, dlatego od razu wspominam, by nie poruszać wątku doboru technologii, chyba, że ktoś ma jakieś konkrety ciekawe do podania oprócz tego, że w Pythonie można to zrobić ekonomiczniej np., a Php w ogólnym rozrachunku wykonuje się wolno przy większej złożoności. Właściwie to jednak może nawet dobrze, że wspomniałeś o tym - zapytam więc dlaczego technologia nie jest najlepszym trafem (pomijając tę ergonomie składni i prędkość wykonywania) ?
f1xer
hmm najprościej chyba jest odpowiedzieć sobie na pytanie, czego potrzebujesz? Z twoich postów wynika że chcesz mieć aplikację, którą zainstalujesz na komputerach pracowników. Skoro zatem jest to aplikacja desktopowa to jaki jest sens wykorzystywać PHP questionmark.gif 100 razy łatwiej będzie Ci to napisać w .NET Javie czy innym C++, które to zostały tak zaprojektowane aby łatwo pisało się aplikacje desktopowe, taki .NET ma przecież mnóstwo bibliotek do obsługi np. kontrolek windowsowych, sama implementacja takiej kontrolki DataGrid w PHP byłaby mało opłacalna w porównaniu z tym, że możesz to mieć od razu. Inna sprawa jeżeli wybrałeś PHP bo nie masz wyjścia, nie potrafisz napisać w niczym innym, wówczas możesz stawiać u każdego serwer na localhoscie i instalować skrypt zabezpieczony jakimś np. IONCUBEM ale po co? skoro łatwiej będzie utworzyć jeden serwer intranetowy gdzie użytkownicy będą mogli się zalogować poprzez przeglądarkę / tudzież desktopową aplikację kliencką.
MWL
Czy możesz umieścić aplikację w sieci? Być może dobrym pomysłem będzie wstawienie albo ramki, albo wykorzystanie silnika Mozilli ze wstawioną stroną?
Riklaunim
Cytat(iksigrek @ 27.08.2009, 18:53:54 ) *
Zdaję sobie sprawę, że istnieją znacznie lepsze języki skryptowe niż PHP, dlatego od razu wspominam, by nie poruszać wątku doboru technologii, chyba, że ktoś ma jakieś konkrety ciekawe do podania oprócz tego, że w Pythonie można to zrobić ekonomiczniej np., a Php w ogólnym rozrachunku wykonuje się wolno przy większej złożoności. Właściwie to jednak może nawet dobrze, że wspomniałeś o tym - zapytam więc dlaczego technologia nie jest najlepszym trafem (pomijając tę ergonomie składni i prędkość wykonywania) ?


py2exe stworzy ze skryptu/aplikacji Pythona niezależny plik *exe bez zależności i bez instalacji (odpalasz i działa). Stosuję to do kilku moich aplikacji desktopowych w PyQt4.... Podobnie także masz w Javie, gdzie ludziom możesz zasadzić 1 plik-JAR z całą aplikacją. Itd. Itp.
iksigrek
f1xer, aplikacja nie musi być desktopowa. Po prostu wpadł mi do głowy ten pomysł i miałem nadzieję, że uda mi się przyspieszyć jej działanie + uzyskać kilka dodatkowych profitów. Gdybym miał się brać za coś typowo client-server użyłbym javy(bo jeszcze jako tako pamiętam, choć to to wolne, nawet po kompilacji do natywnego (nie zawsze idzie to zrobić), albo C++ (Tu gorzej, bo dawno temu pisałem w tym i musiałbym sobie wszystko odświeżać dość obszernie w porównaniu do javy sad.gif ).

To co piszę, to rodzaj platformy do zarządzania informacją w jak najbardziej abstrakcyjnym ujęciu (framework + moduły semantyczne z CMSem) - np. moduł prezentacji tekstu (+multimedia) zarządzający artami, newsami czy blogiem - na potrzeby strony WWW, lub służący jako biuletyn informacyjny , błyskawiczny informator w Intranecie, albo system opisu produktu sklepowego. Tak też i inne - np. prezenter informacji bazodanowych czy uniwersalna galeria itp..

Oczywiście projekt który to wykorzysta jako pierwszy już jest w miarę skrystalizowany i dotyczy usprawnienia pracy w pewnej firmie. Mam tylko pewne obawy co do realizacji związane z potocznym określeniem "jeśli coś jest do wszystkiego, to jest do niczego", ale jak na razie wszystko wskazuje na to, że się sprawdzi.

W PHP natomiast to to, bo jest uniwersalny jeśli nie potrzeba przetwarzania w realtime i powszechny, wystarczy postawić serwer na dowolnym systemie, albo shostować gdziekolwiek i lata przez dowolną przeglądarkę... tylko ta ślamazarność.. hmm.. na razie mam nadzieję, że aktywowanie w jednym przebiegu tylko określonych segmentów systemu - wedle zapytania powinno wystarczyć, żeby uzyskać w miarę dobre czasy wykonywania przy stosunkowo dużej złożoności. Nie wiem jednak jak to wyjdzie, kiedy złożoność będzie naprawdę duuuża winksmiley.jpg Pewnie będzie trzeba ciąć ; / .. i stąd m.in. pomysł na kompilacje do natywnego kodu w razie jak by zaczęło się zbyt ślimaczyć, a postęp pracy byłby już w fazie dalece zaawansowanej..
Riklaunim
PHP nie jest i raczej nie będzie w najbliższym czasie uniwersalny winksmiley.jpg Był i jest tworzony jako język dla stron www.
thek
Ja bym się zastanawiał w takim przypadku nad C++ i bibliotekami graficznymi do niego. Ze względów licencyjnych, z tego co kojarzę, odpadnie Ci Qt. A szkoda nieco, bo mógłbyś w nim ostro poszaleć. W końcu w Qt, jakby nie spojrzeć, KDE jest pisane. A to daje pojęcie o możliwościach. Jeśli byś sę na C++ zdecydował to pozostaje Ci używać innych bibliotek, jak GTK czy wxWidgets. Ewentualnie zawsze można skorzystać z jakiegoś IDE w stylu Buildera.
Riklaunim
Qt można stosować do aplikacji zamkniętych. Umożliwia to licencjonowanie LGPL smile.gif
l0ud
Cytat
Ze względów licencyjnych, z tego co kojarzę, odpadnie Ci Qt


Źle kojarzysz tongue.gif QT jest już od dłuższego czasu na LGPL, więc linkować dynamicznie można w chyba każdym projekcie smile.gif

Kompilacja do exe nie jest możliwa - przecież to język interpretowany, możesz chociażby napisać samomodyfikujący się kod, includować wybrane pliki etc. - jakby to miało działać w binarce? Najlepszym rozwiązaniem jest po prostu umieszczenie tego na jakimś serwerze i odpowiednie przygotowanie komputerów w firmie. Nie sądzę, aby problemy wydajnościowe były bezpośrednio związane ze ślamazarnością PHP - bardziej coś nie tak z samym programem.
thek
Dawno już z QT nie miałem do czynienia. Gdy ostatnio w nim pisałem coś, to TrollTech dla projektów komercyjnych wymagał kupna licencji biggrin.gif Coś czytałem o zmianach, ale że nie pisałem w tym to potraktowałem temat po macoszemu winksmiley.jpg
iksigrek
Pewnie, że nie jest uni w szerokim rozumieniu. Jednak chodziło mi bardziej o wystarczające możliwość jakie daje podczas zastosowań związanych z prezentacją informacji (nie koniecznie z wysoce zaawansowaną obróbką tychże). Tak więc - w miarę szybkie odświeżanie, podstawowa obróbka, magazynowanie (realizowane np. przez MySQLa), czy szeroka dostępność (wystarczy dowolna sieć i przeglądarka). Wiadomo, że zawsze znajdzie się coś lepszego, szybszego, skuteczniejszego, ale czasem rozwiązanie będące tuż pod ręką może być wystarczające. Jak skończę ten projekt, wezmę się za coś lepszego ; )

Co do bibliotek i innych tego typu ułatwiajek - zależy mi, by system był w większości autorski (trudno, najpierw się pościeram, potem jednak mam nadzieję czerpać plony adekwatne w miarę ; )). Są różne punkty widzenia na takie podejście ofCozz. Jak na razie mi odpowiada właśnie ten, który prezentuję.

Dzięki waszym odpowiedzią jednak wpadłem na pomysł i zakładam nowy temat http://forum.php.pl/index.php?showtopic=129283
Tu proszę o kwestie związane z kompilacją.

L0ud - z mojego doświadczenia wynika, że wszystko - jeśli tylko zajdzie taka potrzeba / sens - jest do zrobienia - i prędzej czy później da się to zrobić (np. przekonwertować / skompilować w inny sposób / jakoś przerobić ). Nawet, jak wydaje się, że to nie możliwe. Co innego - że na obecną chwilę trudno się do czegoś takiego dokopać. Jeśli chodzi natomiast o czasy wykonywania - czysto teoretyzuje i wybiegam w przyszłość (wolę się zabezpieczyć, jak poziom komplikacji wzrośnie), bo jak na razie nie przekroczyłem (w przybliżeniu) ok. 200 ms przy prostej ścieżce ożywiania kilku segmentów systemu - ładowaniu modów, ich króciutkiego konfiga, łączeniu do lokalnej db i wykonywaniu prostego zapytania do db + wyświetlenie wyniku. Do tego wszystko na dość obciążonym localhoście.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.