Portál AbcLinuxu, 10. května 2025 05:28
exec('bash /home/bash/delete.sh');
ale po spuštění PHP obsah souboru neprovede.. Poradí prosím někdo co je potřeba ještě nastavit? Dík
$aaa = exec('bash /home/virt/delete.sh');
if($aaa){
echo "povedlo se";
}else{
echo "nepovedlo se";
}
a vypisuje se "nepovedlo se".. ale chyba právě žádna :(
prava souboru jsou nastaveny na 0777
exec()
vrací - nakopnout stačí :),'/home/virt/delete.sh'
.
$out = ''; $retval = -1; $lastln = exec('/home/virt/delete.sh', $out, $retval); echo "Last line: '$lastln' <br />\n"; echo "Return code: '$retval' <br />\n"; echo " Out: <br />\n<pre>\n"; print_r($out); echo "</pre>\n";script se pustí pod www-data (nebo jiným uživatelem na kterého běží apache), a co může on, to může i ten script.
Last line: '600' Return code: '0' Out: Array ( [0] => 120 [1] => 600 [2] => 600 [3] => 600 )
libor@mojedelo> /home/virt/delete.sha ono by to vypsalo:
120 600 600 600a
echo $?
by vypsalo 0
$out = ''; $retval = -1; $lastln = exec('/home/bash/delete.sh', $out, $retval); echo "Last line: '".htmlspecialchars($lastln)."' <br />\n"; echo "Return code: '$retval' <br />\n"; echo " Out: <br />\n<pre>\n"; var_dump($out); echo "</pre>\n";(No ale pak si uvědomte, že var_dump() vrací více informací)
$out = ''; $retval = -1; $lastln = exec('/home/bash/delete.sh', $out, $retval); echo "Last line: '".htmlspecialchars($lastln)."' <br />\n"; echo "Return code: '$retval' <br />\n"; echo " Out: <br />\n<pre>\n"; foreach ($out as $line) echo htmlspecialchars($line) . "<br />"; echo "</pre>\n";
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.