制作会社から制作会社じゃない会社に転職が決まりました。制作会社で学んだことを残らず記事にしたいと思います。

パンDKOTORI Blogの公式キャラクター「パンD」です。
コーディングWordPress記事数が多すぎて画面が真っ白になる時の対処法[WordPress]

記事数が多すぎて画面が真っ白になる時の対処法[WordPress]

2015年03月19日WordPress PHP 
記事数が多すぎて画面が真っ白になる時の対処法[WordPress]記事のアイキャッチ画像

大量の記事を1つのページにループで表示しようとすると画面が真っ白になる場合の対処法を紹介します。

まえがき

WordPressで1,000個くらいの大規模な記事データをアーカイブにまとめて一気に表示しようとすると、普通のレンタルサーバーだとループ処理が完了する前に処理が止まってしまいます。
この現象はサーバーのphpの設定で使用するメモリに制限が掛かっていることが原因の場合が多いです。
なのでphp.iniの「memory_limit」の値を変更して制限を外すことが出来る環境であれば、解決できる可能性があります。
しかしながらレンタルサーバーによっては「memory_limit」の値を編集できない場合もあります。

「memory_limit」の制限を外す

php.iniで「memory_limit」の値を変更できるなら解決したようなものです。
「memory_limit」の値を「-1」にしてください。

php.iniを直接編集できる場合は下記の様に設定します。

memory_limit = -1;

サーバーのコンパネからphp.iniを編集する場合は「memory_limit」の値に「-1」と入力してください。

設定が変更されたかどうか確認する

蛇足かもしれませんが。。。
ちゃんと設定が変わったか確認したい場合は、まず下記内容のphpファイルを作成します。ファイル名は何でもいいんですがここでは「info.php」とします。

<?
phpinfo();

「info.php」をサーバーにアップしてブラウザでアクセスしてください。
phpの設定内容が確認できます。表示されている項目から「memory_limit」を探し(文字列検索すると早い)値を確認します。

memory_limitの値を確認します

「-1」になってたらOKです。

まとめ

これだけのために2時間ほどハマったので誰かが同じところで躓かないように記事として残しておきます!
とりあえず3,500件くらいの記事を1ページの中に一気に表示できるのは確認したのですがサーバーのスペックにもよってくるのでしょうか。

ただ3,500件もループ回すとやっぱり重くて使い物になりません。
こんな時にMTみたいに静的ファイルを書き出せないかな~とか思うんですけどググっても「StaticPress」プラグインの情報しか出てこない。
でも「StaticPress」はこの記事執筆時で最新バージョンのWordPress4.1.1で動作しない。

しょうがないのでWordPressで特定のページを静的ファイルに書き出すプログラムを作りました。
といってもプログラム自体はコピペコピペで超簡単だったのですが。

次はWordPressで特定のページだけ静的ファイルに書き出す方法を紹介しようと思います。
本題からずいぶん話が逸れてしまいましたがこの記事が誰かのお役に立てれば幸いです。

シェアするみんなシェアしてね

フォローするフォローする

いつもKOTORI Blogをご覧いただきありがとうございます。Facebook、Twitterを通じて、皆様と交流していき色んな情報を共有していければな~と思ってます。お気軽に登録してください!

基本フォロー返します。

RSSを登録する

RSSはこちらから。

follow us in feedly

Feedly使ってる人はこちらから。

Buy me a Beer

動く!パンDのLINEスタンプ
好きな人にアプローチスタンプ
パンDのLINEスタンプ

関連する記事関連する記事も読んでみてね

コメント