我正在尝试连接在服务器(docker)上运行的数据库(mysql)。我在Windows上编程。
在我的symfony项目中,我做了以下事情: parameters.yml
- >填写正确的参数
config.yml
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
的php.ini
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
完成所有这些后,我收到以下错误:An exception occured in driver: could not find driver
任何人都可以提供帮助,因为我已经尝试了一些解决方案,这些解决方案已经提供但没有一个解决方案或者适用于Linux系统。
答案 0 :(得分:9)
你必须安装mysql:sudo apt install php-mysql
答案 1 :(得分:2)
好吧,我犯了一个非常愚蠢的错误。我正在编辑php.ini文件,但我没有将它重命名为php.ini(它是php.ini-prod)。之后我只需要在extension_dir中输入正确的路径并且它正常工作。
希望这有助于其他人。
答案 2 :(得分:1)
就我而言,在在线教程中找到的 i
末尾缺少 mysql
,因为在我的 PC 上,我启用了 mysqli
PHP 扩展而不是 {{ 1}},现在早已弃用。
所以我这样编辑了 Symfony 的 mysql
.env.local
条目:
DATABASE_URL
请注意带有 DATABASE_URL="mysqli://youruser:yourpasswd@127.0.0.1:3306/yourdbname"
的第一部分,其他数据取决于您的设置。
答案 3 :(得分:0)
如果这对其他人有帮助:在运行需要数据库的命令(例如bin/console make:migration
)时遇到相同的问题,但原因完全不同。我是从计算机上运行命令的,而不是在php容器中的 中运行它。在php容器中运行它可以解决问题。
答案 4 :(得分:0)
在您的 .env
文件中注释此行。 yourproject/.env
#DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"file
并删除第一个 mysql 配置代码中的 #
在这部分设置您的用户名和密码
DATABASE_URL="mysql://usename:password@127.0.0.1:3306/test?serverVersion=5.7"