私は2つのDockerコンテナを使用しています.1つはubuntuとapache webserverを実行し、もう1つはmysqlサーバです。コンテナはリンクされており、私はubuntuコンテナからmysqlサーバに接続できます。接続の場合、私はubuntuコンテナで使用します:Doctrineがリンクドッカーコンテナ内のMYSQLデータベースに接続できません
mysql -u root -h mysql
ここで、2番目の「mysql」はコンテナの名前です。コンテナIDからも接続することができるので、接続はWindows環境からデータベースに接続するだけでなく機能します。
ubuntuのコンテナにあるPHPアプリケーションの中で、doctrineからデータベースへの接続は何ができません。
設定は次のようになります。
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'mysql',
'port' => '3306',
'user' => 'root',
'password' => '',
'dbname' => 'db_name',
'charset' => 'utf8',
)
)
),
)
しかし、私は誰もがエラーメッセージ
Uncaught PDOException: could not find driver in /var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php
と
Zend\ServiceManager\Exception\ServiceNotCreatedException: An abstract factory could not create an instance of doctrine.entitymanager.ormdefault(alias: doctrine.entitymanager.orm_default). in /var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php
これを解決する方法任意のアイデアを持っているし、場所を正確にしていますエラーはから来ますか?
私は既に 'ホスト'としてコンテナIDを入れようとしましたが、使用されていないので 'パスワード'フィールドをコメントアウトしました。事前に
おかげで
ジョナサン
を持っている場合
だけで理解するためにPHPのコンテナ内でこのコマンドを実行しようとすることはできますが、それは私のいずれかを与えるdidntの出力残念ながら:/ – flautzr