/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Kan et PHP script kompileres?
Fra : KV


Dato : 04-04-07 12:03

Jeg har lavet et PHP program, som bliver afviklet på min Linux server med
"php -f myfile.php". Det virker sådan set fint, men jeg vil hellere om man
kan kompilere PHP koden, så filen er en selvstændig eksekvérbar fil - kan
man det?



 
 
Martin (04-04-2007)
Kommentar
Fra : Martin


Dato : 04-04-07 14:30

KV wrote:
> Jeg har lavet et PHP program, som bliver afviklet på min Linux server med
> "php -f myfile.php". Det virker sådan set fint, men jeg vil hellere om man
> kan kompilere PHP koden, så filen er en selvstændig eksekvérbar fil - kan
> man det?

Både og...
Jeg ved ikke om du kan lave det direkte til en exe fil.
Men jeg kunne forestille mig man kunne
Lave en bat fil eller lign, som så eksekvere php -f myfile.php, svjh så
findes php også som en selvstændig exe fil, dog uden en masse extensions.

Du kan også kigge på
<http://www.zend.com/products/zend_guard>
det koster dog knaster, men laver php filer om til dll filer eller lign.

KV (04-04-2007)
Kommentar
Fra : KV


Dato : 04-04-07 14:48

>> Jeg har lavet et PHP program, som bliver afviklet på min Linux server med
>> "php -f myfile.php". Det virker sådan set fint, men jeg vil hellere om
>> man kan kompilere PHP koden, så filen er en selvstændig eksekvérbar fil -
>> kan man det?
>
> Men jeg kunne forestille mig man kunne
> Lave en bat fil eller lign, som så eksekvere php -f myfile.php, svjh så
> findes php også som en selvstændig exe fil, dog uden en masse extensions.

Det er jo også hvad jeg gør nu.

> Du kan også kigge på
> <http://www.zend.com/products/zend_guard>
> det koster dog knaster, men laver php filer om til dll filer eller lign.

Det er ikke til Windows - det skal køre på en Linux/Fedora. Jeg kan se på
deres webside at:
"Deploy your applications on the most widely used platforms: Linux, Windows,
Mac OS X, FreeBSD, Solaris, AIX."
Men hvad det betyder, ved jeg ikke? Får man dermed én eksekvérbar fil, som
ikke kræver PHP installeret på systemet eller skal man stadigt kalde sin PHP
engine på systemet?

Jeg er såmen ikke ude på at skjule koden - det er mig ligemeget, da det er
et open source projekt. Jeg er bare ude på, at undgå at skulle kalde PHP'en
fra en shell fil. Det giver flere process ID's og det ser ikke professionelt
ud, når en bruger installere projektet og kan se i sit process-træ, at et
shell script kalder PHP engine med en fil.



Bjarne Bue (04-04-2007)
Kommentar
Fra : Bjarne Bue


Dato : 04-04-07 22:02

KV wrote:
>>> Jeg har lavet et PHP program, som bliver afviklet på min Linux server med
>>> "php -f myfile.php". Det virker sådan set fint, men jeg vil hellere om
>>> man kan kompilere PHP koden, så filen er en selvstændig eksekvérbar fil -
>>> kan man det?
>> Men jeg kunne forestille mig man kunne
>> Lave en bat fil eller lign, som så eksekvere php -f myfile.php, svjh så
>> findes php også som en selvstændig exe fil, dog uden en masse extensions.
>
> Det er jo også hvad jeg gør nu.
>
>> Du kan også kigge på
>> <http://www.zend.com/products/zend_guard>
>> det koster dog knaster, men laver php filer om til dll filer eller lign.
>
> Det er ikke til Windows - det skal køre på en Linux/Fedora. [...]

Du kan indsætte følgende i toppen af din php-fil:

#!/usr/bin/php

og gøre filen eksekverbar med chmod +x myfile.php - så kan du køre den
direkte fra kommandoprompten. Det er dog ikke det samme som at kompilere
filen, php-parseren vil stadig blive kaldt, men det sker implicit.

/ Bjarne

KV (05-04-2007)
Kommentar
Fra : KV


Dato : 05-04-07 00:39

> Du kan indsætte følgende i toppen af din php-fil:
> #!/usr/bin/php

Tak, det var en idé - det gør det lidt mere okay, at køre det på den måde.



Martin (05-04-2007)
Kommentar
Fra : Martin


Dato : 05-04-07 14:44

KV wrote:
>> Du kan indsætte følgende i toppen af din php-fil:
>> #!/usr/bin/php
>
> Tak, det var en idé - det gør det lidt mere okay, at køre det på den måde.
>

Åhh.. jeg havde forstået det på den måde at du ville sende php filen via
en CD eller lign. til en anden person som ikke har PHP installeret :)

Michael Rasmussen (04-04-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 04-04-07 22:20

On Wed, 4 Apr 2007 13:02:48 +0200
"KV" <nospam@REMOVE.gmail.com> wrote:

> Jeg har lavet et PHP program, som bliver afviklet på min Linux server
> med "php -f myfile.php". Det virker sådan set fint, men jeg vil
> hellere om man kan kompilere PHP koden, så filen er en selvstændig
> eksekvérbar fil - kan man det?
>
>
Der er mange bud, søg selv gennem google (php compiler). Et par bud:
exe/elf32: http://www.roadsend.com/home/index.php?SMC=1&pageID=compiler
SIL: http://www.php-compiler.net/doku.php


--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.

Johan Holst Nielsen (05-04-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 05-04-07 06:18

KV wrote:
> Jeg har lavet et PHP program, som bliver afviklet på min Linux server med
> "php -f myfile.php". Det virker sådan set fint, men jeg vil hellere om man
> kan kompilere PHP koden, så filen er en selvstændig eksekvérbar fil - kan
> man det?

hmmm nej det er ikke kompileres du er ude efter (når jeg læser de andre
indlæg) men blot det kan ekskvereres direkte fra prompten ikke?

Det kan du sagnes :)

F.eks. skal en fil se således ud:
#!/usr/bin/php
<?php
echo "hej med dig";
?>

Altså huske #!/usr/bin/php (eller hvor din php nu er placeret - find den
eventuelt med `which php`).

Er det ikke noget ala det du er ude efter?

(I øvrigt - husk at chmod filen bagefter - således den er ekskverbar :)

mvh
Johan

KV (05-04-2007)
Kommentar
Fra : KV


Dato : 05-04-07 11:57

> hmmm nej det er ikke kompileres du er ude efter (når jeg læser de andre
> indlæg) men blot det kan ekskvereres direkte fra prompten ikke?
> F.eks. skal en fil se således ud:
> #!/usr/bin/php
> <?php
> echo "hej med dig";
> ?>

Det er skam allerede foreslået i gruppen og det bruger jeg også. Men....
hvis muligt, ville jeg stadigt hellere kompilere PHP koden således, at der
ikke køre en process der hedder " /usr/bin/php /usr/sbin/myprog". Jeg vil
hellere have at programmet kun hedder "myprog", da det er nemmere for
brugeren at identificere programmet - og det ser mere professionelt ud.




Peter Brodersen (09-04-2007)
Kommentar
Fra : Peter Brodersen


Dato : 09-04-07 22:23

On Thu, 5 Apr 2007 12:57:20 +0200, "KV" <gt@gmail.xyz.com> wrote:

>Det er skam allerede foreslået i gruppen og det bruger jeg også. Men....
>hvis muligt, ville jeg stadigt hellere kompilere PHP koden således, at der
>ikke køre en process der hedder " /usr/bin/php /usr/sbin/myprog". Jeg vil
>hellere have at programmet kun hedder "myprog", da det er nemmere for
>brugeren at identificere programmet - og det ser mere professionelt ud.

Overordnet er det vel samme "problemstilling" i systemer, der fx kører
en håndfuld perlscripts til administration. Jeg ved ikke om det
betragtes som et reelt problem i brugerkredsene.

--
- Peter Brodersen
Kendt fra Internet

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste