系统相关
首页 > 系统相关> > 将多个PHP变量传递给shell_exec()?

将多个PHP变量传递给shell_exec()?

作者:互联网

我使用shell_exec方法从PHP调用test.sh.

$my_url="http://www.somesite.com/";
$my_refer="http://www.somesite.com/";
$page = shell_exec('/tmp/my_script.php $my_url $my_refer');

但是,命令行脚本说它只收到一个参数:/tmp/my_script.php

当我将呼叫更改为:

码:

$page = shell_exec('/tmp/my_script.php {$my_url} {$my_refer}');

它说它接收了3个参数,但是argv [1]和argv [2]是空的.

当我将呼叫更改为:

码:

$page = shell_exec('/tmp/my_script.php "http://www.somesite.com/" "http://www.somesite.com/"');

该脚本最终按预期接收所有3个参数.

您是否始终只需使用脚本发送带引号的文本,并且不允许发送像$var这样的变量?或者有一些特殊的方式你必须发送$var?

解决方法:

需要使用配额发送参数,因此您应该使用它:

$page = shell_exec("/tmp/my_script.php '".$my_url."' '".$my_refer."'");

标签:shell-exec,php,shell
来源: https://codeday.me/bug/20190923/1813411.html