我是exec函数的新手,需要帮助执行外部php文件。我的文件代码如下
Script.php(主文件):
<?php
$path = 'C:/xampp/htdocs/user/execute.php';
exec($path, $output,$return);
var_dump($return);
echo "hi"."<br>";
echo "end";?>
execute.php(调用文件):
for($i=0;$i<10;$i++){
echo "hello"."<br>";
}
尝试执行调用文件
答案 0 :(得分:2)
exec
用于执行系统功能,而不是用于运行脚本。 (看看手册,它有帮助:http://php.net/manual/de/function.exec.php)
要实现您想要的功能,您可以将路径传递给php可执行文件并将脚本添加为参数,如下所示:
<?php
$phpExecutable = 'C:/xampp/bin/php.exe'
$path = 'C:/xampp/htdocs/user/execute.php';
exec($phpExecutable." ".$path, $output,$return);
var_dump($return);
echo "hi"."<br>";
echo "end";?>
应该有效。我不知道你的php可执行文件的位置,所以请根据你的位置进行调整。
快乐的编码。
答案 1 :(得分:0)
首先,正如大家在评论中所说,你根本不需要exec()
。您只能include
该文件。
无论如何,exec()
函数执行外部程序。 .php
文件不一个程序,它只是一个由一个名为php的程序执行的脚本。
所以你可以运行它:
exec('php ' . $path, $output,$return);
php
也可能要求您提供其可执行文件的完整路径(如果它在全局范围内不可用)。
答案 2 :(得分:0)
添加
exec("php execute.php > /dev/null &");
解决了我的问题。谢谢所有