2016-05-03 10 views
0

WPサイトにopenhouse-and-openroadテーマとToolset Typesプラグインがあります。致命的なエラー:wp-includes wp-db.phpの1821行目に134217728バイトの空きメモリサイズ(5196452バイトを割り当てようとしました)

私のサイトには30kの投稿があります。 (テーブルの318990行、ポストメタテーブルの336982行)。

その私が各ポストのために周り15-20画像、(各画像はpostsテーブルに新しい行を作る)

を持っているので、私はメモリ関連の問題はSOとWPのフォーラムで何回か尋ねたが、すべてのことを知っています人々はメモリの制限を増やすことを提案しますが、私はそれを増やしたくありません。 webite全体が私のlocalhost(Core i7、8 GB RAM)に配備されているので、ここでうまくロードする必要があります。

本当の問題私のサイト上で

他のページには、単一のポストとの1を除いて、細かいロードし、それは多分1分、あまりにも長くかかります。誰かが何が間違っているかも教えてもらえますか?

WPがそのような数の投稿(20k以上)を処理できないことは本当ですか?

すべてのキャッシュプラグインを試しましたが、その単一の投稿ページはまったく読み込まれません。

+1

出力バッファにロードされているポストが最大メモリ制限を超えているようです。 – SyntaxLAMP

+0

「<?php while(have_posts()):the_post();あなたのテンプレートの "single.php"に "?>ループでカウンタを制限しようとしましたか? –

+0

はい、私もそのループを削除しました。影響はありません – Umair

答えて

0

Because the whole webite is deployed on my localhost (Core i7, 8 GB RAM) so it should load fine here.

これは、PHPのメモリ制限にはあまり関係ありません。 PHPのメモリ制限は、しばしば128Mのようなかなり低い値に設定されます。いくつかの対策でサイトの効率を上げようとしているように思えますが、現在のPHPのメモリ制限の要件を超えて成長したばかりです。私はあなたのphp.iniをチェックアウトし、現在の制限が何であるかを見ることをお勧めします。私は試してみると、それが動作するかどうかを確認するために、限界まで256Mのメモリを約128M追加しようとします。 Apacheを(おそらく正常に)再起動するようにしてください。

0

通常は、IDEを使用する必要があります。 Netbeans/PHP(xdebugと組み合わせて)。 xdebugでプロファイリングオプションを有効にし、コード内の部品のリソース消費量を調べます。 Cachegrindは、生成されたプロファイリングデータファイルのビューアです。

説明されている動作は、データの不整合により無限再帰が発生する可能性があります。

テーマをテストして一部のプラグインを一時的に無効にすることもできます。

関連する問題