我正在尝试从另一个PHP脚本中执行php脚本。我似乎无法让它正确传递参数。我做错了什么?
第一个名为
的脚本<?php
$item = "hello";
$item2 = "world";
exec("php scriptToBeExecuted.php arg1=".$item." arg2=".$item2." &");
?>
要执行的脚本
<?php
var_dump($argc);
if (isset($argv))
{
parse_str(implode('&', array_slice($argv, 1)), $_GET);
$item= $_GET['arg1'];
$item2= $_GET['arg2'];;
}
else
{
echo "not set";
}
?>
当我尝试执行此操作时,我在浏览器中没有收到任何输出。这不是主要问题,因为我使用它来进行数据库调用,但就像我说的那样,经过几个小时的烦恼,它将无法正常执行或根本无法执行
答案 0 :(得分:0)
您必须将此脚本作为命令或网页运行。如果是前者,就没有$_GET之类的东西。如果是后者,则没有$argv。试试这个。
第一个名为
的脚本<?php
$item = "hello";
$item2 = "world";
exec("php scriptToBeExecuted.php $item $item2");
?>
要执行的脚本
<?php
var_dump($argc);
if (count($argv) === 3) {
$item= $argv[1];
$item2= $argv[2];
} else {
echo "not set";
}
?>
另见: