php exec('alpr') returns 安装了 openALPR 的空数组

php exec('alpr') returns an empty array with openALPR installed

我正在编写一个 php 脚本,它利用安装在我的 linux 计算机上的 openALPR。

当我在终端中输入 "alpr --version" 时,我得到了这个输出

alpr  version: 2.2.4

但是当我在 php 脚本中执行此操作时,我得到一个空数组结果。但是任何其他命令都可以正常工作。

这是我的代码片段

$command = 'alpr --version ';
$result = array();

exec($command, $result);

var_dump($result);

如有任何帮助,我将不胜感激

您可能 运行以不同的用户身份从终端执行该命令。

找出哪个用户 php and/or apache 正在使用,然后在终端中切换用户。

再次尝试 运行 命令。

如果找不到该命令,请切换回您自己并键入 which alpr,这将为您提供路径。

然后切换回 PHP 的用户,并确保 $PATH 环境变量包含找到 alpr 可执行文件的文件夹。

此外,请确保可执行文件实际上可由 user/group 执行。如果没有,您需要使用 chmodchownchgrp 来授予 PHP 权限。

如果遇到困难,请发表评论!