2012-05-10 33 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個月後將其固定。