WordPressでアップロードに失敗する
最大アップロードサイズを超えて失敗
を解消する方法についてメモ
設定変更
phpinfoで現状のパラメーターを確認してみる。
各パラメーターはこんな意味で、2M以上のファイルをアップロードできないと分かる。
======================================================================
php_value memory_limit 100M # スクリプトが確保できる最大メモリ
php_value post_max_size 50M # ポストデータに入る最大ファイルサイズ
php_value upload_max_filesize 50M # アップロードできる最大ファイルサイズ
php_value max_execution_time 300 # スクリプト実行時間の最大秒数
php_value max_input_time 300 # ユーザー側のアップロードを受け付ける最大秒数
======================================================================
# phpinfo()を確認し、現状の各パラメーターを確認 # vimで新しくファイルを作成 sudo vim /var/www/html/wordpress/tes_phpinfo.php <?php phpinfo(); ?> # ブラウザで確認 [ http://teityura.wjg.jp/tes_phpinfo.php ] # curlで手軽に(?)確認 curl -s http://teityura.wjg.jp/tes_phpinfo.php | grep -e 'memory_limit' -e 'post_max_size' -e 'upload_max_filesize' -e 'max_execution_time' -e 'max_input_time' <tr><td class="e">max_execution_time</td><td class="v">30</td><td class="v">30</td></tr> <tr><td class="e">max_input_time</td><td class="v">60</td><td class="v">60</td></tr> <tr><td class="e">memory_limit</td><td class="v">128M</td><td class="v">128M</td></tr> <tr><td class="e">post_max_size</td><td class="v">8M</td><td class="v">8M</td></tr> <tr><td class="e">upload_max_filesize</td><td class="v">2M</td><td class="v">2M</td></tr>
php.ini と .htaccess のどちらかを変更することで上限を上げれるらしい。
memory_limit > post_max_size > upload_max_filesize を満たす必要があるぽい。
とりあえず、php.ini と .htaccess があるか確認してみる。
# php.ini の保存場所を確認 sudo find / -name 'php.ini' 2>/dev/null /etc/php/7.0/cli/php.ini /etc/php/7.0/apache2/php.ini # .htaccess の保存場所を確認 sudo find / -name '.htaccess' 2>/dev/null /var/www/html/wordpress/wp-content/plugins/akismet/.htaccess /var/www/html/wordpress/.htaccess /usr/share/debian-reference/.htaccess
今回は、 [ /var/www/html/wordpress/.htaccess ] を変更することで解消してみる
※htaccessに日本語を含むコメント等を書けば文字化けが発生したり、
サーバーエラーになったりするので、くれぐれも日本語は含まないように。
# www-dadaユーザーでvimを開き、最後の5行(php_value ~のとこ)を追記 sudo -u www-data vim /var/www/html/wordpress/.htaccess # -> :set viminfo=を実行し、viminfoを保存しないようにしておく <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> php_value memory_limit 100M php_value post_max_size 50M php_value upload_max_filesize 50M php_value max_execution_time 300 php_value max_input_time 300 # 変更したので、パラメータを再確認 curl -s http://teityura.wjg.jp/tes_phpinfo | grep -e 'memory_limit' -e 'post_max_size' -e 'upload_max_filesize' -e 'max_execution_time' -e 'max_input_time' <tr><td class="e">max_execution_time</td><td class="v">300</td><td class="v">30</td></tr> <tr><td class="e">max_input_time</td><td class="v">300</td><td class="v">60</td></tr> <tr><td class="e">memory_limit</td><td class="v">100M</td><td class="v">128M</td></tr> <tr><td class="e">post_max_size</td><td class="v">50M</td><td class="v">8M</td></tr> <tr><td class="e">upload_max_filesize</td><td class="v">50M</td><td class="v">2M</td></tr> # 変更できてるので、忘れんうちに削除 sudo rm /var/www/html/wordpress/tes_phpinfo.php
cf. メディア(画像や動画)のアップロード上限(2MB)を変更する
https://www.adminweb.jp/wordpress/media/index10.html
cf. WordPressでファイルの最大アップロードサイズを変更する方法
https://blanche-toile.com/web/wordpress-file-maximum-upload-size
コメント