我在同一个目录中有两个文件。我想从命令行执行第一个命令,这会调用第二个命令。由于某种原因,这是行不通的。我没有收到任何错误,也没有任何回应。在另一个php脚本中执行一个php脚本(带参数)
// test.php
<?php
$value = 123;
exec("php -f test1.php $value");
?>
和
// test1.php
<?php
echo ">>>>>>>>".$argv[1]."<<<<<<<<";
?>
我在同一个目录中有两个文件。我想从命令行执行第一个命令,这会调用第二个命令。由于某种原因,这是行不通的。我没有收到任何错误,也没有任何回应。在另一个php脚本中执行一个php脚本(带参数)
// test.php
<?php
$value = 123;
exec("php -f test1.php $value");
?>
和
// test1.php
<?php
echo ">>>>>>>>".$argv[1]."<<<<<<<<";
?>
你没有抓住那个命令的输出。这就是为什么尽管执行命令你什么也看不到的原因。如何做到这一点有几种方法。这是最常见的:
// test.php
<?php
$value = 123;
// will output redirect directly to stdout
passthru("php -f test1.php $value");
// these functions return the outpout
echo shell_exec("php -f test1.php $value");
echo `php -f test1.php $value`;
echo system("php -f test1.php $value");
// get output and return var into variables
exec("php -f test1.php $value", $output, $return);
echo $output;
?>
是否有一个原因,你不能使用'include('test1.php');'并让test1.php echo'$ value'? –
test1.php应该在循环内执行并使用参数。由于我无法修改这第二个脚本,我需要找到一种方法来执行它的参数。 – Augusto
如果你知道第二个脚本中变量的名字,它仍然可以完成,但我认为在这种情况下hek2mgl的答案会更好。 –