📝

LaravelでView [] not found.が出た時の対処

2023/05/27に公開

MacのローカルでSail環境では問題なく表示されていたページがエックスサーバーにデプロイしたら

View [aiServices.show] not found.

が表示されて困った。

AIの回答

ローカル環境とサーバ環境では、OSやファイルシステムが異なる可能性があります。その結果、大文字と小文字を区別するかどうかが異なる場合があります。

たとえば、Windowsは大文字と小文字を区別しませんが、Linuxは区別します。つまり、ローカル開発環境がWindowsで、本番環境がLinuxの場合、このような問題が発生する可能性があります。

そのため、Laravelなどのフレームワークでは、一般的にはファイル名とディレクトリ名をすべて小文字にすることを推奨しています。これにより、どのような環境でも一貫した挙動を保証できます。

上記の提案を試してみて、それでも問題が解決しない場合は、他の可能性も探ってみましょう。

考察

え?SailのDocker環境もLinuxなのに?
んなわけあるかい!!と思って小文字にしたら解決した。。

コントローラーのメソッドで返してるviewのとこを修正

public function show($name)
{
   //return view('aiServices.show', compact('aiService'));
   return view('aiservices.show', compact('aiService'));
}

本番環境に移すと色々起きるなあ。

Discussion