PHP从shell脚本获取变量

PHP从shell脚本获取变量,php,shell-exec,Php,Shell Exec,php如何从shell脚本中获取变量。 我有:shell_exec('php/var/www/html/test/kobi.php$param1') 我想在kobi.php中收到$parm1 我试着用:$imsi=$argv[1] 但它不起作用。 有人能解释一下怎么了吗? 我该如何更正此错误?您使用了错误的函数,请尝试使用exec exec(字符串$command[,数组和$output[,int和$return\u var]] 也要用这个 否则有人会接管你的服务器 更新 是字符串文字,因此

php如何从shell脚本中获取变量。 我有:
shell_exec('php/var/www/html/test/kobi.php$param1')
我想在kobi.php中收到
$parm1
我试着用:
$imsi=$argv[1]
但它不起作用。
有人能解释一下怎么了吗?

我该如何更正此错误?

您使用了错误的函数,请尝试使用
exec

exec(字符串$command[,数组和$output[,int和$return\u var]]

也要用这个

否则有人会接管你的服务器

更新


是字符串文字,因此您的输入是
$param1
文字,而不是它的值。顺便说一句您可以使用
双引号进行变量插值。

它不包含任何内容….,因为在
shell_exec
内部执行的脚本在单独的线程中运行,
$argv
用于此线程。我松散地使用了“线程”一词。PHP实例可能更“合适”“还是不行。通过echo$output,我得到了一个空数组
echo
?因为
print\u r()
var\u export()
var\u dump()
是用于数组的,所以不能回显数组。对不起,我是想打印函数的。我该怎么办?然后在命令行上运行脚本,看看它是否输出了任何内容,很可能没有。@K.D-检查您的引号
vs
   $param1 = escapeshellarg( $param1 );
   exec('php /var/www/html/test/kobi.php $param1', $output );
'php /var/www/html/test/kobi.php $param1'