0

私はかなり長い間これと戦ってきました。サーバーで単純なphpスクリプトを実行しています。これは、各列が20文字以下の最大5列を持つ6つのテーブルから最大15日分のデータを取得します。しかし、何らかの理由で、スクリプトが実行されるたびに、サーバーは 560 MB の RAM を使用していると報告しています。私のホストは一切の責任を否定しているので、私は疑いの利益を与え、私の責任を追うために尻尾を追いかけています. このスクリプトに関する提案や安心感は大歓迎です..

<?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);
}
?>
4

1 に答える 1

0

これは cloudLinux の問題であり、メモリを正確に記録していないことが判明しました。私のホストはついにそれを認め、3か月間壁に頭をぶつけた後、それを修正しました.

于 2012-12-20T04:41:02.513 に答える