gpt4 book ai didi

php - 为什么 Doctrine SQLite 会忽略身份验证配置?

转载 作者:行者123 更新时间:2023-12-02 09:14:33 26 4
gpt4 key购买 nike

似乎在 SQLite Doctrine config/packages/doctrine.yaml 中设置用户名和密码 不会创建受用户名/密码保护的 sqlite 数据库

doctrine:
dbal:
charset: UTF8
url: '%DATABASE_URL%'
user: 'foo'
password: 'bar'

好像参数用户名和密码被忽略了?

最佳答案

在 Doctrine 中docs你会发现这个:

For connecting to an SQLite database, the authority portion of the URL is obviously irrelevant and thus can be omitted. The path part of the URL is, like for all other drivers, stripped of its leading slash, resulting in a relative file name for the database:

sqlite:///somedb.sqlite

This would access somedb.sqlite in the current working directory and is identical to the following:

sqlite://ignored:ignored@ignored:1234/somedb.sqlite

但事实是,用户名和密码可能会被 sqlite 直接忽略,而不是被 Doctrine 忽略。

如果你检查Doctrine\DBAL\Driver\PDOSqlite\Driver::connect(),你会发现the parameters are passed to PDO .

但是除非you compiled your installed sqlite to add authentication support ,它对用户和密码参数没有任何用处,并且会被愉快地忽略。

对经过身份验证的用户使用 sqlite 很少是一个好主意;如果您的用例需要它们,那么传统的数据库服务器可能会为您提供最佳服务。

关于php - 为什么 Doctrine SQLite 会忽略身份验证配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57933804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com