PHP-Symfony 4 Doctrine无法从控制台运行[2002]没有这样的文件或目录
作者:互联网
我正在使用symfony 4,在运行教义控制台命令时会发生此错误:
In AbstractMySQLDriver.php line 108:
An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory
我认为这是因为连接有问题,但是当我运行应用程序时,它可以无错误地访问数据库,因此我无法想象连接有什么问题.
我能够通过手动创建数据库并使用来继续工作
php bin/console doctrine:schema:create --dump-sql
但这确实是不需要的,因为稍后在需要更新架构时,所有数据都会丢失,因为我需要重新创建架构而不是对其进行更新.
手动执行SQL后,该应用程序可以正常运行(easyadmin可以正常运行).
这是我的配置:
.ENV:
DATABASE_URL=mysql://root:root@127.0.0.1:3306/test
doctrine.yaml:
parameters:
env(DATABASE_URL): ''
doctrine:
dbal:
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
我尝试了drop命令只是为了测试,它抛出了这个问题:
In DropDatabaseDoctrineCommand.php line 93:
Connection does not contain a 'path' or 'dbname' parameter and cannot be dropped.
因此,我将dbname添加到doctrine.yaml中,但没有成功.
我也尝试过删除缓存,使用远程mysql和sqlite创建一个新项目,但是两种情况下的错误都是相同的!
先谢谢您的帮助 !
解决方法:
请将DB_HOST = localhost更改为DB_HOST = 127.0.0.1
>学说/学说束
DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}
标签:symfony4,symfony,doctrine,symfony-flex,php 来源: https://codeday.me/bug/20191025/1928713.html