よう、社畜の諸君。
正直ヤバいことになってしまった。
WordPressで作ったブログを別のサーバーに移転しようとしたが、データベースが肥大化しすぎて移転することが出来ない状態だった。
データベースを他サーバーから移すにはデータの大きさの制限がある。
たとえばサクラの場合は1テーブル16MBまで。
ロリポの場合は全部で512MBまで。
なのに記事を格納しているテーブル「wp_posts」は90MB近くあった。
しょうがないのでオレはデータベースを最適化することにした。
最適化には「WP-Optimize」というプラグインを使った。
そこそこ容量を減らせたが、まだまだ大きい。
そこでよせばいいのに今度は調子に乗って手動でデータベースを軽量化しようとした。
データベースを開くと「post inherit」というなにやらあまり意味の無さそうなテーブルがあった。
念のため調べてみたら今までの記事のリビジョンを保存したデータだった。
うん、いらね( ̄▽ ̄)
やりかたは「SQL」のタブを開き、入力済みのSQL文を削除し、かわりに以下のSQL文を貼り付ける。
「 DELETE FROM wp_posts WHERE post_status = ‘inherit’ ; 」
そして「実行する」をクリック。
一発削除\(^o^)/
う〜ん、でもまだまだ大きいなあ……60MB以上もある。
まあ今日はこの辺にしておいてやるか。
そしたらなんと!
ライブラリが空っぽになっている!?
Σ( ̄。 ̄ノ)ノ
「wordpress メディア ライブラリ 画像 表示されない」で検索して原因(はどうでもいいが)と対処法(これが大事)を調べることにした。
どうやらWordPressをバージョンアップしたり、データベースをいじったり、あとプラグインを入れてウニャウニャすると、たまに起こる現象らしい。
対応策として
1.プラグインを外せ、とりあえず全部外せ
まあそんなことは真っ先にしてるわな。
次からが大事。
2.admin-ajax.phpファイルを書き換える
wp-admin/admin-ajax.php ファイルを
修正前
@header( ‘Content-Type: text/html; charset=’ . get_option( ‘blog_charset’ ) );
修正後
if(in_array($_POST[‘action’], array(‘query-attachments’, ‘send-attachment-to-editor’))){
@header(‘Content-Type: application/json; charset=’ . get_option(‘blog_charset’));
}else{
@header( ‘Content-Type: text/html; charset=’ . get_option( ‘blog_charset’ ) );
}
に修正する。
あるいは
3.wp-config.php にコードを追加
define(‘CONCATENATE_SCRIPTS’, false );
の1行を追加。どこに追加するのかイマイチわからなかったけどとりあえず1行目に追加した。
他にも自然治癒みたいなのでキャッシュ削除すれば直るみたいなこともあるらしい。
しかし今回はいずれの方法でも直らなかった。
4.WordPress入れ直し(あちゃ〜)
これしか無かったです。
では6月26日(日)の売り上げです。
アド(1)社 133円
アド(2)社 865円
アド(3)社 12円
アド(4)社 111円
アド(6)社 521円+187円
アド(7)(8)社 不明(300円ぐらいかなあ適当)
アド(9)社 255円
アド(10)社 53円
ざっくり合計 2,137円+α
……(゚Д゚)
消えてしまいたい。