Symfony 4 Doctrine 不能从控制台工作 [2002] 没有这样的文件或目录

2024-08-15php开发问题
0

本文介绍了Symfony 4 Doctrine 不能从控制台工作 [2002] 没有这样的文件或目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在使用 symfony 4,并且在运行学说控制台命令时出现此错误:

Im working with symfony 4 and this error ocurr when runnning doctrine console commands:

In AbstractMySQLDriver.php line 108:

An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory  

我认为这是因为连接有问题,但是当我运行应用程序时,它可以毫无错误地访问数据库,所以我无法想象连接有什么问题.

I think this is because theres something wrong with the connection but when I run the application it has access to the database without errors, so I can not imagine what is wrong with the connection.

我能够通过手动创建数据库并使用来继续工作

I was able to continue working by creating manually the database and using

php bin/console doctrine:schema:create --dump-sql

但这确实是不需要的,因为稍后当需要更新架构时,所有数据都会丢失,因为我需要重新创建架构而不是更新它.

But this is really unwanted because later when the schema needs to be updated all data would be lost because i would need to re-create the schema instead of updating it.

手动执行 SQL 后应用正常运行(easyadmin 运行正常).

The app works normally after executing manually the SQL (easyadmin works fine).

这是我的配置:

.ENV:

DATABASE_URL=mysql://root:root@127.0.0.1:3306/test

doctrine.yaml:

doctrine.yaml:

parameters:
     env(DATABASE_URL): ''

doctrine:
    dbal:
       driver: 'pdo_mysql'
       server_version: '5.7'
       charset: utf8mb4

我尝试了 drop 命令只是为了测试它抛出了这个:

I tried the drop command just to test and it throwed this:

In DropDatabaseDoctrineCommand.php line 93:


Connection does not contain a 'path' or 'dbname' parameter and cannot be dropped.  

所以我将 dbname 添加到教义.yaml 并没有工作.我也试过删除缓存,创建一个新项目,使用远程mysql,使用sqlite,但两种情况下的错误都是一样的!!

So I add dbname to doctrine.yaml and didnt worked. I also tried removing the cache, creating a new project, using a remote mysql, and using sqlite but the errors are the same in both cases !!

提前感谢您的帮助!

推荐答案

请将DB_HOST=localhost改为DB_HOST=127.0.0.1

DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}

这篇关于Symfony 4 Doctrine 不能从控制台工作 [2002] 没有这样的文件或目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17