使用PHP和OpenBSD

时间:2019-07-08 10:54:39

标签: apache unix php-5.6 openbsd

我正在尝试使用ls -l在OpenBSD shell(uname -r: 6.4)上运行一个简单的命令php 5.6

<?php

$output = shell_exec('ls -l');

echo "<pre>$output</pre>";

?>

没有以上代码的输出。在检查元素时只需pre标签 那么,是什么导致了这个问题呢?我尝试使用

使用相同的命令
  1. 系统
  2. Shell_exec
  3. exec

没有运气。这是什么原因? OpenBSD的Php版本或其他版本可能不支持System/shell_exec

谢谢!

1 个答案:

答案 0 :(得分:1)

您没有提供足够的信息来确定答案,但是我的 猜测是您运行phpphp-fpm,默认情况下是chroot 到/var/www。由于shell_exec和系统首先调用/bin/sh,因此您 很可能没有将其复制到var/www/bin/sh,因此找不到您的shell。 之后,您还需要将二进制文件(在本例中为ls)复制到 您的chroot和可能的库依赖关系(文件不需要 在/ bin下)。

希望这对说明有用,但请不要在 生产。