我正在尝试在 PHP 中使用 exec(),当通过 Web 浏览器和命令行 shell 使用它时,我得到了不同的结果。
简单的事情:
<?php exec('mount 10.0.0.1:/mnt/test /home/user/test', $output) ?>
从 Web 浏览器调用它不会导致任何内容被挂载并通过命令行 (php-cli) 运行它会导致挂载成功执行。也没有错误返回到 $output 数组。所以我没有什么可以通过的。我以同一个用户的身份运行 web 和 cli,所以这不应该是权限问题。SElinux 被禁用,因此不会阻止任何内容。防火墙也是如此 - 也被禁用。
如何使 PHP exec() 在 Web 浏览器和命令行中的行为方式相同?