PHP exec ls 问题

PHP exec ls issue

我目前正在调试一些代码,但出现以下错误:ls: invalid option -- '/'。但是,如果我在终端中尝试 $somePath 的值,它会给出结果。为什么我会收到错误消息?

PHP:

exec('ls -A' . $somePath.' | grep .', $output);

终端路径:

ls -A /home/userName/public_html/path/folder

可能你的意思是:

exec('ls -A ' . $somePath . ' | grep .', $output);
// SPACE --^

当 getopt 解析以“-”开头但不以“--”开头的选项时,它会将每个字符视为另一个选项。它以为你传递了选项:'A'、'/'、'h'、'o'、...它只是不接受 '/' 字符。