SQLSTATE[HY000] [2002] 当我尝试 php artisan migrate 时没有这样的文件或目录
SQLSTATE[HY000] [2002] No such file or directory when i try to php artisan migrate
刚刚创建了一个新的 laravel 项目并尝试迁移表,我得到了这个:
SQLSTATE[HY000] [2002] 没有这样的文件或目录 (SQL: select * 来自 information_schema.tables 其中 table_schema = sugarDaddy 和table_name = 迁移和 table_type = 'BASE TABLE')
我尝试清除缓存、路由、配置,并将 DBHOST 从 127.0.0.1 更改为 localhost 并返回,正如我在几篇文章中看到的那样,但没有任何效果。我将把迁移和 ss 留在这里。
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sugarDaddy
DB_USERNAME=root
DB_PASSWORD=
我从屏幕截图中可以看出,您的 phpMyAdmin 在 8889
端口连接到数据库,您的 env
有 DB_PORT=3306
,更改为 DB_PORT=8889
。
评论区总结:
丹正在使用 MAMP,因此 mysql 连接的配置应包含(对于默认 MAMP 设置):
DB_HOST=localhost
DB_PORT=8889
DB_USERNAME=root
DB_PASSWORD=root
刚刚创建了一个新的 laravel 项目并尝试迁移表,我得到了这个:
SQLSTATE[HY000] [2002] 没有这样的文件或目录 (SQL: select * 来自 information_schema.tables 其中 table_schema = sugarDaddy 和table_name = 迁移和 table_type = 'BASE TABLE')
我尝试清除缓存、路由、配置,并将 DBHOST 从 127.0.0.1 更改为 localhost 并返回,正如我在几篇文章中看到的那样,但没有任何效果。我将把迁移和 ss 留在这里。
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sugarDaddy
DB_USERNAME=root
DB_PASSWORD=
我从屏幕截图中可以看出,您的 phpMyAdmin 在 8889
端口连接到数据库,您的 env
有 DB_PORT=3306
,更改为 DB_PORT=8889
。
评论区总结:
丹正在使用 MAMP,因此 mysql 连接的配置应包含(对于默认 MAMP 设置):
DB_HOST=localhost
DB_PORT=8889
DB_USERNAME=root
DB_PASSWORD=root