一番ラクに書けるWEBサーバープログラムは、やっぱりPHPだと個人的に思う、ユゲタです。
どの言語も適材適所で素敵に使える場面がありますが、WEBサイトを立ち上げる時に、ネイティブでも想定できることにはおよそほぼ対応ができるし、
サーバー設定、チーム感共有、デプロイでのトラブル・・・などなどいろいろなこれまでの経験を踏まえてPHPって使い勝手がいいんですよね。
WEBアプリケーションとなるとまた別の話になることもありますが、今回はそんなPHPで、戸惑ったという話です。
何があったの?
WEBサイトやサービスを作る時に、ユゲタの開発環境は、現時点ではMacBookAir 2021年度M1チップを使っているのですが、
MacOSにはPHPpがデフォルトで組み込まれているという事もあり、localにインストールされているPHPを利用しています。
そんな開発作業中に、ファイルアップロードの仕組みを構築して、webブラウザでテストをしていた時に、正常にアップロードできるファイルと、
何故かアップロードされないファイルが有ることに気が付きました。
アップロードされないファイルは、mp4フォーマットの動画だったので、おそらくアップロード容量制限に引っかかっているのだということを思い出しました。
PHPのデフォルトアップロード容量の制限は2MBというのは、昔から変わっていないので、2MB以上のファイルが正常にアップロードできていないのだという事ですね。
そして、phpのその制限をwebサービスで想定できる最大値にセットするために、php.iniファイルを編集するわけですが、/etc/php.iniを編集しても、アップロードが正常にならないわけですよ。
ここから、2時間ほど、格闘がはじまります。
色々解決
まず、現時点でMacOSでインストールされているPHPのバージョンが7.1だったのですが、今使っているPHPのバージョンは、7.4・・・
そういや、バージョンが7.3以上でないと、色々と使えない機能などもあるので、7系の最新バージョンまでhomebrewを使ってアップロードをした事を思い出しました。
次のコマンドで、今現在立ち上がっているphpのphp.iniの保存場所がわかります。
$ php -i | grep "Loaded Configuration File"
> Loaded Configuration File => /opt/homebrew/etc/php/7.4/php.ini
homebrewのローカルディレクトリ内に、php.iniが設置されていることが確認できたので、そこのファイルを次のように編集して、保存。
;upload_max_filesize = 2M ←これをコメントアウトして、
upload_max_filesize = 100M ←この行を追加
そして、次のコマンドで、php設定が更新されていることを確認
$ php -i | grep "filesize"
> upload_max_filesize => 100M => 100M
よかった・・・無事に正常にアップロードできるようになりました。
今回の教訓
php環境設定などを確認するコマンドで、そのシステムに必要な状態になっているかをチェックするコマンドセットを作っておくと、
新たにサーバー設定を行った際などに、本番での表示チェックをする前に、ある程度の環境不具合を潰せるという事が理解できた。
これ、結構めんどくさいので、やらない人が多いけど、やっている人は、かなり安定した開発作業が行えているはず。
テキトーに開発環境をその都度調整してきたいてユゲタとしては、こうしたチェックコマンドが重要ということを認識することができた。
いっそのこと、フレームワークとセットにしておくと、サーバー引っ越しや、入れ替え、構築時などでの効率が半端なく良くなりますよね。
0 件のコメント:
コメントを投稿