2012-05-10 11 views
0

我一直在争取这一段时间,我在我的服务器上运行一个简单的PHP脚本,它从6个表中拉出最多15天的数据值,每个表中最多有5个每栏不超过20个字的列。但由于某种原因,每次脚本运行时,服务器都会报告它使用560兆RAM。我的主人已经否认了任何责任,所以我给了我怀疑和追逐我的尾巴的尝试和错误。对此脚本的任何建议或reassurances将不胜感激..Maxing出基本的php脚本服务器内存

<?php 
$json = file_get_contents('php://input'); 
$data = json_decode($json); 
require_once('xxx'); 

$date = ""; 

if ($data === null) { 
    echo 'Invalid Access'; 
} else { 
    foreach ($data as $date) { 
    } 
    $tables = array('Seizures', 'medlist', 'Output', 'Feeds', 'HydKeto', 'MedLogs'); 
    global $dbc; 
    $rows = array(); 

    foreach ($tables as $table) { 
     if ($table != 'medlist') { 
      $query = "SELECT * FROM $table WHERE timestamp > '$date'"; 
     } else { 
      $query = "SELECT * FROM $table WHERE status!='dc'"; 
     } 
     $sth = mysqli_query($dbc, $query); 
     if ($sth != null) { 
      while($r = mysqli_fetch_assoc($sth)) { 
       $rows[$table][] = $r; 
      } 
     } 
    mysqli_free_result($sth); 
    } 
    echo json_encode($rows); 
} 
?> 
+0

此脚本之后$行中有多少数据? PS:你可以在一个查询中使用'UNION' – zerkms

+0

我看到SQL注入的可能性。你可以吗? – spender

+0

你从'php:// input'中取得了什么? –

回答

0

原来这是一个cloudLinux问题,没有记录准确的内存。我的主人终于承认了它,并在将我的头撞在墙上3个月后将其固定。