Execute exe-filer med PHP

Tags:    php

<< < 12 > >>
Jeg har sat en apache-server op på min maskine med php5 og vil gerne kunne udføre en række funktioner med diverse filer som ligger på maskinen. Jeg har fundet ud af at slette filer med unlink() men kan ikke få den til at execute filer....

Det jeg i bund og grund gerne vil er at kunne starte en teamspeakserver op på min maskine via et link på mit website.

har kigget på funktionerne exec() og system(), men kan ikke få nogle af dem til at fungere....

Det skal lige siges at php ikke kører i safe-mode, så det er ikke dette der gør det.

Nogle der kan hjælpe?



19 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Om du kan lave en php fil der eksekvere en anden php fil der eksekvere din exe fil, ved jeg ikke.


Dette forstod jeg ikke lige først, men tror du mente noget lignende dette:

Fold kodeboks ind/udKode 


Det virker også, men køres igen altsammen i baggrunden.



Jeg har fået løst problemet med at programet kører i baggrunden. Det viste sig at Apache skal have tilladelse til at kommunikere med skrivebordet.

Her er hvordan jeg fik det løst:

1) Vælg Start/Kør.../services.msc
2) Højreklik på apache og vælg egenskaber. I fanebladet "Log på" skal der afkrydses i "Tillad tjeneste at fungere interaktivt med Skrivebord"
3) Genstart apache. Højreklik på tjenesten og vælg genstart.

Herefter starter programmerne ikke længere op i baggrunden.


Problemet med at browseren ikke får svar er der stadigvæk...



Med ovenstående får jeg følgende fejl:

"Fatal error: Cannot pass parameter 2 by reference in C:\\AppServ\\www\\webadmin\\notepad_start.php on line 3"

Prøvede herefter at ændre Exec til Run, hvorefter det virkede perfect uden at browseren bare står og venter.

Nu er der så bare opstået et nyt problem. Apache starter notepad som en systemproces, hvilket gør at jeg ikke kan stoppe den med funktionen tskill, som jeg kan når jeg åbner notepad normal. Er der nogen der kender en metode til at stoppe en systemproces?

notepad_start.php
Fold kodeboks ind/udKode 


notepad_stop.php
Fold kodeboks ind/udKode 




det hedder taskkill eller killtask, mener det er den første



hvad med

Fold kodeboks ind/udKode 


Resultat heraf bliver at browseren står og venter indtil du får timeout eller lukker det program, som du lige har åbnet. Herefter skriver den "Fejl!"



det hedder taskkill eller killtask, mener det er den første


Jeg har læst flere steder på nettet at der er noget der hedder taskkill, men det synes der ikke at være på den pc, som jeg sidder ved lige nu og her. (Kører XP Home)

Men der er en funktion som hedder tskill og den virker når jeg starter notepad som alm. bruger, men ikke når den bliver startet som systemproces.



Indlæg senest redigeret d. 13.04.2007 14:33 af Bruger #10228
prøv med tskill notepad.exe /A



Done... Samme resultat



Jeg fandt taskkill på nettet og smed den ind i mappen c:\\windows\\system32, hvorefter jeg kunne bruge denne til at stoppe notepad.exe. Og det virker!

taskkill kan downloade her:
http://www.computerperformance.co.uk/ezine/tools.htm#TaskKill


notepad_stop.php
Fold kodeboks ind/udKode 



Jeg takker mange gange for hjælpen....
Tror jeg har hvad jeg skal bruge nu!



Indlæg senest redigeret d. 13.04.2007 15:14 af Bruger #10228
<< < 12 > >>
t