【发布时间】:2021-06-11 21:59:01
【问题描述】:
我正在尝试在 Laravel 中进行迁移,但出现以下错误:
照亮\数据库\查询异常 SQLSTATE[HY000] [2002] 没有这样的文件或目录
我使用 postgresql 作为我的数据库。我更改了 DB_CONNECTION=pgsql 和 DB_PORT=5432 但我仍然收到错误消息。我的迁移有问题吗?我正在尝试制作一个 Item 模型。
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateItemsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('items', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->boolean('completed')->default(false);
$table->timestamp('completed_at')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('items');
}
}
这是我的 .env 文件中的整个数据库:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:FhYiDxPAuoIoIA3cP/aDNn7xvoRf/rhcyoLtr4EZB+4=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
LOG_LEVEL=debug
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=postgres
DB_USERNAME=admin
DB_PASSWORD=123456
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
【问题讨论】:
-
通常该消息是因为您使用套接字文件连接到数据库并且该文件不存在。你能分享你剩下的数据库配置吗?
-
尝试使用 DB_HOST=127.0.0.1 而不是 DB_HOST=localhost 也不要忘记在更改后刷新缓存:php artisan config:cache
-
默认为 127.0.0.1。我尝试了 config:cache 命令,但仍然得到同样的错误。
标签: php laravel postgresql