我正在使用Laravel5.4。当我使用社交网站包登录Facebook时,我需要添加这行
Schema::defaultStringLength(191);
启动AppServiceProvider
类的功能,以便为新用户创建默认密码。
除此之外,我必须在AppServiceProvider
类的顶部添加using语句,如此
use Illuminate\Support\facades\Schema;
我的本地主机上的一切都运行良好但是当我将所有代码上传到我的共享主机时,我收到此错误
Class' Illuminate \ Support \ facades \ Schema'没找到。
任何人都可以帮助我。非常感谢你的帮助!
答案 0 :(得分:3)
OMG我按照下面问题的明确答案,并将using语句替换为 使用架构; 并且错误消失了。但我仍然不知道为什么它在本地运行良好,只会导致服务器错误。
Method 'create' not found in class Illuminate\Support\Facades\Schema
答案 1 :(得分:1)
在我的情况下,我使用大写字母表示其工作。
use Illuminate\Support\facades\Schema;
替换为此
use Illuminate\Support\Facades\Schema;
答案 2 :(得分:0)
也许你需要改变 使用Illuminate \ Support \ facades \ Schema;
到
使用Illuminate \ Support \ Facades \ Schema;
外墙需要资本F
答案 3 :(得分:0)
替换此行:
use Illuminate\Support\facades\Schema;
有了这个:
use Schema;
答案 4 :(得分:0)
修复大写错误并替换:
use Illuminate\Support\facades\Schema;
使用
use Illuminate\Support\Facades\Schema;
它可能在本地运行而不在服务器上运行的原因是,您可能在本地使用Windows,并且Linux托管帐户对路径和文件名区分大小写
答案 5 :(得分:0)
您必须设置.env文件 此设置
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ilk
DB_USERNAME=root
DB_PASSWORD=
在app / Providers / AppServiceProvider.php
中n
amespace App\Providers;
use Illuminate\Support\ServiceProvider;
//hata almamak ıcın
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
答案 6 :(得分:0)
我的 def portfolio_page(request):
portfolio = Portfolio.objects.prefetch_related('image_set')
ctx = {
'portfolio': portfolio
}
return render(request, 'mainApp/portfolio_page.html',ctx)
和 Laravel 8.40
也有同样的问题。
因此,为了解决这个问题,我在我的 PHP 7.4
文件中的第 6 行路径 facades
中将 Facades
更改为大写 AppServiceProvider.php
:
app/Providers/AppServiceProvider.php
到
use Illuminate\Support\facades\Schema;