我正在运行以下php脚本:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
date_default_timezone_set('UTC');
echo nl2br("Before\n\n");
$out = shell_exec("ls -lart");
echo "<pre>$out</pre>";
echo nl2br("After\n\n");
?>
我根本无法让shell_exec
或exec
工作。上面的脚本产生:
Before
After
但两者之间没什么。
答案 0 :(得分:0)
我认为你的php.ini中禁用了shell_exec
函数。您可以通过
if(function_exists('shell_exec')) {
echo "shell_exec is enabled";
} else {
echo "shell_exec is disabled";
}
打开php.ini并导航到disable_functions
如果在那里列出了shell_exec,请将其删除。
然后重启apache / php handler。
此外,如果启用了安全模式,则此功能将不可用。你需要禁用它。