我在同一目录中有两个文件。我想从命令行执行第一个,这将调用第二个。由于某种原因,这是行不通的。我没有收到任何错误,也没有任何回应。
// test.php
<?php
$value = 123;
exec("php -f test1.php $value");
?>
和
// test1.php
<?php
echo ">>>>>>>>".$argv[1]."<<<<<<<<";
?>
答案 0 :(得分:3)
您没有抓取该命令的输出。这就是为什么虽然命令被执行但你什么也看不见。有几种方法可以做到这一点。这是最常见的:
// 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;
?>