2016-06-21 23 views
0

私は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を入れようとしましたが、使用されていないので 'パスワード'フィールドをコメントアウトしました。事前に

おかげで

ジョナサン

答えて

0

は、あなたはそれが接続の問題が、PHPの設定の問題はいないようだ、PDO_MYSQLは、あなたのシステム上で許可されている必要があります。

あなたは、PHPは、私がの/ var/wwwディレクトリ内のコマンドを使用し、このモジュール

+0

を持っている場合

php -i | grep pdo_mysql 

だけで理解するためにPHPのコンテナ内でこのコマンドを実行しようとすることはできますが、それは私のいずれかを与えるdidntの出力残念ながら:/ – flautzr

関連する問題