WordPressでアップロードに失敗

技術

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

コメント

タイトルとURLをコピーしました