2012-11-23 52 views
0

我打算让一个PHP文件运行另一个PHP文件。第二个文件的运行时间相当长。这就是为什么我不会简单地使用include或require。相反,我使用以下操作。使用exec()从php文件运行php文件失败

exec('php5 /full/path/to/the/other/file.php > /dev/null 2> /dev/null < /dev/null &'); 

但不是运行预期的文件,该文件是不是再次调用本身,thery再次调用自身,并依此类推,直到我从文件中删除exec()命令。

如果我将exec()命令的内容在命令行上运行,它将按预期运行。

我在做什么错?

+0

我刚刚发现,如果我从命令行运行第一个脚本(包含exec命令的脚本),一切都按预期工作。意外的行为只发生在我通过浏览器运行文件时。 – Majiy

回答

0

尝试把你的php5可执行文件(whereis php5)的完整路径。 exec()不会在您在shell时所在的环境中运行,所以PATH环境变量可能没有php5的路径。

+0

试过这个,和以前一样。 – Majiy