はじめに
こんにちは。ネットワークエンジニアの「だいまる」です。
この記事からは、ブログ運営中・構築中に発生したトラブルと対応策について、紹介したいと思います。
- 画像アップロードが上限容量を超過し、アップロードできない
- プラグインによるテスト環境から本番環境への移行が100%のまま動かない
トラブル①:画像アップロードができない
1つ目のトラブルは、「容量の大きい画像がアップロードできない」です。
この原因は「WordPressやPHPのデフォルトでは128MBが上限となっているため、これを超える画像や動画をアップルする場合はエラーとなる」ためです。

この上限値を変更するためには、主に2パターンあります。
①:「.htaccess」ファイルの変更
②:「php.ini」ファイルの変更
パターン①:「.htaccess」ファイルの編集
1つ目のパターンとして、「.htaccess」ファイルの編集を行い、上限容量を変更する方法があります。
このファイルは「wp-config.php」と同じディレクトリに存在しますが、「ls -a」コマンドで検索しないと出てきません。
変更内容は、以下の3行を追加するだけでOKなので、比較的簡単な変更方法と呼べるでしょう。
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
php_value upload_max_filesize 2048M #アップロードする1ファイルの最大容量
php_value post_max_size 2048M #1回でアップロードする最大総容量
php_value memory_limit 2048M #メモリ使用量の最大
# END WordPress
この値を変更すると先ほどの「128MB」から「2GB」に変更されます。

場合によっては変更されない場合もあるので、パターン②を実施してみましょう。
パターン②:「php.ini」ファイルの編集
上限容量を変更するための2つ目のパターンは「php.ini」を変更することです。

そもそも「php.ini」はどこにあるの?
「php.ini」の場所を確認するためには以下のコマンドで確認できます。
php -i | grep php.ini
上記コマンドを実行すると以下の結果が出力されます(VersionやOSにより若干異なる場合あり)
Configuration File (php.ini) Path => /etc/php/8.2/cli
Loaded Configuration File => /etc/php/8.2/cli/php.ini
ここから「php.ini」の場所が、「/etc/php/8.2/cli/php.ini」にあることがわかるので、このファイルを編集しましょう。
upload_max_filesize 2048M #アップロードする1ファイルの最大容量
post_max_size 2048M #1回でアップロードする最大総容量
memory_limit 2048M #メモリ使用量の最大
「php.ini」の変更後はApache or Nginxの再起動が必要となります。
上記を実施すれば、ほとんどのケースで解決できると思います。

トラブル②:データ移行が100%から動かない・・・
2つ目は、「テスト環境から本番環境へのデータ移行がうまくいかない」です。
具体的には。
データ移行の画面が100%から全く進まなくなる現象
この事象の原因の一つに、「パターン①」が含まれている場合もあるので、まずはパターン①をチェックしましょう。
また、リバースプロキシを利用している場合、考えられる原因の1つは「リバースプロキシの上限容量を超過している」点です。
このエラーを解決するためには、「nginx.conf」の以下の値を変更する必要があります。
server{
client_max_body_size 2048M; #server配下に左記設定を追加するのみ(デフォルト値:1MB)
}
上記変更後は「Nginxの再起動」が必須となります。

関連記事
-
【LPIC・Linux】ドメインとIPアドレスを紐づけるDNSとは?
-
【LPIC/Linux】勉強のために少し学んでみたRAID・mdadmコマンド
-
【LPIC・Linux】更新作業を楽にするPatchコマンド
-
【サーバ構築・運用】自宅に余っていたRaspberrypi 3BでIPMI/KVMサーバを構築(物理構成編)
-
【サーバ構築・運用】自宅に余っていたRaspberrypi 3BでIPMI/KVMサーバを構築(設定編)
-
【LPIC・Linux】HDDの状況を確認するためのhdparmコマンド