概要
WordPressを使っていると、とつぜんページの保存ができなくなったり、メディアなどの画面が永遠に読み込み中になって表示されないことがあります。今回は、これらの不具合をなんとかしようというものです。今回紹介する方法は、上から準に試していくことをオススメします。
設定などを変更する前に
まず、根本的に、遅延しているなどネットワークに異常が発生していたりすれば、WordPressの動作も重くなります。もしも、ネットワークのせいなのであれば、たとえばスマホを使ってページを見てみるのも手です。携帯電話のデータ通信ではうまくいくのに、家のパソコンでは不具合が出る場合など、まずご自分が使っている環境が、正しく動作する環境であることを確認してから下記の操作を行うことを強くオススメします。
喫茶店のWiFiなどでネットが重いのに、サーバの設定を疑って設定を変えたりすると、どつぼにハマる可能性もありますので、十分に御注意ください。
ubuntu特有のこと
ubuntuでは、定期的(1時間に2回)にPHPのセッションをぶった切る仕組みが入っています。こんなことをすれば、WordPressで不具合が出かねないので、これを停止します。
その1 PHPのセッションを定期的に切りに行くcronを再設定させなくする
stop phpsessionclean.timer
systemctl disable phpsessionclean.timer
その2 PHPのセッションを切りに行く処理を呼び出すCRONを停止
vi /etc/cron.d/php
このファイルを開いたら、cronのエントリを削除するか、コメントアウト(先頭に#を入れる)する。
# 09,39 * * * * root [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi
オートセーブを停止する
wp-config.php
サーバ上に保存されている「wp-config.php」を編集します。この方法は、オートセーブの間隔を1日にするもので、完全に停止するものではないので、気持ち悪い場合は、次の方法を併用してください。
define('AUTOSAVE_INTERVAL', 86400);
functions.php
functions.phpを編集します。ワードプレスの管理者画面で、外観 → テーマエディターを選択し、テーマエディターで「functions.php」を選択して、以下のコードを貼り付けます。
add_action( 'admin_init', 'disable_autosave' );
function disable_autosave() {
wp_deregister_script( 'autosave' );
}
必要なパッケージを全てインストールする
WordPressを使う際に入っていたほうが良いPHPのパッケージを全て入れます。筆者はこれで解決したことがあります。
apt install php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath install php-curl php-gd php-xmlrpc php-soap php-intl
systemctl restart apache2
ブラウザのキャッシュを全て消去する
ブラウザのキャッシュとクッキーのクリア
ブラウザのアドレスバーに「chrome://settings/clearBrowserData」を入力してエンターキーを押します。
DNSキャッシュを消去する
コマンドプロンプトを開いて以下のコマンドを入力
ipconfig /flushdns
Web表示の高速化用SPDYソケットのクリア
ブラウザのアドレスバーに以下を入力してエンターキーを押す
chrome://net-internals/#events&q=type:SPDY_SESSION is:active
ソケットプールのクリア
ブラウザのアドレスバーに以下を入力してエンターキーを押す
chrome://net-internals/#sockets
ブラウザのリセット
この方法は最終手段なので、上記のコマンドを全部入れても改善しないときにやってみてください。
ブラウザのアドレスバーに以下を入力してエンターキーを押す
chrome://settings/resetProfileSettings
Logitecのトラックボールのドライバが悪さする
ロジテックのトラックボールのソフトを常駐させないようにしていた場合も同じような不具合が出ますが、ブラウザ上のタブやボタンをクリックできなくなったり、ポインタの移動速度が遅くなったり早くなったり不安定になったりすると、ワードプレスというかブラウザの動作に悪影響を及ぼすことがありました。このような場合、Ctrl+Alt+DELでタスクマネージャを起動すると、再びクリックできるようになったりします。このとき、同時にブラウザの挙動がもとん戻ることがあります。
WordPressのコードを編集して完全にオートセーブ機能をコロス方法
最後の手段は、Wordpressのコードを編集して、オートセーブ機能自体を封印してしまう方法を紹介します。
以下作業手順(2つのファイルを編集します)
- viエディタで「wp-admin/post-new.php」を開く
- 単語「autosave」でファイル内を検索すると以下の1行だけがヒットする。
wp_enqueue_script( ‘autosave’ ); - この行の先頭に「//」を付けてコメントアウトする。
- 「wq」コマンドで上書き終了する
- viエディタで「wp-admin/post.php」を開く
- 単語「autosave」でファイル内を検索すると以下の1行だけがヒットする。wp_enqueue_script( ‘autosave’ );
- この行の先頭に「//」を付けてコメントアウトする。
- 「wq」コマンドで上書き終了する
一度Wordpressからログアウトし、ブラウザを終了→再度ブラウザを起動してWordpressに入りなおす。apache等を再起動する必要はない。