1

最初は128MBの設定に記載されていたのですが、このエラーが出て、メモリが足りないのではないかと思い、256MBに増やしましたが、エラーが続きます。

このエラーのあるコード内の文字列:

function clean($str) {
$clean_str = stripslashes (trim($str));
return $clean_str;
}

// clean slashes
foreach($result[$i] as $key=>$value) {
 if($key=="currency") continue;
 $result[$i][$key] = clean($result[$i][$key]);
}

なぜこうなった ?

4

3 に答える 3

4

を変更して、現在プロビジョニングされているものよりもphp.ini大きくします。512MB は、現代のアプリケーションでは珍しいことではありません。memory_limit

于 2013-12-10T04:53:09.813 に答える
0

256MB (最近のデフォルト、および 268435456 バイトに相当する量) は、スクリプトにとって大量のメモリであるため、それを超えている場合は、最初にいくつかのシナリオを確認する必要があります。

無限ループはメモリ制限を使い果たします:

var $storage = null;
while(true){
  $storage += 'infinity!'; // Or something even more resource requiring.
}

または、データベースからデータをプルしているときに、大量のデータを含むテーブルから大量のデータを誤ってプルしすぎて、SQL ステートメントに制限がない場合、php スクリプトのメモリが使い果たされる可能性があります。

select * from users where true; // On a million-row table, this could do it.

したがって、一般的に、このメッセージはスクリプトがメモリを使い果たしていることを示していますが、通常は制限を上げるための呼び出しではなく、スクリプトが誤動作している理由を突き止めるための呼び出しです。

于 2014-02-22T00:18:50.147 に答える
0

約 1 日半前に、プラグインを有効にしようとしたときに、エラー ログにこれらのエラーが突然表示されました。これが空白/白い画面を引き起こしていました。

「mod_fcgid: stderr: PHP 致命的なエラー: 行 1329 の wp-content/plugins/w3-total-cache/lib/W3/ConfigKeys.php で 268435456 バイトの許容メモリ サイズが使い果たされました (491520 バイトを割り当てようとしました)」

「mod_fcgid: stderr: PHP 致命的なエラー: 行 1329 の wp-content/plugins/w3-total-cache/lib/W3/ConfigKeys.php で 268435456 バイトの許容メモリ サイズが使い果たされました (491520 バイトを割り当てようとしました)」

php.ini または .htaccess で memory_limit を上げても問題は解決しませんでした。Plesk を使用して、ドメインの php 設定に移動し、セーフ モード オプションを「デフォルト」または「オフ」から「オン」に変更する必要がありました。

于 2014-08-14T20:06:15.180 に答える