我是Laravel的新手。我在MacOS Mojave上安装了MAMP和Xampp 7.3.0,但是由于phpmyadmin无法正常工作,目前在80端口上使用了Xampp,而MySQL端口已重新配置为33060。 我遇到“ php artisan migration”问题,因为每次尝试迁移时都会显示以下错误:
SQLSTATE [HY000] [2002]没有这样的文件或目录(SQL:
select * from information_schema.tables where table_schema = land
on_app and table_name = migrations
)
我尝试在线搜索,采用了建议的解决方案,但似乎没有一个对我有用。我尝试安装MySQL 8.0.13,但是遇到caching_sha2_password提示我卸载它,并使用显示的版本消息“ mysql Ver 14.14 Distrib 5.7.24”安装了MySQL5.7,适用于osx10.14(x86_64),使用EditLine包装器” 但是,我决定将文件夹复制到httdoc并重新配置我的.env。
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=33060
DB_DATABASE=landon_app
DB_USERNAME=root
DB_PASSWORD=
database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '33060'),
'database' => env('DB_DATABASE', 'landon_app'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
AppServiceProvider
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema; //This must be added
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//
Schema::defaultStringLength(191); //This must be added to allow connection to the database
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
每次尝试迁移时收到的错误:
答案 0 :(得分:1)
只需在您的.env
文件中更改此行:
DB_HOST=localhost
收件人
DB_HOST=127.0.0.1
答案 1 :(得分:0)
从几个简单的调试步骤开始:
-您可以使用提供的凭据访问mysql服务器吗?
-您可以验证您的服务器上是否存在名为“ landon_app”的数据库吗?
-您也可以尝试将主机从localhost更改为127.0.0.1
答案 2 :(得分:0)
Laravel 4:将app / config / database.php文件中的“主机”从“本地主机”更改为“ 127.0.0.1”
Laravel 5:将.env文件中的“ DB_HOST”从“ localhost”更改为“ 127.0.0.1”