mysql - 如何通过 Symfony 4 连接到使用 MAMP 创建的 mySQL 数据库?
问题描述
我在 MAMP 中创建了一个名为“项目”的数据库。
在我的.env
文件中,我添加了这一行:
DATABASE_URL=mysql://root:root@localhost:3306/project
现在我想跑
php bin/console doctrine:database:create
但我收到一条错误消息:
SQLSTATE[HY000] [2002] 没有这样的文件或目录
我的学说配置:
parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
解决方案
解决了!
在文件“config/packages/doctrine.yaml”中,我必须添加这一行
unix_socket:/Applications/MAMP/tmp/mysql/mysql.sock
这意味着改变这个:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
进入
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
unix_socket: /Applications/MAMP/tmp/mysql/mysql.sock
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
推荐阅读
- go - 在相同的选择案例中接收和发送
- r - 可以以及如何在 R 中对来自正态分布的一对样本进行互信息测试?
- linux - 驱动程序开发:避免 sudo 要求
- javascript - 在 python 中创建 .json 并将其传递给 Javascript
- html - 使用飞镖的网络刮板
- azure-devops - 强制代码覆盖仅适用于具有 5 行或更多行代码相关更改的 PR
- binary - Elixir:如何获取整数变量的 bit_size?
- laravel - 如何使用 php aws-sdk 执行 bash 终端命令
- ruby-on-rails-4 - rails 4/5 中的活动记录关联
- php - 你如何使用php上传json文件?