画像アップロード、更新 復習(laravel)
画像アップロードについて
画像ファイルはデータ容量などの観点から、直接DBに保存するのは良くない
PHP - データベースに画像を保存するのはありでしょうか?|teratail
なので、シンボリックリンクを貼り付け、public/storage配下に保存させるようにする。
https://promidea.co.jp/archives/2377
basenameメソッドなどを使い、ファイル名のみをDBに保存する。
注意!!
大抵、画像ファイルのみで投稿、更新機能を作ることはないので、
複数のinputタグと同時に投稿、更新することになる
input type=fileは前回情報をvalueなどで保持できないため
そのまま更新すると空で更新されてしまう
なので、コントローラーでする処理としては、
画像をpostしていない場合ですでにDBに登録されている場合、
そのパスを与えること!
DB正規化とカラムの分け方
laravelプロジェクトを git cloneして表示した際に500エラー
起こったこと : laravelプロジェクトをgithubからcloneしてきた際に発生したエラー。
composer updateをして、php artisan serve で サーバーを起動できたので、URlで起動してみると、
500エラーでserverが見つかりません、とのこと。
やったこと:
まず、apacheのerror.logと、そのlaravelプロジェクトのstorageのlogファイルを見る。
apacheの方はよくわからなかったので、laravelの方を見てみると、
production.ERROR: No application encryption key has been specified.
というエラーが。
を参照して、keyを生成する。
php artisan key:generate
すると file_get_contents(/var/www/html/laravel_project/Match/.env): failed to open stream: No such file or directory
.envファイルがないといわれたので、見てみると、
.envファイルではなく .envファイルが、.env.exampleになっている。
を参考に、sudo mv .env.example .env
そして、再びkeyの作成をすると表示が成功する。
apache2でubuntuにサーバーを構築
ローカルの環境で、xamppを使おうとしていたが、 mysqlサーバーとの併用でのエラーが難しく、apache2とnginxを環境として使っていこうと思った。
まえおき https://katurademo.com/Linux/Ubuntu/xampp/startxampp.html
引用: Windows で php を使う場合は、 xampp を導入して htdocs を localhost としていろいろとプログラムを作成するのですが、Linux ではこのような必要はありません。
サーバーというのは Windows よりも Linux に親和性があるように思います。つまり、Linux では xampp のようなややこしい設定をすることなく、割と簡単にサーバー環境を作ることができます。
apache2のインストール https://katurademo.com/Dicom/cinnamon/apache.html
フィアウォールとSSH
https://qiita.com/sakkuntyo/items/03742bad0f57a4f46b07
サーバIP確認をして、
http://サーバIP/
動作確認
https://www.yokoweb.net/2018/05/12/ubuntu-18_04-apache2-php72/
ディレクトリの権限を自分自身に付与する方法 npmエラー:Unhandled rejection Error: EACCES: permission denied, mkdir '/home/user/.npm/_cacache/index-v5/4f/51'
解決策 所有エラー
自分自身に権限を付与
sudo chown -R $USER:$GROUP ~/.npm
On npm install: Unhandled rejection Error: EACCES: permission denied - Stack Overflow