Portál AbcLinuxu, 16. listopadu 2025 05:43
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.