Autor Zpráva
georgex
Profil
Dobrý den, pokoušel jsem se na windows 2003 server (IIS a v něm PHP 5.2.12 přes FastCGI 1.5) spustit příkaz ping.
Upravil jsem práva na spuštění C:\WINDOWS\system32\ping.exe. Pro uživatele IUSR* jsem nastavil full control.
Authentication method používám anonymní přístup pod defaultně nastaveným uživatelem IUSR*.
Ve vlastnostech Web sites mám v záložce domovský adresář nastaveny práva na spustění scripts and executables.
Funkci mám napsanou:
<?php 
        $order = "C:\WINDOWS\system32\ping.exe -n 1 -w 1000 ".$zaznam["ip"];
        exec($order, $output, $retval); 
?>


var_dump($output) mi píše array(0) { }

Myslím si, že je asi někde chyba s právy pro přístup k ping.exe.
Na Apachi v Ubuntu to funguje bez problému.

Děkuji předem za pomoc.
Kajman_
Profil *
Není nutné ošetřit zpětná lomítka? Tedy je buď zdvojit nebo ten řetězec dát do jednoduchých uvozovek (apostrofů)?.
AM_
Profil
Myslím, že vůbec není nutné psát celou cestu k pingu, exec pokud vím spouští příkaz přes shell, takže stačí "ping parametry"
Davex
Profil
georgex:
Pokud je na serveru nainstalován IIS Lockdown, tak je pravděpodobně anonymním uživatelům zakázán přístup do systémových adresářů a spouštění externích programů. Kromě povolení spuštění programu ping.exe musí být povoleno ještě spuštění cmd.exe.

Nevypíšou se nějaké chyby při zapnutém vypisování chyb?
error_reporting(E_ALL);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0