我正在尝试将php变量发送到函数,但以下都没有传递变量。
$vars='email=' . $_POST['email'] . '&password=' . $_POST['password'] . '&server=' . $_POST['server'];
$function = 'nohup php unsubscribefunction.php ' . escapeshellarg($vars);
exec($function);
exec('nohup php unsubscribefunction.php ' . $vars);
exec('nohup php unsubscribefunction.php $vars ');
$vars='?email=' . $_POST['email'] . '&password=' . $_POST['password'] . '&server=' . $_POST['server'];
$function = 'nohup php unsubscribefunction.php' . $vars;
exec($function);
以下是the php.net page对此
的说法允许用户提供的数据时 传递给这个函数,使用 escapeshellarg()或escapeshellcmd() 确保用户无法欺骗 系统执行任意 命令。
但是,没有关于如何传递变量的示例,任何见解或示例都将受到赞赏。
答案 0 :(得分:2)
尝试阅读一些帮助here。基本上,您需要确保通过$argc
/ getopt()
或其他方式使用命令行变量。
使用标志调用脚本,如下所示:php myscript.php -a foo -b bar -c baz
测试打印您的参数:
<?php
$arguments = getopt("a:b:c:");
print_r($arguments);
?>
Array
(
[a] => foo
[b] => bar
[c] => baz
)
答案 1 :(得分:1)
这不是你遇到的问题。你不能这样发送变量;您需要使用command line arguments来捕获要放入变量的值。