2017-12-26 40 views
0

私はLaravel 5.5を使っています。プロジェクトをサーバーにアップロードしました。しかし、私のプロジェクトがうまくローカルサーバーを動作させるエラーが発生しました。クラスが見つかりません[Laravel 5.5、production project]

Class 'App\Models\Textbox\TextBox' not found Symfony\Component\Debug\Exception\FatalThrowableError

私は知っている、私はちょうどcomposer dump-autoloadを実行し、その作品はいいです。しかし、主な問題は、メインホストサーバーがbluehost/cpanelです。 あなたのアカウントは確認されていません私はアカウントではないので、シェルでコマンドを実行することはできません。

しかし、代替ソリューションを探して、ローカルサーバーでdump-autoloadを実行した後、これらのフォルダをサーバーにアップロードするだけです。

\bootstrap 
\vendor\composer 

しかし、動作しません。最後に、vendorフォルダのすべてをアップロードしても結果は得られません。

実行する必要がありますdump-autoloadサーバのみcommandline/bash
サーバーでcommandlineクエリを実行せずにこれを解決できますか?

P.S.私はGoogleからの解決策の関連質問のすべてと、すべてを見て、私は仕事のために、それは準備することはできません:(

これは私のフォルダ構造である:あなたのクラスの

enter image description here enter image description here

+0

モデルの正しいパスを設定します。TextBox –

+0

"path"は何を意味していますか?すべてのパスは正しい – rufatZZ

+0

Use App \ Models \ Textbox \ TextBoxのようにファイル上部のTextBoxを宣言します。 このパスを修正してください –

答えて

5

マインドケースを。見ての通りの名前

あなたが得るエラー:

App\Models\Textbox\TextBox 

が、あなたのクラス次のとおりです。

App\Models\TextBox\TextBox 

ディレクトリ/名前空間が資本B.

である見るようにこれは(あなたがPSR-4を使用していると仮定すると、有効な場合とまったく同じクラス名やディレクトリを持つように自動読み込み作曲のために重要であるが、これはありますLaravelのデフォルト)。 Windowsのファイル/ディレクトリの場合には

はそう、あなたの名前空間にもテキストボックスを(WindowsのTEXTBOXディレクトリのtextboxと同じである)書くことができる問題ではありませんが、Linuxサーバ上で何TEXTBOXディレクトリが存在しない、何もTextboxディレクトリがありません - TextBoxディレクトリしかないので、クラスを自動ロードすることはできません。そのため、プロダクションでエラーが発生していて、localhost上で正常に動作しています。

+2

ネームスペースは小文字で宣言されているかもしれません。 Windowsマシンで開発する場合、ファイルシステムは大文字と小文字を区別しませんが、Linuxマシンに展開するときには、大文字と小文字の区別なくスペルを入れてください。 –

+0

@JonasSchwabe本当ですか?良い点をありがとう。私はそれについて知らない。ええ、私はこのプロジェクトをローカルサーバで問題なく実行しますが、サーバは私のためにいくつかの問題を作りました:) – rufatZZ

関連する問題