Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] kompilacja do exe
Forum PHP.pl > Forum > Przedszkole
-marek-
Witam
Chciałbym skompilować i uruchamiać moje programy jak zwykłe exeki,
przy pomocy np. BAMBALAM Compiler'a http://www.bambalam.se/bamcompile/

kiedy php to czesc strony www, skrypt wyglada mniej wiecej tak

  1. <?php
  2. $pasametr1 = trim($_POST['parametr1']); 
  3. $pasametr2 = trim($_POST['parametr2']); 
  4. if(empty($parametr1) or empty($parametr2))
  5. {
  6. echo "HTMLowy POST form";
  7. }
  8. else
  9. {
  10. //wlasciwa czesc skryptu
  11. }
  12. ?>


Ale jak skrypt ma wygladac kiedy chcemy go skompilowac?
chodzi mi zarowno o parametry wymagane przez program jeden po drugim juz po uruchomieniu, jak i podawane jako parametr uruchamiania np. "php.exe -parametr -parametr2"
jakie jeszcze macie podpowiedzi i jakie moge napotkac problemy przy kompilowaniu php.
marcio
Nie rozumiem chcesz kompilowac kod php??POwodzenia
-marek-
Czyli rozumiesz, sa kompilatory wiec dlaczego nie kompilowac?
Jesli nie masz niz do powiedzenia to zamilcz.
marcio
Buhaha a czemu kompilowac jak jezyk jest interpretowany?Jest w ogole taka mozliwosc?
Gość
oczywsicie ze jest, sa kompilatory, ludzie tak robia, programy dzialaja, tylko ty widzisz jakies problemy...
marcio
Bo nie widze powodu zeby tak robic smile.gif
webdice
Sprawa jest dość prosta, zakładam że masz już kompilator na dysku, załóżmy że znajduję się on w katalogu bamcompile1.21 na dysku d. Otwieramy linię komend (cmd), wpisujemy

Kod
d:\bamcompile1.2


a następnie

Kod
bamcompile.exe [dysk:/katalog/]file.php [dysk:/katalog/]file.exe


np, jeśli plik php znajduję się w tym samym katalogu co kompilator wystarczy wpisać:

Kod
bamcompile.exe file.php file.exe


Jeśli wszystko będzie dobrze, w tym samym katalogu pojawi Ci się plik file.exe.

EDIT: ~marcio, to nie jest głupi pomysł, nie zawsze ma się pod ręką serwer apache oraz php. Swoją drogą wiele tym się nie zdziała.
Gość
skoro sa kompilatory, sa ludzie ktorzy tak robia, skoro powstal ten temat, to jednak sa powody zeby tak robic.
Gość
webdicepl, dzieki za jakas normalna odpowiedz nie ograniczona web-klapkami smile.gif
tylko ze ja sie nie pytam jak kompilowac, przeczyutaj pierwszy post.
Gość
dla uscislenia,
jak napisac skrypt, aby po skompilowaniu i uruchomieniu prosil o parametry?
webdice
Przepraszam, po tej wymianie zdań źle zrozumiałem smile.gif. Nie da się raczej przekazać parametru w taki sposób jak Ty chcesz. Możesz to zrobić za pomocą tablicy _SERVER. Nie będę Ci tu dużo tłumaczył. Skompiluj sobie taki plik:

  1. <?php
  2. print_r ($_SERVER['argv']);
  3. ?>


a następnie wykonaj sobie:

Kod
plik.exe /p1 v1 /p2 v2


Nie jest to doskonały sposób, ale zawsze coś. Od razu mówię że przyda Ci się funkcja array_shitf" title="Zobacz w manualu PHP" target="_manual (bo nie jest Ci potrzebna w tablicy nazwa pliku).
Gość
Da sie.
znajomy tak robil
zarowno program ktory pytal o parametry jeden po drugim juz po uruchomieniu
jak rowniez paremetry ktore odawalo sie wpisujac po skrypt.exe -parametr -parametr
sorki ze nie uzywam fachowych nazw tych metod, ale dawno juz zapomnialem C tongue.gif
nie mam niestety z tym znajomym kontaktu, wiec szukam pomocy php.pl O_o
webdice
Dziś nie mam zbyt dużo czasu, ale jutro na pewno się tym pobawię i napisz do jakich wniosków doszedłem, bo sprawa wbrew pozorom jest dość ciekawa smile.gif.

Pozdrawiam.
Gość
mi sie niestety skonczyly pomysly...
w takim razie czekam i rowniez przesylam pozdrowienia.
NoiseMc
http://us3.php.net/features.commandline

Parametry przekazywane z wiersza polecen zawiera tablica $argv albo tak jak pisal webdicepl przez $_SERVER['argv'].
Odpal sobie ten plik w ten sposob:
Kod
php test.php param_jeden param_2

  1. <?php print_r ($argv); ?>


Do czego to mozna wykorzystac ... do wielu rzeczy ... jezeli ktos zamiast plikow batch albo skryptow shella woli php na przyklad ... albo php gtk smile.gif
Jezeli Twoje skrypty odczytuja parametry z GET albo POST to moze dodaj sobie przed pare linijek ktore do tablic GET / POST przepisuja zmienne z tablicy $argv.
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.