PHP exec()未返回所有命令输出-OS X

PHP exec()未返回所有命令输出-OS X,php,macos,unix,terminal,Php,Macos,Unix,Terminal,我使用PHP来确定服务器上是否连接了一块硬件。我在MacOSX服务器上使用以下php命令。但并不是所有的结果都会被返回,这让我觉得它们就像是埋在了一个我找不到的数组中 在终端我运行: $ system_profiler SPUSBDataType 输出为: USB Hi-Speed Bus: Host Controller Location: Built-in USB Host Controller Driver: AppleUSBEHCI PCI Device ID: 0

我使用PHP来确定服务器上是否连接了一块硬件。我在MacOSX服务器上使用以下php命令。但并不是所有的结果都会被返回,这让我觉得它们就像是埋在了一个我找不到的数组中

在终端我运行:

$ system_profiler SPUSBDataType
输出为:

   USB Hi-Speed Bus:

  Host Controller Location: Built-in USB
  Host Controller Driver: AppleUSBEHCI
  PCI Device ID: 0x1e2d 
  PCI Revision ID: 0x0004 
  PCI Vendor ID: 0x8086 
  Bus Number: 0x1a 

    Hub:

      Product ID: 0x0024
      Vendor ID: 0x8087  (Intel Corporation)
      Version:  0.00
      Speed: Up to 480 Mb/sec
      Location ID: 0x1a100000 / 2
      Current Available (mA): 500
      Current Required (mA): 0

        FaceTime HD Camera (Built-in):

          Product ID: 0x8510
          Vendor ID: 0x05ac  (Apple Inc.)
          Version: 80.25
          Serial Number: CC2C9C098NDN9KE0
          Speed: Up to 480 Mb/sec
          Manufacturer: Apple Inc.
          Location ID: 0x1a110000 / 3
          Current Available (mA): 500
          Current Required (mA): 500
当我在php中运行相同的命令时:

  exec ("system_profiler SPUSBDataType");
仅返回以下内容:

  USB 3.0 SuperSpeed Bus:
  Host Controller Location: Built-in USB
  Host Controller Driver: AppleUSBXHCI
  PCI Device ID: 0x1e31
  PCI Revision ID: 0x0004
  PCI Vendor ID: 0x8086
  Bus Number: 0x0a
我的完整php如下所示:

  <?php
  $usbDevices = array();
  exec ("system_profiler SPUSBDataType", $usbDevices);
  foreach ($usbDevices as &$value) {
  echo $value .'<br />'; 
  }
  ?>
打印没有帮助,我到处搜索,找不到太多帮助。任何想法。谢谢

更新1

这不是数组问题,只是www似乎无法捕获这些数据。即使将输出通过管道传输到文件,也会得到相同的结果。使用exec我得到的结果非常有限,但是当我在终端中运行相同的命令时,我得到了完整的结果


关于允许www用户访问这些额外数据有什么想法吗?

你确定所有这些都将被标准输出吗?exec默认情况下不会返回stderr输出。@Dagon同样,仍然不工作:random shot:var_dumppassthrusystem_profiler SPUSBDataType'@Dagon nope var_dumppassthrusystem_profiler SPUSBDataType;返回完全相同的值,但带有一个附加的nullsugger选项pipe to file,read file passthrusystem_profiler SPUSBDataType>file.txt';假设这对mac有效?