【发布时间】:2018-06-16 13:26:10
【问题描述】:
我正在使用 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 添加到教义.yaml 并没有工作。 我也试过删除缓存,创建一个新项目,使用远程mysql,使用sqlite,但两种情况下的错误都是一样的!!
提前感谢您的帮助!
【问题讨论】:
-
当我在参数中的教义.yaml 中添加数据库 url 时,我幸运地“解决了”它。但是在创建文件时,该行会被注释为“您不需要更改此值”。我认为这有点脏,但它确实有效。
标签: php symfony doctrine symfony4 symfony-flex