1. イントロダクション 🚀
WordPressは多くの場合、軽量な画像や文書のアップロードを想定しているため、2〜3GBという大容量ファイルはアップロードできない設定になっています。
この問題を解決するためには、WordPressの設定だけでなく、PHPやWebサーバー(Apache、Nginxなど)の設定も変更する必要があります。
以下では、サーバー設定とWordPressのカスタマイズにより大容量アップロードを実現する方法を分かりやすく解説します。
2. サーバー側の設定変更 🔧
2-1. PHP設定の変更
PHPの設定ファイル(通常はphp.ini
)で以下のパラメータを大容量ファイルに対応できるよう変更します。
例として、3GBに対応させる設定は下記のようになります:
; php.ini の設定例
upload_max_filesize = 3G
post_max_size = 3G
memory_limit = 4G
max_execution_time = 0 ; 制限なし(または十分大きな値に設定)
max_input_time = 0 ; 制限なし
※ 注意
・upload_max_filesize
は1ファイル当たりの上限です。
・post_max_size
はフォーム全体(アップロード含む)の最大サイズ。
・実際に設定を変更後、Webサーバーの再起動が必要となる場合があるので、再起動も忘れずに行いましょう。
2-2. .htaccess を使った設定 (Apacheの場合)
Apache環境の場合、WordPressのルートディレクトリにある.htaccess
ファイルに以下の設定を追加することで、PHP設定を上書きできます:
# .htaccess ファイルの先頭付近に記述
php_value upload_max_filesize 3G
php_value post_max_size 3G
php_value memory_limit 4G
php_value max_execution_time 0
php_value max_input_time 0
2-3. wp-config.php の設定変更
WordPress側で使用するメモリ上限を変更するために、wp-config.php
に以下の行を追加することをおすすめします:
// wp-config.php の適切な位置に追加(通常はコメント「/* That's all, stop editing! ...」の前)
define('WP_MEMORY_LIMIT', '4G');
3. WordPress内部でのアップロード方法 🎨
3-1. メディアライブラリからのアップロード
WordPress管理画面の「メディア」>「新規追加」からファイルをアップロードしようとした場合、PHPやサーバーの設定に依存しているため、上記設定変更後にアップロード可能なサイズが反映されるはずです。
ただし、巨大ファイルの場合、ブラウザ側のタイムアウトやネットワークの不安定さによる問題も考えられるため、直接FTPによるアップロードも検討してください。
3-2. FTPアップロードとプラグインの利用
直接FTPでサーバーの特定ディレクトリにアップロードし、WordPressに読み込ませる方法もあります。
たとえば、以下の手順になります:
- FTPクライアント(FileZilla、WinSCPなど)を使い、アップロード用ディレクトリに2〜3GBのファイルをアップロードする。
- ファイルがサーバーに存在したことを確認後、WordPress側でそのファイルへの参照(もしくは添付情報)を登録するプラグイン(例:「Add From Server」など)を利用する。
4. ワークフローダイアグラム 📊
下記は大容量ファイルアップロードの全体的な流れを示すシンプルな図です。
この図は、設定変更から実際のアップロードまでのステップを視覚化しています。
5. コマンドラインでの確認方法 🖥️
サーバー設定を変更した後、変更が反映されているかを確認するために、簡単なPHPスクリプトを用意しましょう。
<?php
// phpinfo.php
phpinfo();
?>
このスクリプトをサーバーに配置してWebブラウザからアクセスすることで、upload_max_filesize
や post_max_size
などの値が希望通りになっているか確認できます。
6. 注意点とまとめ ⚠️
-
サーバーリソース:
大容量ファイルのアップロードはサーバーのメモリや実行時間に大きな影響を与えます。共有ホスティングの場合、これらのパラメータの変更ができない場合が多いため、VPSや専用サーバーの利用が望ましいです。 -
タイムアウトの注意:
ネットワークのタイムアウト対策として、max_execution_time
やmax_input_time
の設定を無制限(0)または十分大きな値へ調整してください。 -
バックアップ:
変更を加える前に設定ファイルのバックアップを必ず取得してください。誤った設定によりサイトが表示されなくなるリスクを回避できます。 -
FTPとプラグイン:
ブラウザ経由でのアップロードが不安定な場合、FTP経由でのアップロードと「Add From Server」のようなプラグイン活用を検討しましょう。
まとめ
今回、WordPressに2〜3GBの大容量ファイル(OSイメージなど)をアップロードするためには、
・PHPの設定変更(php.ini
・.htaccess
・wp-config.php
)
・サーバー再起動による設定反映
・場合によってはFTP経由とプラグインでの登録という手順が必要となります。
各手順を慎重に実施することで、WordPress上でも大容量ファイルのアップロードを可能にできます。
もし設定変更に不安がある場合は、サーバー管理者やホスティングサービスに相談の上、作業を進めてください。
Happy coding! 💻✨
参考文献:
[1] WordPressで大容量ファイルのアップロードに対応する方法
[2] All-in-one WP Migrationのインポートサイズの上限をあげる方法
[3] WordPressサイトのファイルアップロードサイズ上限を引き上げる方法