我正在使用PHP来查明是否有一块硬件连接到服务器。我在Mac OS X服务器上使用以下php命令。但并不是所有的结果都被归还,让我觉得他们被埋在一个我无法达到的阵列中。
在终端I中运行:
$ 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 />';
}
?>
Print_r没有帮助,我已经四处寻找并且找不到太多帮助。有任何想法吗。感谢
更新1
这不是阵列问题,只是因为_www似乎无法捕获这些数据。即使我将输出传输到文件,我得到相同的结果。使用exec()
我得到的结果非常有限,但是当我在终端中运行相同的命令时,我得到了完整的结果。
有关允许www用户访问此额外数据的想法吗?