【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」と表示されていることを確認!
image.png
    上記実施後に再びアップロードすると、エラー内容が以下のように変わりました。
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ユーザーとグループ

bannerAds