情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

WP Super Cache と zlib.output_compression の同時有効化について

WordPress (76) WordPressプラグイン (25) WP Super Cache (3)

zlib.output_compressionを有効にしている最中にWP Super Cacheを有効化して表示されたエラーについてメモします。

zlib.output_compression有効化

最近WP Super Cache使わずにいたのですが、その最中に「zlib.output_compression=1」という記述をphp.iniに追加し、PHPの出力するHTMLを圧縮して出力するようにしました。

本当は、Apache側で圧縮させたいところなのですが、さくらのレンタルサーバでは、圧縮するために使うモジュールである mod_gzip(Apache 1.xの場合)と mod_deflate(Apache 2.0の場合)が利用できないため、最低限の対策としてzlibを使ってhtmlだけでも圧縮しよう、としたわけです(さくらのレンタルサーバでは、管理ページから簡単にphp.iniが編集できます)。

WP Super Cacheを再度有効化すると警告が

それからしばらくして、「WP Super Cacheを有効にしたらどうなるんだろう?」と思っていたのですが、実際にアクセスが集中した関係で有効にする機会が訪れました。そこで、管理画面にある「設定>WP Super Cache」で「キャッシング利用(推奨)」をONにして「ステータスを更新」から有効にしました。すると、次のメッセージが上部に表示されたのです。

警告 ! 圧縮を有効にしようとしましたが、zlib.output_compression が有効になっています。readme ファイルのトラブルシューティング #21 を参照してください。

Zlib アウトプット圧縮を有効にしました !

PHP がサイト訪問者に送るデータを圧縮しています。このプラグインは同じページを何度も圧縮するのではなく、圧縮した出力をキャッシュするだけなので、この機能は無効にすることをおすすめします。また、トラブルシューティングの #21 も参考にしてください。 php.ini の修正については「実行時設定」の説明をご覧ください。

トラブルシューティング #21

このトラブルについては「トラブルシューティングの#21を見てくれ」と書いてあるのですが、直接リンクされているわけではないので、サーバ上のreadmeを見に行きました。実際のトラブルシューティング#21は次のようになっています。

21. If you see garbage in your browser after enabling compression in the plugin, compression may already be enabled in your web server. In Apache you must disable mod_deflate, or in PHP zlib compression may be enabled. You can disable that in three ways. If you have root access, edit your php.ini and find the zlib.output_compression setting and make sure it's "Off" or add this line to your .htaccess:
`php_flag zlib.output_compression off`
If that doesn't work, add this line to your wp-config.php:

`ini_set('zlib.output_compression', 0);`

「If you see garbage in your browser after enabling compression in the plugin」と書かれていますが、実は私の環境の WP Super Cacheの圧縮機能は初期設定の「OFF」です。というわけで、余り気にしてPHP.iniを戻す必要はないのではないかと考えて、PHP.iniはそのままにしておくことにしました。

コメント(0)

新しいコメントを投稿