phpenvのphpにpdo_pgsqlをインストールする方法


背景

LaravelからPostgreSQLのデータベースに接続しようと思い、DB設定をした所下記エラーに遭遇した。

調査した所、下記2点が分かった。

  1. LaravelではPDO PostgreSQL 拡張モジュールを利用してPostgreSQLに接続する
  2. phpenvでインストールしたPHP7.1.0にはpdo_pgsqlが無い

根本的には2番が原因なので、phpenvでPHPをインストール時にpdo_pgsqlを有効にしてインストールする方法をまとめます。

対象者

  • LaravelでPostgreSQLに接続したい人
  • phpenvでpdo_pgsqlを利用したい人

手順

特定のバージョンで有効にする

7.1.0で有効にする場合は ~/.phpenv/plugins/php-build/share/php-build/definitions/7.1.0 の冒頭部に configure_option -R "--with-pdo-pgsql"を追加するのみです。完成形は下記の通り。

全バージョンで有効にする

~/.phpenv/plugins/php-build/share/php-build/default_configure_options の好きなところに --with-pdo-pgsqlを追加するのみです。

上記の対応を実施後 phpenv install 7.1.0 でインストールしなおせば pdo_pgsql が有効なPHPがインストールされます。

終わりに

phpenvはextensionの設定も細かく調整できて便利でいいですね。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする