Php 带引号的exec()命令无效

Php 带引号的exec()命令无效,php,exec,Php,Exec,我的exec命令看起来像 exec("program.exe -x arg -o "something" $url"); 请注意,这里的必须用双引号括起来,否则该命令将不起作用 我尝试了以下方法,但都失败了 exec("program.exe -x arg -o \"something\" $url"); exec('program.exe -x arg -o "something" $url'); 事实上,我已经有了正确的答案 exec("program.exe -x arg -o \"

我的exec命令看起来像

exec("program.exe -x arg -o "something" $url");
请注意,这里的必须用双引号括起来,否则该命令将不起作用

我尝试了以下方法,但都失败了

exec("program.exe -x arg -o \"something\" $url");

exec('program.exe -x arg -o "something" $url');

事实上,我已经有了正确的答案

exec("program.exe -x arg -o \"something\" $url");
工作完美

最有可能的是,这些替代方案也很有效

exec('program.exe -x arg -o' . '"something"' . $url);

OR

exec('program.exe -x arg -o "something" ' . $url);

事实上,我打错了命令,这就是为什么它不起作用的原因

您不使用escapeshellcmd的原因是什么?这就是它的目的。你知道变量不会在单引号内展开,不是吗?这就是最后一个版本不起作用的原因。@Barmar现在我觉得自己很蠢……发布正确的命令,我会接受你的回答。我不确定你的第二个版本,加上转义引号,为什么不起作用。
exec('program.exe -x arg -o' . '"something"' . $url);

OR

exec('program.exe -x arg -o "something" ' . $url);