我有这个:
exec('lsblk -no "UUID" 2>&1', $result);
print_r($result);
在CLI模式下,一切都很好,输出为:
Array
(
[0] =>
[1] =>
[2] => d5b31fcc-ba84-47bc-ab1e-7f71178c791f
[3] =>
[4] => Dj0hJ3-c9C4-B1px-HIYW-DGwi-v9I9-eppfgL
[5] => e266aff1-e6a7-444a-b9b3-2da2f9b71202
[6] => 3fc422ac-0cde-4b54-aab1-cac10d3d5f0b
[7] =>
)
但是,从 http 中,输出为:
Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
)
这是一个错误,还是 charset 问题?
问题是,当您通过CLI登录时,用户将调用root
。但是,当您通过浏览器访问通过Web服务器时,它将使用其他用户登录,我们将apache
。
root
可以访问UUID,apache
无法。
您特定机器上的实际用户可能会有所不同。