2016-05-06 9 views
2

を取得し、私はドッカーと新しいですが、私は困っています、私はいつもこのエラーを取得しました。ここでドッカーPostgresの - PDO例外が

Fatal error: Uncaught PDOException: could not find driver in /var/www/html/index.php:16 Stack trace: #0 /var/www/html/index.php(16): PDO->__construct('pgsql:host=loca...', 'project', 'project') #1 {main} thrown in /var/www/html/index.php on line 16 

は私のindex.phpです:

<?php 
     $database = $user = $password = "project"; 
     $host  = "localhost"; 
     $connection = new PDO("pgsql:host={$host};dbname={$database};charset=utf8", $user, $password); 
     $query  = $connection->query("SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_TYPE='BASE TABLE'"); 
     $tables  = $query->fetchAll(PDO::FETCH_COLUMN); 

そして、これは私のDockerfileがどのように見えるかです:

FROM php:7.0-fpm 

RUN apt-get update && apt-get install -y 
RUN apt-get install git 

RUN docker-php-ext-install mbstring mcrypt opcache 
RUN docker-php-ext-configure pgsql -with-pgsql=/usr/include/postgresql/ 
RUN docker-php-ext-install pgsql pdo_pgsql 

RUN curl -sS https://getcomposer.org/installer | php 
RUN mv composer.phar /usr/local/bin/composer 

私はDockerfileが実行されないことを感じて、私はを実行すると、それが速すぎることを持っているしかし、コマンド。

誰かがPDOExceptionを取得する理由を知っていますか?パッケージがインストールされている場合は

+0

'PDOException'は、PHPの例外であるので、私は仮定コンテナが開始されます。ドライバがインストールされていますか? – ipinak

+0

私はDockerをチェックインする方法がわかりません... – Dabagab

+0

実行中のインスタンスを見つけてそれにアタッチしてください。例えば'docker ps'があなたのインスタンスを見つけ、' docker attach 'をインストールした場合、それがインストールされているかどうかを調べる必要があります。 – ipinak

答えて

0

は、あなたが

は、php.iniファイルに次の行を追加します。php.iniでモジュールを有効にする必要があり

extension=php_pgsql.so 
+0

これは追加されました...私はVagrantに戻ったり、新しいドッカーを作成しようとします構成。 – Dabagab

関連する問題