WordPressブログのインポートで苦労した話

経緯

今日ブログのレイアウトを大幅に変更した。変更するに当たりいきなりネット上で変更するのは怖かったので一旦ローカル環境にうつしてからアップロードする作戦にしたら、Wordpressのインポートでいきなり苦労したので内容を報告します。

以前ローカルに”local”で環境を作り、All-in-One WP Migrationを使用して、バックアップしPHPのバージョンアップしたことがあった。その時はインポート容量に制限があることがわからなかったが、今回改めてやってみると300MBの制限があった。

容量の上げ方はこのサイトに書いてあった。

how-to-increase-maximum-upload-file-size-in-wordpress/

方法は以下の2つ

① Edit .htaccess file

php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300

② Edit wp-config.php file

@ini_set( 'upload_max_filesize' , '128M' );
@ini_set( 'post_max_size', '128M');
@ini_set( 'memory_limit', '256M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );

local だとどちらの方法もダメだった。①の場合、エラーでサイトが開かなくなる。②の場合、変化なし。
直接php.iniを書き換えてもダメ。

結局localでやるのは諦めた。localはWordpressの環境を作るのが簡単なので気に入ってたのに。

対応策

MAMPでWordpressの環境を作った。MAMPの場合、アップロードの初期値は8MB。①の方法で変更できた。

.htaccess

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>

# END WordPress

# ここから下を追加
php_value upload_max_filesize 1000M
php_value post_max_size 1000M
php_value memory_limit 1000M
php_value max_execution_time 300
php_value max_input_time 300

②の方法は変化なかった。

参考

WordPressのバックアップの仕方とローカルサイトでの試し方などは、このサイトが非常に良かったので紹介しておく。


WordPressのPHPを安全にバージョンアップする方法
WordPressのバックアップをかんたん確実に取る方法【初心者向け】
WordPressをローカル環境(パソコン)にインストールする方法