エラー:(製品環境で発生)
request.CRITICAL: PDOException: SQLSTATE[28000] [1045] /srv/inta/current/vendor/doctrine-dbal/lib/ で、ユーザー 'root'@'localhost' (パスワードを使用: YES) のアクセスが拒否されました (キャッチされない例外) Doctrine/DBAL/Driver/PDOConnection.php 36行目 [] []
これまでに試したこと
奇妙なことに、root ユーザーと提供されたパスワードを使用して実際にアクセスできます。コンソール経由で root としてログインするとうまくいきます。
app/config/にある次のparameters.ymlファイルを使用しています
parameters:
database_driver: pdo_mysql
database_host: localhost
database_port: ~
database_name: int_apartments
database_user: root
database_password: pw goes here
mailer_transport: smtp
mailer_host: localhost
mailer_user: ~
mailer_password: ~
locale: en
secret: ThisTokenIsNotSoSecretChangeIt
ご覧のとおり、データベースの名前、ユーザー、パスワードのみが変更された非常に標準的なものです。
app/configにあるconfig.yml内(関連部分)
imports:
- { resource: security.yml }
- { resource: parameters.yml }
...
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
dbname: int_apartments
orm:
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
mappings:
StofDoctrineExtensionsBundle: false
ここで、「ステップ 1」から始めて、parameters.yml ファイルが実際にインポートされていることを確認したかったので、ホストを「localhos」またはユーザーを「tom」などに変更し、app/にあるエラー メッセージを確認しました。 logs/prod.logはそのままで、場所もユーザーも変わりません。
だから私はapp/configにあるconfig_prod.ymlをチェックしました
imports:
- { resource: config.yml }
#doctrine:
# metadata_cache_driver: apc
# result_cache_driver: apc
# query_cache_driver: apc
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
nested:
type: stream
path: %kernel.logs_dir%/%kernel.environment%.log
level: debug
...そして、すべてが標準のようです!
何が起こっているかの要約
というわけでクイック版はこちら。
- root@localhost の認証エラーが存在します
- コンソールからそのユーザーとしてログインして、認証クレジットを確認しました
- parameters.yml ファイルが読み込まれているかどうかを確認したい
- 一部の値を変更 - エラー メッセージに影響するものはありませんでした
(小)編集: 私が実際にやりたいことは、別のパスワードを持つまったく別のユーザーとしてDBに接続することです。parameters.yml ファイルに別の資格情報を入力しても、doctrine は「root@localhost」エラーを吐き出します。
アイデア?