这是一个重复的问题 - 例如: Laravel 4 migrations - class not found
但是,我已经尝试了所有解决方案(来自我能找到的每个论坛)并且无法解决这个问题。
我在本地机器上创建了一个Laravel 4项目 - 添加了一些类,控制器,视图等 - 该项目运行良好。
然后我将这个新的repo复制到我的DO服务器上 - 用composer等安装依赖项。项目看起来不错,除了一个页面发出错误:
Class 'company' not found
Symfony\Component\Debug\Exception\FatalErrorException
…/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php593
您可以查看此页面here。
我更新了作曲家。我试过“dump-autoload”。我在composer.json文件中将'minimum-stability'更改为'stable'(是的,这是在论坛帖子上提出的解决方案)。
其他解决方案与在composer.json文件中添加“psr-4”或“psr-0”有关,具体取决于作曲家版本 - 尝试过两者。
最令我难以置信的是,这个页面在我的本地机器上工作得很好,但在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"
}
答案 0 :(得分:19)
最有可能(我很确定)您的本地环境为Windows
,实时服务器为Linux
。因此,如果类company
类文件在本地服务器上用作company.php
,那么它在本地服务器上是Company.php
,但Linux
遵循区分大小写的规则,因此它将company.php
和Company.php
读为两个不同的文件。
因此,如果您使用的文件名为Company.php
,请确保在Windows Company
中使用company
而不是c
(更低)的相同大小写引用该类并且C
并不重要,但Linux/Unix
因为它具有区分大小写的性质而无效。
答案 1 :(得分:6)
当我在我工作的项目中添加/创建一个名为Follower_Group
的新模型类时,我遇到了同样的问题,经过一些搜索,我找到了一个solution,在我的工作中运行良好案件。试试这个:
composer dump-autoload
。 /bootstrap
和/vendor/composer
从本地计算机重新上传到您的服务器。答案 2 :(得分:0)
如果您正在使用git
只需使用此命令:
git config core.ignorecase false
当前存储库的上述命令
全球 git config --global core.ignorecase false
。
答案 3 :(得分:0)
在上传过程中,有时会发生文件上传但其中的内容为空白。
我遇到了类似问题并修复了重新上传文件的问题。
当我在服务器上看到该文件时,它是0字节,所以我必须重新上传本地文件来解决问题。
答案 4 :(得分:0)
在本地计算机终端中运行命令composer dump-autoload
,然后将本地计算机供应商的composer文件夹重新上载到服务器。
答案 5 :(得分:0)
这对我有用->
在您的实时服务器上执行:composer install
这应该安装所有必需的缺少的软件包。
希望这对某人有所帮助!