PHP exec()函数使用apache抛出空数组值,但CLI';好的

PHP exec()函数使用apache抛出空数组值,但CLI';好的,php,arrays,exec,Php,Arrays,Exec,我有这个: 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

我有这个:

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] =>
)
Array
(
    [0] => 
    [1] => 
    [2] => 
    [3] => 
    [4] => 
    [5] => 
    [6] => 
    [7] => 
)
但是从httphttp,输出是:

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] =>
)
Array
(
    [0] => 
    [1] => 
    [2] => 
    [3] => 
    [4] => 
    [5] => 
    [6] => 
    [7] => 
)

这是错误还是字符集问题?

问题在于,当您通过CLI登录时,我们称之为
root的用户。但是,当您通过浏览器(通过Web服务器)进行访问时,它是由另一个用户登录的,我们将
apache

root
有权访问UUID,
apache
没有


特定计算机上的实际用户可能会有所不同。

尝试执行:
var\u dump($result)[0]=>字符串(0)””
@Augwa我不认为这与权限有关,因为我在两种情况下都有相同大小的数组,只是valuestry没有改变
lsblk-没有“UUID”;2> &1
也许您有权在cli上与用户一起查看uuid,而Web服务器没有权限,因此它只返回空字符串。谢谢@Augwa您说得对,这是关于uuid的权限!