WordPress: アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています。

Raspberry Pi2 で動く Raspbian をテストしていることは前回のメモに書いたとおりですが、WordPress を使ってみようしたときに、次のエラーが出て追加設定が必要でしたので、ここにメモしておきたいと思います。

php.ini upload_max_filesize

本番サイトからエクスポートした XML ファイルサイズをよく確認しなかったのですが、2.5MB だったようです。

ダッシュボードの、「ツール」→「インポート」の wordpress インポートフィルターを使ってデータを入力しようとしたところ、上記エラーメッセージ、

WordPress のインポート

エラーが発生しました。
アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています。

が出ました。WordPress のデフォルトアップロードファイル最大サイズは 2MB でした。

このメッセージは過去にも体験したことがあるので、簡単に解決できるはずだったのですが、Debian系の Apache2 はFreeBSD と勝手が違い、設定場所が分からん!

.htaccess でファイルサイズ上限を変更する

対策は簡単で、エラーメッセージにもあるとおり、upload_max_filesize を10MB くらいに変更すればいいだけです。さて、この設定をどこに書くかというと、マスターとなる httpd.conf か WordPress ディレクトリ下の .htaccess になります。

簡単なので、.htaccess に記述することにしました。

/var/www/wordpress/.htaccess に、

php_value upload_max_filesize 32M

と記述して、再度アップロード。インポートに成功すると思ったら、同じエラーが発生。
タイプミスしたかな〜。一つ上のフォルダーに書かなきゃいけないんだっけ?httpdの再起動が必要だったっけ? と、頭の中で堂々巡りを繰り返しながら試行錯誤。

.htaccess 内のディレクティブが無視されていることに気づくまでちょっと時間が掛かりました。

Apache2.conf (httpd.conf) を編集する

Apache2 インストール直後だったため、httpd.conf の内容がほぼデフォルト。DocumentRoot 以下にユーザーが .htaccess を設けて設定変更することが可能かどうか確認していませんでした。FreeBSD の場合は、/usr/local/apache24 の下に httpd.conf があるのですが、Raspbian の場合は、/etc/apache2 ディレクトリの下ですが、httpd.conf じゃなくて、apache2.conf と複数の conf ファイルで構成されていました。編集すべきファイルは site-available/default ファイル。

    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
#        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

AllowOverride の部分を None → All に変更して apache2 を再起動。これで、先ほど記述した .htaccess が有効になったはずなので再びインポートを試したところ、無事に成功。

これで、Raspbian 上の WordPress を試すことが出来ました。

コメントを残す