WordPressのファイルアップロードの上限を変更

サイト構築

今回、外部サイトからWordPressのテーマを入手して適用しようと試みましたが、テーマのアップロードでエラーが出たため、原因を調査しました。調べたところアップロードの上限に日かかっていることが原因だったのですが、意外と上限を変更するだけでも苦戦したので、備忘録として残したいと思います。

WordPressのファイルアップロードサイズを変更するには

WordPressでは大きなファイルのアップロード時にサーバーに対して大きな負荷をかけない為に初期設定上では2MB程度で設定されています。ただし、上限が低すぎると今回のようにテーマをアップロードするだけでも失敗する原因になります。なので上限設定は初期値から変更することをお薦めです。

まず現状のアップロードサイズの上限を確認したい場合は、WordPressの[Tools]-[Site Health]-[Info]のServerを展開します。その中の[Upload max filesize]がアップロードできる容量になります。

このUpload max filesizeを変更するにはいくつかの方法がありますが、WordPressのバージョンや構成内容によって適用条件がことのなるようです。私の場合は以下の設定変更を実施しました。

これらの操作は下記のサイトを参考しました。

WordPressサイトのファイルアップロードサイズ上限を引き上げる方法
WordPressサイトにおけるメディアの最大アップロードサイズを簡単に大きくする(上限を引き上げる)様々な方法をご紹介します。共用レンタルサーバーからマネージドホスティングサーバーまで、あらゆる状況で利用できる手法を網羅しています。

apache2.confファイルを更新する。

このサイトの構成パッケージは下記の通りで、設定ファイルの中で優先的に反映されるのがApache2.confのようなので、まずそのファイルの変更を実施しました。

  • Apache2 2.4.56
  • MySQL-Client 8.0.35
  • MySQL-Community-Client 8.0.35
  • MySQL-Community-Server 8.0.35
  • MySQL-Server 8.0.35
  • PHP 8.1.27
  • WP-CLI 2.9.0
  • WordPress 6.4.2

GCPにログインし、VMインスタンスから[SSH]を起動します。

まずはApache2.confの場所を確認し、バックアップファイルを作成します。[find]で検索すると/etc/apache2/apache2.confに保存されていることが確認できました。そしてファイルを編集する際は必ず、バックアップを取って置きましょう。

sudo find / -type f -name "apache2.conf"
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.backup

[vi]コマンドを使用してファイルを編集します。

sudo vi /etc/apache2/apache2.conf

[i]を入力して編集モードに切り替えてテキストの170行目あたりに以下の内容を入力し、[Esc]コマンドで編集モードを終了したあと[:w]+[:qa]で保存して終了します。

<Directory /var/www/html>
    php_value post_max_size "200M"
    php_value upload_max_filesize "100M"
</Directory>

その後、apacheを再起動します。

sudo service apache2 restart

その後、[Site Health]で上限が更新されているか確認しましたが、更新されていませんでした。。。

「.htaccess」ファイルを更新する

次にサイトの検索結果でよく出てきた.htaccessファイルの更新をトライしてみました。まずこのサイトでは、.htaccessファイル自体が存在しなかったので、ファイルの生成を実施しました。下記のサイトの情報によるとWordpressでパーマリンクの設定をすれば、ファイルが自動で生成されるとのことなので、設定を実施しました。

WordPressで.htaccessファイルがない時の対処法 – FOXWP
WordPressサイトに.htaccessファイルがない時の対処法について解説します。WordPressを運営していてエラーに悩まされたことはありませんか?そんな時の原因の1つとして考えられるのが.htaccessファイルです。

WordPressの[Settings]-[Permalink]にアクセスして、[Post Name]にチェック入れて更新するだけでOKです。

[SSH]で検索するとファイルが作成されいることが確認できました。

補足ですがパーマリンクとは各ページに対して個別に与えられるURLのことで、デフォルトでは記号などで表示されていますが、そのページの内容をURLから判断しやすくする為に設定して置くことをおすすめしています。ただし、基本的にはパーマリンクは検索順位に影響を与えないのと、ページリリース後にパーマリンクを変更すると、リダイレクトを設定しない限り、外部リンクからアクセスできなくなることやSEO評価がリセットされることに注意する必要もあります。

こちらも.htaccessファイルに下記内容を記載し、apache再起動してみましたが、なぜかサイトエラーが発生して、アクセスできなくなりました。

php_value upload_max_filesize 100M
php_value post_max_size 150M
php_value memory_limit 200M

その為、このファイルは初期状態に戻して何もしないことにしました。

「php.ini」ファイルを作成もしくは変更する

こちらのphp.iniファイルの設定もサイトでよく掲載されていたので試してみましたが、残念ながら効果はありませんでした。上記と同様に[SSH]にアクセスして[find]コマンドでファイルの場所を検索し、[vi]コマンドで下記を修正しました。

sudo find / -type f -name "php.ini*"
sudo vi /etc/php/8.1/apache2/php.ini 

他の設定ファイルと同じ容量に修正しましたが、何故か反映されないので、ちょっと変更するのが面倒になってタイミングでした。もちろんapacheを再起動しても効果はありませんでした。

WordPressプラグインを使用する

ちょっとやり方を変更して、WordPressのプラグインで改善するかも試してみました。今回は「WP Maximum Upload File Size」というプラグインを試してみました。[Plugins]の[Add Plugins]から[WP Maximum Upload File Size]を検索してダウンロードします。

インストールができたらActiveをして[Media]の[Increase Upload]にアクセスし、ファイルアップロードサイズの上限を変更します。

この設定でMediaのファイルアップロードサイズの上限は変更されましたが、[Site Health]-[Info]側は更新されておらず、テーマをアップロードしても同じエラーのままでした。。。

「.user.ini」ファイルを作成もしくは変更する

もう設定変更は無理かなと思ってきたので、やったことのないFTP通信でテーマをアップロード使用かなと思いましたが、ダメ元で.user.iniを作成して上限変更の記述をしてみました。

sudo touch /var/www/html/.user.ini #ファイルを作成
sudo vi /var/www/html/.user.ini #編集
#下記を記載
 upload_max_filesize = 100M
 post_max_size = 150M
 memory_limit = 200M
sudo service apache2 restart #apacheの再起動を忘れずに。

サイトではあまり記載されていなかったuser.iniの設定で[Site Health]の情報が更新でき、かつテーマのアップロードも実施することができました。おかげさまで[CoCoon]のテーマを使用することができました。

WordPressではファイルアップロードサイズの上限を変更するだけでもいくつかの方法があり、サイトの構築内容によって、適用方法が異なることが理解できました。今回も色々サイトの情報のおかげで設定が無事に完了できました。色々勉強が追いつかない。。。

Comments

Copied title and URL