多次调用exec()超时

时间:2013-08-27 20:41:16

标签: php vbscript exec

我有一个看起来像这样的php脚本:

if(isset($_FILES["file"]["name"])){
    for($i=0; $i<count($_FILES["file"]["name"]);$i++) {

        // move file to folder
        move_uploaded_file($_FILES["file"]["tmp_name"][$i],
          "/pathToFolder/" . $_FILES["file"]["name"][$i]);

        //execute script on file

        exec('wscript "../Run_Proc.vbs"');

    }
}

try {
    $db = new PDO("mysql:host=".$hostname.";dbname=test;charset=utf8", $username, $password);
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

$query = "SELECT * FROM test ORDER BY temp_id DESC LIMIT 1";
$stmt = $db->query($query);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

echo json_encode($rows);

基本上我通过html页面上传文件并对它们运行外部VBscript。我最初通过将所有文件(一次性)移动到指定文件夹,然后调用VBscript来运行该文件夹中的所有文件(这需要大约3-4分钟)来实现此目的。

所以我决定一次移动一个文件然后为每个文件执行一次脚本,这样我每次执行脚本时都可以通过我的php轻松处理错误。但是,我开始看到超时错误:

Fatal error: Maximum execution time of 30 seconds exceeded

在我的exec()语句之后引用该行。

这对我起初没有意义,因为我的VBscript运行时间超过30秒,没有错误。我猜这与我多次调用exec的事实有关,有人能告诉我这里有什么问题吗?一旦我想知道为什么它没有按预期工作,回到只调用exec()并不是什么大不了的事情: - )

是的,我知道你可以暂时延长时间限制,但似乎我不应该...... VBScript肯定从未运行超过30秒,并且php脚本正在运行相同的时间因此导致这种情况的多次调用是什么?

0 个答案:

没有答案