1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[DevContainer][PHP][PostgreSQL]PDO入れられねーじゃん(解決済み

Posted at

未設定だと何も出来ない(当たり前

前の記事でPHPとPostgreSQLの環境をDevContainerで作ってみた的なのをやってみましたが、作っただけだとPHPからPostgreSQLにPDO接続が出来ないと言う至極当たり前な状態だったたのと、それを設定するに当たり何か色々とハマったため備忘録も兼ねてPDOを入れる手順をココに残す。

PHP 8.3 を使いたいのにPDO 7.X 入れようとしててエラー

普通にsudo apt-get install php-pgsqlでイケるやろという安直な考えでコマンドぶっ叩いたのに。。。

エラー例
// 省略
Package php-pgsql is a virtual package provided by:
  php7.3-pgsql 7.3.31-1~deb10u1 [Not candidate version]
  php7.3-pgsql 7.3.29-1~deb10u1 [Not candidate version]

みたいなエラーが出てインストールに失敗するんじゃ。。。

おいおい、PHP8.3とバージョンが合わねぇって言ってるのはわかるけど、どうすりゃええんじゃ?

試したこと:バージョン指定してやればええんか?

sudo apt-get install php8.3-pgsql
これでイケると思うじゃん?
ところがどっこい同じエラーメッセージが出るんよ。
どんだけ7系を参照しに生きたいんだよお前は。。。

答え

これで完璧
sudo apt update -q
sudo apt install -q -y libpq-dev
sudo docker-php-ext-install pdo_pgsql pgsql

後はphp.iniのextensionsのコメントアウトを外すだけ

コレでPHPからPostgreSQLに接続などが出来るようになりました。
libpq-devを上げてdocker-php-ext-installで入れないといけないと言うなんともDockerならではなエラーだったっぽい。
※ならではなのか?

普通にサーバー立てるだけならこんなんにハマることはなかったと思うので、まだまだコンテナ関係の知識がバブなんだなと。。。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?