【WordPress】解决上传时的“upload_max_filesize”错误和“Unable to create directory”错误
前提 (Qianti)
-
- AWSのEC2インスタンスで稼働しているお手製HTMLホームページを、Wordpressに移行した後に発生したエラーについて記載します。
WordPressインストールするまでの流れを解説した前回の記事はこちら:WordpressをEC2インスタンスにインストールする方法(Apacheのバーチャルホスト設定方法・Wordpress用DB作成方法も解説)
在导入主题时文件上传上限错误
- 有料テーマをWordpressにインストールしようとZIPフォルダをアップロードすると以下エラーが表示されました。
The uploaded file exceeds the upload_max_filesize directive in php.ini.
-
- 調査したところphp.iniでアップロードファイル上限値のデフォルトが2MBになっており、ここを調整すれば解決できることのこと。
- EC2インスタンスに接続し、以下でphp.iniを確認します。
php --ini
Loaded Configuration Fileがあるディレクトリに移動します。
自分の環境では、 /etc/php/7.4/cli/php.iniだったので、こちらへ移動しsudo vi php.iniで以下を修正。
* upload_max_filesize:1ファイルあたりのアップロード最大サイズ
* 20Mとしました
* post_max_size:1回のアップロードの合計最大サイズ
* 40Mとしました
* max_execution_time:最大実行時間
* 300としました
确保memory_limit的值不小于upload_max_filesize。
要满足memory_limit >= post_max_size >= upload_max_filesize的条件。
引用来源文章:增加WordPress可上传的文件大小。
-
- memory_limitはデフォルトで-1(無制限)となっていたのでこのままにしました。
sudo service apache2 restartでApacheを再起動します。
php-fpmを使用している場合はこちらの再起動も必要らしいです。
WordPress画面にアクセス…しかしまだファイル上限値エラーになってしまう。再びググり、記事「WordPressでアップロードサイズの上限を変更する方法まとめ」を見たところ、「ファイルのアップロード上限サイズが変わらない場合、.htaccessファイルの編集を行います」とあったので、Wordpressディレクトリのある/var/www/html/wpsample_homepageで.htaccessを作成して以下を記載。
php_value upload_max_filesize 20M
php_value post_max_size 40M
php_value max_execution_time 300
php_value max_input_time 300
- WordPressのメディアアップロード画面にいくと最大がちゃんと「20MB」と表示されていることを確認!

- 上記実施後に再びアップロードすると、エラー内容が以下のように変わりました。
Unable to create directory Is its parent directory writable by the server?
-
- 以下記事にディレクトリへの許可権限が問題とあったので、以下コマンドを実行。
参考:WordPressで画像アップロード時にUnable to create directoryのエラーになるときの対処法
chmod 755 wp-content
sudo chmod 755 wp-content
sudo service apache2 restart
- 上記では変わらなかったので、許可を777に変更して実行。
chmod 777 wp-content
sudo chmod 777 wp-content
chmod 777 wp-content
sudo chmod 777 wp-content
-
- 上記エラーが消えテーマのインストール画面へ。しかしFTP情報を入力してくださいと表示されます。FTPは設定しないので何の問題かと調べたところ、wordpress配下の所有者とgroupをapache所有としていなかったからだと判明。
参考:WordPressで編集できない場合はフォルダの所有者を変更しよう
apache所有者は、ubuntuではwww-dataらしい。ということで、パーミッションを変更!
参考:ubuntuのapacheユーザーとグループ
sudo chown -R www-data:www-data /var/www/html/wptest_homepage
上記実施したところ、FTP画面が消え、無事にインストールが完了しました。
念の為、Wordpress管理画面→ツール→サイトヘルスをチェックすると「良好」と確認。めでたしめでたし。
查阅文章
-
- WordPressにアップロード可能なファイルサイズを大きくする
WordPressでアップロードサイズの上限を変更する方法まとめ
WordPressで画像アップロード時にUnable to create directoryのエラーになるときの対処法
WordPressで編集できない場合はフォルダの所有者を変更しよう
ubuntuのapacheユーザーとグループ