php-fpm 无法运行 exec 或 shell_exec

php-fpm 无法运行 exec 或 shell_exec

我有 OpenBSD 5.6 和 php-fpm、nginx。

默认 chroot 在 /var/www 上

我尝试:(test.php)

<?php
if(function_exists('exec')) {
    echo "exec is enabled";
}else{
   // it's not
echo "exec is disabled";
}
echo "<br>";
if( ini_get('safe_mode') ){
   // safe mode is on
echo "safe_mode is enabled";
}else{
   // it's not
echo "safe_mode is disabled";
}
echo "<br>";
echo exec('whoami');
?>

浏览器仅打印:

exec is enabled 
safe_mode is disabled

我尝试改变:

echo exec('whoami');

echo exec('/usr/bin/whoami');

但 exec 不起作用

我已经在终端尝试过了;

# sudo -u www php-5.5 test.php
exec is enabled<br>safe_mode is disabled<br>www

所以我认为整个问题出在 php-fpm 上。

我能帮忙吗?

答案1

它是 OpenBSD,并且默认情况下是 chrooted —— 你自己也这么说过。

whoami您的 PHP 脚本无法访问诸如 之类的命令。这是设计使然。

相关内容