这是一个重复问题 - 例如: Laravel 4 migrations - class not found
但是,我已经尝试了所有解决方案(来 self 能找到的每个论坛),但无法解决这个问题。
场景
我在我的本地机器上创建了一个 Laravel 4 项目 - 添加了一些类、 Controller 、 View 等 - 该项目运行良好。
然后我将这个新的 repo 复制到我的 DO 服务器上——使用 composer 等安装依赖项。该项目看起来不错,除了一个页面提示错误:
Class 'company' not found
Symfony\Component\Debug\Exception\FatalErrorException
…/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php593
您可以查看此页面here .
我试过了...
我已经更新了 Composer 。我试过“转储自动加载”。我在 composer.json 文件中将“最低稳定性”更改为“稳定”(是的,这是论坛帖子中提议的解决方案)。
其他解决方案必须根据 Composer 版本将“psr-4”或“psr-0”添加到 composer.json 文件中 - 都尝试过。
最让我感到困惑的是,这个页面在我的本地机器上工作得很好,但在 DO 服务器上却不行......如果你们需要更多信息来找出这个答案,请告诉我知道。
感谢任何帮助:)
这是我的 composer.json 文件的样子:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.0.*"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
最佳答案
很可能(我很确定)您的本地环境是 Windows
,实时服务器是 Linux
。因此,如果类 company
类文件在本地服务器上用作 company.php
那么它在本地服务器上与 Company.php
相同,但作为 Linux
遵循区分大小写的规则,因此它将 company.php
和 Company.php
作为两个不同的文件读取。
因此,如果您使用了文件名 Company.php
,那么请确保您引用的类使用与 Company
相同的大小写,而不是 company
(下图),在 Windows c
和 C
中无关紧要,但在 Linux/Unix
中它很重要,因为它区分大小写。
关于php - 找不到 laravel 类(在本地主机上工作但在 DO 服务器上不工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22829998/