Avatar billede phpsessid Nybegynder
19. november 2004 - 15:25 Der er 15 kommentarer og
1 løsning

Få apache2 til at sende et argument til en c-applikation

Jeg er i gang med et interface til min computer, og skal i den sammenhæng have lov til at sende argumenter fra en hjemmeside til en c-applikation...

Hjemmesiden ligger på localhost, så ville umiddelbart tro det er noget apache2-stads jeg skal lege med, men aner det ikke...

(f.eks. Http://localhost/index.php?argument=up32, skal sende up32 til c-applikationen)

Jeg har overvejet om det kan lade sig gøre at gøre dette uden at skulle loade c-applikationen hver gang, da jeg har nogle variabler jeg gerne vil gemme... (alternativt skal c-applikationen gemme data i en fil, som den så loader når den starter igen...)

Jeg har pt. Apache2 og php4 installeret

Hvad skal jeg gøre?
Avatar billede arne_v Ekspert
19. november 2004 - 15:35 #1
Flere muligheder:

1)  ->PHP side->native exe (som spawn)

vil loade exe hver gang

2)  ->native exe (via CGI)

vil loade exe hver gang

3)  ->native exe (via isapi eller apache_mod)

vil ikke loade exe hver gang
Avatar billede phpsessid Nybegynder
19. november 2004 - 15:42 #2
Den sidste lyder som en god ide, men hvordan kommer jeg i gang?

"apt-cache search" giver intet output på hverken "isapi" eller "apache_mod" !
Avatar billede phpsessid Nybegynder
19. november 2004 - 15:44 #3
...og på den anden side, php-sagen, hvor nemt er det i forhold til?

...for der er vel ikke noget svært i at gemme værdier i en fil fra en c-applikation?
Avatar billede arne_v Ekspert
19. november 2004 - 15:48 #4
Avatar billede arne_v Ekspert
19. november 2004 - 15:48 #5
Det er ikke så svært at gemme data i en fil fra C, men har du overvejet
flere samtidige brugere ?
Avatar billede phpsessid Nybegynder
19. november 2004 - 15:49 #6
nej, hvis jeg ikke tager fejl, så kan jeg kalde en c-applikation med uendelig mange argumenter?

Jeg skal kun  bruge 8, men variablerne gemmer jeg blot i mysql...

altså enten en løsning med php eller cgi...
Avatar billede arne_v Ekspert
19. november 2004 - 15:51 #7
Med hensyn til at lave et Apache module så tag udgangspunkt i mod_example
Avatar billede arne_v Ekspert
19. november 2004 - 15:51 #8
Du kan kalde en EXE med lige så mange argumenter som du vil
Avatar billede phpsessid Nybegynder
19. november 2004 - 16:14 #9
hvordan får den superuser-rettigheder?
Avatar billede phpsessid Nybegynder
19. november 2004 - 17:15 #10
mht rettigheder:
---
chown root: hello
chmod 4770 hello
---
dette virker ikke:

<?
echo '<pre>';
#system('cat /proc/cpuinfo', $returnvalue);
system('/./home/daniel/scripts/hello', $returnvalue);
?>

hvorfor ikke ? (/./home/daniel/scripts/hello virker)
Avatar billede phpsessid Nybegynder
19. november 2004 - 18:47 #11
tjae, det er således:

chown root: hello
chmod 7777 hello

men hvordan sender man argumenter med?

system('/home/daniel/scripts/hello', $returnvalue);
Avatar billede arne_v Ekspert
19. november 2004 - 19:21 #12
system('/home/daniel/scripts/hello arg1 arg2', $returnvalue);
Avatar billede phpsessid Nybegynder
19. november 2004 - 21:52 #13
ja, det var også det jeg troede, men det virker ikke:

Test:

http://83.73.153.12/sys.php?arg=reset&argumenter=0
http://83.73.153.12/sys.php?arg=reset&argumenter=1

Dette er koden:

---
<?
if($_GET[argumenter]){$arg=" 1 2 3";}
if(($_GET[arg] == "start")||(!$_GET[arg])){$new = "reset"; $now="start";}else{$new = "start";}
echo"<a href='?arg=$new&argumenter=$_GET[argumenter]'>$_GET[arg]</a>";
echo '<pre>';
$tjek = system(" \"/home/daniel/scripts/c/$_GET[arg]$arg\" ", $returnvalue);
if($_GET[debug]){
  echo"<br><br>Sidste linje: $tjek<br><br>Returnvalue: $returnvalue";
}
?>
---
Avatar billede phpsessid Nybegynder
19. november 2004 - 21:53 #14
af sikkerhedsmæssige årsager "system()", har jeg valgt at lukke min apache når jeg ikke er ved min computer...
Avatar billede phpsessid Nybegynder
20. november 2004 - 01:29 #15
i kan tilgå siderne nu... (normalt mellem 17.00 og 0.00)
Avatar billede phpsessid Nybegynder
26. december 2004 - 15:28 #16
Nogen der har et forslag?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester