Php

php-fpm 對我 exec 或 shell_exec 不起作用

  • June 3, 2015

我有 OpenBSD 5.6 和 php-fpm、nginx。

預設在 /var/www 上被 chroot

我試試:(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');

但執行不工作

我已經在終端嘗試過;

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

所以我認為整個問題出在 php-fpm 中。

我能幫忙嗎?

它是 OpenBSD,預設情況下它是 chrooted —— 你自己也這麼說的。

whoami您的 PHP 腳本無法訪問諸如此類的命令。這是設計使然。

引用自:https://serverfault.com/questions/695703