PHP shell_exec不会运行ls

时间:2015-03-23 21:42:00

标签: php exec

我正在运行以下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_execexec工作。上面的脚本产生:

Before
After

但两者之间没什么。

1 个答案:

答案 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。

此外,如果启用了安全模式,则此功能将不可用。你需要禁用它。