这是一个重复的问题-例如: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查看此页面。
我试过...
我更新了composer。我尝试了“dump-autoload”。我在composer.json文件中将“minimum-stability”改为“stable”(是的,这是论坛帖子中提出的解决方案)。
其他解决方案必须根据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"
}
7条答案
按热度按时间qfe3c7zg1#
很可能(我很确定)您的本地环境是
Windows
,而live server是Linux
。因此,如果类company
类文件在本地服务器上被用作company.php
,那么它在本地服务器上是相同的Company.php
,但由于Linux
遵循区分大小写的规则,因此它将company.php
和Company.php
读作两个不同的文件。因此,如果您使用的文件名为
Company.php
,请确保您引用的类使用与Company
相同的大小写,而不是company
(较低),在Windows中,c
和C
无关,但在Linux/Unix
上,由于其区分大小写的性质,它确实如此。ezykj2lf2#
当我在一个项目中添加/创建一个名为
Follower_Group
的新模型类时,我也遇到过同样的问题,经过一番搜索,我找到了一个solution,它在我的例子中运行得很好。1.在本地计算机的终端中执行命令
composer dump-autoload
。1.将这两个文件夹
/bootstrap
和/vendor/composer
从本地计算机重新上载到服务器。7uzetpgm3#
如果你使用的是git,并且你希望Git区分大小写,请调整它的配置:
只需对当前存储库使用以下命令:
git config core.ignorecase false
对于全局设置:
git config --global core.ignorecase false
pn9klfpd4#
我也有同样的问题。
这是一个名为app/helpers的路径,在它里面是我的类Log:
在我的本地计算机上,它工作正常,但在服务器上,我遇到了一个异常。
解决方法?将路径名从“helpers”更改为“Helpers”。
所以,要注意大写;)
1dkrff035#
在上传过程中,有时会发生文件被上传,但里面的内容是空白的。
我遇到了类似的问题,并修复了它重新上传文件.
当我在服务器上看到文件时,它是0字节的,所以我必须重新上传本地文件来解决这个问题。
x6h2sr286#
在本地计算机终端中运行命令
composer dump-autoload
,然后将本地计算机中供应商composer文件夹重新上载到服务器ffx8fchx7#
THIS WORKS FOR ME -〉在您的实时服务器上执行:
composer install
这将安装所有缺少的必需软件包。希望这对某人有所帮助!