今日もに見来てくださって、ありがとうございます。石川さんです。
先日MX ERGOの画像をアップしようとして、あることに気づきました。そう、なぜかファイルのアップロードサイズ上限が2MBytesに変更されていたのでした。
そういえば、先日アップロードしたドラッグアンドドロップの短めの動画も、アップロードサイズ上限に引っかかっていました。その時は、動画だからちょっとサイズが大きいのかな、ということで、外部のサービスを使って圧縮しまくって2MBytes以下にしたのでした。上限が変更されたのかも、とはまったく思いもよりませんでした。
ところが今回は、画像です。これまで画像をアップするときには特に上限を超えたエラーなんて、出たことなかったのですよね。それで以前アップした画像のサイズを調べてみたところ、2MBytesなんて、ぶっちぎってました。同じカメラで撮ったやつです。それで、どうして急に上限を超え始めたのかなぁ、と、考えていて、ふと、思いつきました。そういえば、先日PHPのバージョンアップして、そのせいで、初期値が変わってしまったのでは。確かに、php.ini
の設定の上限のせいでアップロードできません、というメッセージもでていました。
そこで、サーバーにログインして、php.ini
を探してみました。
~$ sudo find / -name php.ini -print /etc/php/7.3/fpm/php.ini /etc/php/7.3/cli/php.ini /etc/php/7.3/cgi/php.ini /etc/php/7.3/apache2/php.ini /etc/php/7.0/fpm/php.ini /etc/php/7.0/cli/php.ini /etc/php/7.0/cgi/php.ini /etc/php/7.0/apache2/php.ini /etc/php/7.4/fpm/php.ini /etc/php/7.4/cli/php.ini /etc/php/7.4/cgi/php.ini /etc/php/7.4/apache2/php.ini
ほら、やっぱりphp.ini
がバージョンごとにたくさんありますね。php.ini
ファイルの中身を調べて、ファイルサイズはupload_max_filesize
らしいというところまで調査。でも、ファイルがいくつかあるので、どのファイルを修正すればよいか、ちょっとわかりません。なのでもうちょっと調べてみましょう。ディレクトリを移動します。
~$ cd /etc/php
次に、grep
コマンドでそれぞれの値を調べてみました。
/etc/php$ grep upload_max_filesize */*/php.ini 7.0/apache2/php.ini:upload_max_filesize = 100M 7.0/cgi/php.ini:upload_max_filesize = 2M 7.0/cli/php.ini:upload_max_filesize = 2M 7.0/fpm/php.ini:upload_max_filesize = 2M 7.3/apache2/php.ini:upload_max_filesize = 2M 7.3/cgi/php.ini:upload_max_filesize = 2M 7.3/cli/php.ini:upload_max_filesize = 2M 7.3/fpm/php.ini:upload_max_filesize = 2M 7.4/apache2/php.ini:upload_max_filesize = 2M 7.4/cgi/php.ini:upload_max_filesize = 2M 7.4/cli/php.ini:upload_max_filesize = 2M 7.4/fpm/php.ini:upload_max_filesize = 2M
おお、やはり7.0を利用していた時は、100Mバイトだったようです。なので、apache2
ディレクトリにあるphp.ini
ファイルを修正してみましょう。以下のコマンドです。今回は、viエディタを使用して、8Mバイトに修正しました。さすがに100Mバイトは大きすぎですよね。
/etc/php$ sudo vi 7.4/apache2/php.ini
これだけで完了、と言いたいところでしたが、まだ修正した値が反映されませんでした。先日バージョンアップしたときに確認していました。サーバプロセスの再起動が必要ですね。以下のコマンドを実行しました。
sudo systemctl restart apache2
はい、ちゃんと上限が修正されました。
運用していると、思ってもいないところで、いろいろありますねぇ♪