2012-10-01 127 views
0

嗨,我试图从cmd执行一个PHP脚本与通过GET请求给出的一些数据,但我无法得到它等待完成命令出于某种原因。 代码是。PHP不等待执行完成

<?php 
error_reporting(0); 

file_put_contents("query.txt", $_GET['query']); 


exec("php loop1.php"); 
$result=file_get_contents("result.html"); 
echo $result; 
?> 

loop1的代码太复杂了,而不是问题的要点。

+1

你检查'loop1'实际上是否正在运行?如果'php'不在你的父脚本调用的任何shell的路径中,你只会得到一个“没有这样的命令/文件名”的错误。 exec()调用的返回值是什么?尝试将可选的第三个变量添加到exec以捕获调用的退出值 –

+0

可选的第二个变量$输出也可能包含线索 –

+1

是否有您尝试从此PHP脚本运行外部PHP脚本的原因?为什么不只是做一个包含,并让它在当前脚本中运行? –

回答

0

而不是使用隐含的“PHP” CLI工具也许你会通过对给定的更明确的路径有更好的运气安装/平台,即:

$phpcli = '/usr/local/bin/php'; 
exec($phpcli . ' loop1.php'); 

(一定要首先设定$ phpcli包含正确的显式路径到PHP)

+0

我改变了代码,所以它不需要获取请求并从cmd运行,结果是正确的,并且它等待exec完成。 更改为 file_put_contents(“query.txt”,“WWII”); – Evan