2017-01-23 77 views
1

我有laravel應用程序。Laravel 5.3,找不到類'App Models User'

它在本地工作,使用php artisan serve命令。

部署到遠程服務器後,它不起作用。

每人員命令返回:

[Symfony\Component\Debug\Exception\FatalThrowableError] 
Class 'App\Models\User' not found  

摘自App\Models\User.php(區分大小寫)。

<? 
namespace App\Models; 

use Illuminate\Notifications\Notifiable; 
use Illuminate\Foundation\Auth\User as Authenticatable; 

class User extends Authenticatable { 
// code here 
} 

composer dump-autoload沒有修復它。

的.gitignore

/vendor 
.env 
/public/css/ 
/public/js/ 
/public/img/ 
/public/fonts/ 
/node_modules/ 

composer.json

{ 
"name": "laravel/laravel", 
"description": "The Laravel Framework.", 
"keywords": ["framework", "laravel"], 
"license": "MIT", 
"type": "project", 
"require": { 
    "php": ">=5.6.4", 
    "laravel/framework": "5.3.*", 
    "caouecs/laravel-lang": "~3.0" 
}, 
"require-dev": { 
    "fzaninotto/faker": "~1.4", 
    "mockery/mockery": "0.9.*", 
    "phpunit/phpunit": "~5.0", 
    "symfony/css-selector": "3.1.*", 
    "symfony/dom-crawler": "3.1.*" 
}, 
"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/", 
     "Seeds\\": "database/seeds/" 
    }, 
    "files": [ 
     "app/Http/Helpers.php" 
    ] 
}, 
"autoload-dev": { 
    "classmap": [ 
     "tests/TestCase.php" 
    ] 
}, 
"scripts": { 
    "post-root-package-install": [ 
     "php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 
    ], 
    "post-create-project-cmd": [ 
     "php artisan key:generate" 
    ], 
    "post-install-cmd": [ 
     "Illuminate\\Foundation\\ComposerScripts::postInstall", 
     "php artisan optimize" 
    ], 
    "post-update-cmd": [ 
     "Illuminate\\Foundation\\ComposerScripts::postUpdate", 
     "php artisan optimize" 
    ] 
}, 
"config": { 
    "preferred-install": "dist" 
} 

}

本地系統:Arch Linux的使用PHP 7.0 遠程系統:Debian的傑西與PHP 7.0

+0

它應該只是'App \ User',你是否改過它並添加了Model文件夾? – GabMic

+0

是的,我已將'App \ User'中的所有鏈接替換爲'App \ Models \ User'。它在本地工作,但不在遠程服務器上。 – changer

回答

1

添加use子句位於控制器的頂部你試圖使用模型:

use App\Models\User; 

或者,您可以使用完整的命名空間:

$user = App\Models\User::find(1); 

此外,還要確保User.php是在app\Models目錄,並確保你已經在改變模式config\auth.php file:

'providers' => [ 
    'users' => [ 
     'driver' => 'eloquent', 
     'model' => App\Model\User::class, 
    ], 
], 
+0

你沒有仔細閱讀這個問題。非常相同的代碼在本地工作。 – changer

+1

@changer如果代碼非常相似,請在服務器上運行'php artisan config:clear'命令。 –

+0

它沒有幫助。每個artisan命令都會因相同的錯誤而失敗。 – changer

0

最後,我找到了一個解決方案。

在php.ini中設置short_open_tag = On和瞧 - 它的工作原理。

相關問題