Avatar billede krydset Nybegynder
25. februar 2004 - 21:34 Der er 12 kommentarer og
1 løsning

Bruge exec i php

Hejsa, jeg har prøvet at bruge
<?PHP
exec("C:\WINDOWS\system32\cmd.exe");
?>


Men får en fejl som denne her

Warning: exec(): Unable to fork [C:\WINDOWS\system32\cmd.exe] in C:\www\pc-dk.dk\test.php on line 2

Og ved ikke rigtig hvad den betyder

Kan i hjælpe mvh
Krydset
Avatar billede gustav-olsen Nybegynder
25. februar 2004 - 21:53 #1
Det betyder at din udbyder, eller dig selv, har fjernet muligheden for at bruge exec() commandoen. Den kan være meget farlig at have åben, man kan jo fx. slette al data på hele disken.

Hvis du selv ejer serveren kan du bare fjerne den sætning i php.ini der forbyder brug af commandoen.

-Gustav Olsen
Avatar billede krydset Nybegynder
25. februar 2004 - 21:58 #2
Oki kigger lige på ini' en engang
Avatar billede krydset Nybegynder
25. februar 2004 - 21:59 #3
Hvor helt præcist skal jeg kigge i php ini
Avatar billede gustav-olsen Nybegynder
25. februar 2004 - 22:01 #4
Jeg kan lige prøve at finde stedet.. :-)
Avatar billede gustav-olsen Nybegynder
25. februar 2004 - 22:04 #5
Hvis du går ind i Notepad kan du jo bare søge (Ctrl+B) efter teksten "exec" (uden quotes self.)...
Avatar billede krydset Nybegynder
25. februar 2004 - 22:04 #6
Jeg finder ikke noget
Avatar billede krydset Nybegynder
25. februar 2004 - 22:05 #7
Jeg får kun noget med save path
Avatar billede gustav-olsen Nybegynder
25. februar 2004 - 22:05 #8
Prøv at paste den kode du har brugt. Jeg blev lige i tvivl om det nu også er det der er galt.
Avatar billede krydset Nybegynder
25. februar 2004 - 22:07 #9
Det er det der sstår øverst
Avatar billede gustav-olsen Nybegynder
25. februar 2004 - 22:10 #10
http://dk2.php.net/manual/en/ref.exec.php - http://dk2.php.net/manual/en/function.exec.php

Du bruger jo windows, så det er åbentbart ikke så nemt at få lov til at eksekverer aandre programmer. Men jeg fandt det her i en af kommentarene i manualen:

<snip>
On WinXP with Apache2 and PHP 4.3.3 you cannot start a program in background with exec and start. you have to do the following. This function should work on Windows and Unix, too.

function execInBackground($path, $exe, $args = "") {
  global $conf;
 
  if (file_exists($path . $exe)) {
      chdir($path);
      if (substr(php_uname(), 0, 7) == "Windows"){
          pclose(popen("start \"bla\" \"" . $exe . "\" " . escapeshellarg($args), "r")); 
      } else {
          exec("./" . $exe . " " . escapeshellarg($args) . " > /dev/null &"); 
      }
  }
}
</snip>

Og en anden en der måske er endnu bedre:

<snip>
After searching the web for some time, I finally found out why I was getting those Unable to pork warnings. I try and still use the
"exec("cmd /c [command]", $array);"

but in Windows XP using this command is not enough. You have to enable the IUSR_xxx user to read both cmd.exe and the file you want to execute. Where xxx is replaced by your computername.
Since Simple File Sharing by default is enabled in WindowsXP you cannot give the IUSR_xxx user access to cmd.exe without doing it in a dos-command-promt.

So open up cmd.exe: Start -> Run -> cmd

use the calcs command to edit the access rights for the files.

e.g.
C:\WINDOWS\system32>cacls cmd.exe /E /G CYPRES\IUSR_CYPRES:R

since CYPRES is my computername, this is the name I will use. When you do the command replace CYPRES with your computer name.
</snip>

-Gustav Olsen
Avatar billede gustav-olsen Nybegynder
25. februar 2004 - 22:24 #11
Prøv at søge efter: "disable_functions" (stadig uden quotes) i din php.ini. Det er der det står, hvis det er det der er problemet.
Avatar billede krydset Nybegynder
25. februar 2004 - 22:30 #12
Oki kigger lidt på det der var da lidt til at starte med du får point her så må jeg spg igen hvis der noget knas
Avatar billede gustav-olsen Nybegynder
25. februar 2004 - 22:32 #13
Ok. Tak skal du have :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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