エックスサーバーにLaravelプロジェクトをデプロイ

GitHubにプッシュする

特に言うことなし。
初めての人は「user.email」,「user.name」を忘れずに設定を。


エックスサーバーにclone(Privateリポジトリの場合)

エックスサーバー SSH

ghコマンドは入ってないので、手動で公開鍵生成

ssh-keygen -t rsa -C 'メールアドレス'

Generating public/private rsa key pair.
Enter file in which to save the key (/home/.ssh/id_rsa):

Enter passphrase (empty for no passphrase): <Password>
Enter same passphrase again: <Password>

cat ~/.ssh/id_rsa.pub
ssh-rsa *********************** メールアドレス

Githubで公開鍵を設定

https://github.com/settings/keys

上記の公開鍵「id_rsa.pub」をペースト

クローン

git clone git@github.com***

.envを書く

vi .env

APP_ENV=production
APP_DEBUG=false
APP_URL=https://***
DB_HOST=127.0.0.1
...

セットアップ

composer install
php artisan key:generate
php artisan migrate:fresh

完了!


Viteがインストールされていない場合

npm run build

> build
> vite build

/tmp/build-9bbcca7e.sh: 行 1: vite: コマンドが見つかりません

なぜかインストールされていなかったのでインストール。

npm install vite --save-dev

完了!

Laravel10でx-input-errorを使うとUndefined variable $messagesになる

※x-input-errorを使わずに別の方法で解決させています。

Laravel フレームワークあまり触ったことなく、ハマったのでメモ

環境

PHP 8.2.5, Laravel: 10.15.0

コード

view

<x-input-error :message="$errors->get('title')" class="mt-2"/>

実行結果

  input-error.blade.php でエラーが起きているのは分かる。

ErrorException
Undefined variable $messages

エラーこれだけだと分からないよ…


やったこと

https://biz.addisteria.com/error_message_error/

<x-input-error class="mb-4" :messages="$errors->all()"/>

↓
ErrorException
Undefined variable $messages

変わらない…


とりあえず解決策

https://laravel.com/docs/10.x/validation#the-at-error-directive

公式ドキュメント通りだと動いた。x-input-errorについての記述はなかった。
GitHub Copilot でもこっちが出てくる。

@error('title')
    <div class="alert alert-danger">{{ $message }}</div>
@enderror