Php 动态创建shell_exec的字符串';行不通
我动态创建一个字符串并将其传递给shell_exec,但这不起作用Php 动态创建shell_exec的字符串';行不通,php,shell,shell-exec,Php,Shell,Shell Exec,我动态创建一个字符串并将其传递给shell_exec,但这不起作用 $b = 'args1'; shell_exec('java -jar jar1.jar '.$b.' args2'); 但当我使用固定字符串时,效果很好: shell_exec('java -jar jar1.jar args1 args2'); 我在想,在某个地方创建的字符串有问题。我不知道如何解决这个问题,任何帮助将不胜感激 那是不可能的。如果显示真实的代码,则设置$b的方式可能有问题。可能需要引用参数,或者在参数周围
$b = 'args1';
shell_exec('java -jar jar1.jar '.$b.' args2');
但当我使用固定字符串时,效果很好:
shell_exec('java -jar jar1.jar args1 args2');
我在想,在某个地方创建的字符串有问题。我不知道如何解决这个问题,任何帮助将不胜感激 那是不可能的。如果显示真实的代码,则设置
$b
的方式可能有问题。可能需要引用参数,或者在参数周围留出空格。在shell命令中插入动态参数时,应使用escapeshellarg()
。@Barmar在每个变量上使用escapeshellarg()可以解决此问题。