由于我是 Laravel 的新手,所以我遇到了迁移问题。我已经尝试了这里描述的所有内容但没有成功
I have a problem with migration as I am new to Laravel. I have tried everything described on here with no success
我是 Laravel 的新手。我在我的 MacOS Mojave 上安装了 MAMP 和 Xampp 7.3.0,但目前在端口 80 上使用 Xampp,MySQL 端口重新配置为 33060,因为 phpmyadmin 无法正常工作。
我遇到了 "php artisan migrate" 的问题,因为每次我尝试迁移时都会显示以下错误:
SQLSTATE[HY000] [2002] 没有那个文件或目录 (SQL:
select * from information_schema.tables where table_schema = land
on_app and table_name = migrations
)
我尝试在线搜索,采纳了贡献者建议的解决方案,但 none 似乎对我有用。我尝试安装 MySQL 8.0.13,但遇到 caching_sha2_password 提示我卸载它并安装 MySQL5.7 并显示版本消息“mysql Ver 14.14 Distrib 5.7.24,用于 osx10.14 (x86_64) 使用 EditLine wrapper”
但是,我决定将文件夹复制到 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()
{
//
}
}
我每次尝试迁移时收到的错误:
只需更改 .env
文件中的这一行:
DB_HOST=localhost
到
DB_HOST=127.0.0.1
从几个简单的调试步骤开始:
- 您可以使用提供的凭据访问您的 mysql 服务器吗?
- 你能验证你的服务器上是否存在名为 'landon_app' 的数据库吗?
- 您也可以尝试将主机从 localhost 更改为 127.0.0.1
Laravel 4:将 app/config/database.php 文件中的 "host" 从 "localhost" 更改为“127.0.0.1”
Laravel 5:将 .env 文件中的 "DB_HOST" 从 "localhost" 更改为“127.0.0.1”
我是 Laravel 的新手。我在我的 MacOS Mojave 上安装了 MAMP 和 Xampp 7.3.0,但目前在端口 80 上使用 Xampp,MySQL 端口重新配置为 33060,因为 phpmyadmin 无法正常工作。 我遇到了 "php artisan migrate" 的问题,因为每次我尝试迁移时都会显示以下错误:
SQLSTATE[HY000] [2002] 没有那个文件或目录 (SQL:
select * from information_schema.tables where table_schema = land
on_app and table_name = migrations
)
我尝试在线搜索,采纳了贡献者建议的解决方案,但 none 似乎对我有用。我尝试安装 MySQL 8.0.13,但遇到 caching_sha2_password 提示我卸载它并安装 MySQL5.7 并显示版本消息“mysql Ver 14.14 Distrib 5.7.24,用于 osx10.14 (x86_64) 使用 EditLine wrapper” 但是,我决定将文件夹复制到 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()
{
//
}
}
我每次尝试迁移时收到的错误:
只需更改 .env
文件中的这一行:
DB_HOST=localhost
到
DB_HOST=127.0.0.1
从几个简单的调试步骤开始:
- 您可以使用提供的凭据访问您的 mysql 服务器吗?
- 你能验证你的服务器上是否存在名为 'landon_app' 的数据库吗?
- 您也可以尝试将主机从 localhost 更改为 127.0.0.1
Laravel 4:将 app/config/database.php 文件中的 "host" 从 "localhost" 更改为“127.0.0.1”
Laravel 5:将 .env 文件中的 "DB_HOST" 从 "localhost" 更改为“127.0.0.1”