質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

6499閲覧

PHPでpostgresSQLを使おうとすると「could not find driver」

kakeiteiya

総合スコア252

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2020/09/25 11:29

編集2020/09/28 07:03

やりたいこと

Laravelで外部サーバのデータベースに接続してデータを取り出したいです
config/database.phpに以下のような設定をしました

database.php

1 'pgsql' => [ 2 'driver' => 'pgsql', 3 'host' => env('DB_HOST', 'リモート先サーバのホスト名'), 4 'port' => env('DB_PORT', '5432'), 5 'database' => env('DB_DATABASE', 'リモート先のDB名'), 6 'username' => env('DB_USERNAME', 'リモート先のユーザ名'), 7 'password' => env('DB_PASSWORD', 'パスワード'), 8 'charset' => 'utf8', 9 'prefix' => '', 10 'schema' => 'public', 11 'sslmode' => 'prefer', 12 ],

環境

Amazon Linux release 2.0 (2017.12) LTS Release Candidate
PHP 7.0.33 (cli) (built: Aug 4 2020 08:47:59) ( NTS )
Server version: Apache/2.4.6 (Amazon Linux 2)

インストールに使ったコマンド

sudo yum install –enablerepo=remi,remi-php70 php-pgsql
実行結果

Loaded plugins: langpacks, priorities, update-motd 231 packages excluded due to repository priority protections Package php-pgsql-5.4.16-46.amzn2.0.2.x86_64 already installed and latest version Nothing to do

発生したエラー

could not find driver (SQL: SELECT * FROM users LIMIT 1;)

上記のエラーが発生したので下記のコマンドをうって確認したところpgsqlが入っていなかったです
php -i | grep pdo

/etc/opt/remi/php70/php.d/20-pdo.ini, /etc/opt/remi/php70/php.d/30-pdo_mysql.ini, /etc/opt/remi/php70/php.d/30-pdo_sqlite.ini, API Extensions => mysqli,pdo_mysql pdo_mysql pdo_mysql.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock pdo_sqlite

そこからさらにやったこと

sudo yum install php-pgsql
sudo systemctl restart httpd
pg-sqlをインストールして再起動しましたが、grep pdoしても結果がかわらず、could not find driverのエラーがでています
php -i | grep pdo

下記エラーは「https://qiita.com/_s2_/items/a756ece34f77f94f8b86」で消えました
また、phpinfo()から確認してphp.iniに
extension = pgsql.soと追記しましたが、grep pdoしたときに下記のエラーが発生していました。

~~```エラー内容
HP Warning: PHP Startup: Unable to load dynamic library '/opt/remi/php70/root/usr/lib64/php/modules/pgsql.so'

ほかに何か確認すること、実行する事はあるでしょうか・・・よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kakeiteiya

2020/09/28 05:36

ありがとうございます いま試しているのですが、「make && sudo make install」の箇所で /usr/include/php/ext/pgsql/php_pgsql.h:37:10: fatal error: libpq-fe.h: No such file or directory #include <libpq-fe.h> というエラーがでました。。。調査中です。。。
kakeiteiya

2020/09/28 06:40

pgsql.soはいりました! HP Warning: PHP Startup: Unable to load dynamic library '/opt/remi/php70/root/usr/lib64/php/modules/pgsql.so' このエラーはきえましたが、まだcould not find driverです・・・ php -i | grep 'PDO'コマンドうってもpgsql入ってなかったです。。。???? php -i | grep 'PDO' PDO PDO support => enabled PDO drivers => mysql, sqlite PDO Driver for MySQL => enabled PDO Driver for SQLite 3.x => enabled
m.ts10806

2020/09/28 06:43

httpd.confまたはphp.ini更新したならApache再起動が鉄則です。設定ファイルなので。
kakeiteiya

2020/09/28 06:49

Apache再起動して、「HP Warning: PHP Startup: Unable to load dynamic library」のエラーがきえたのですが、php -i | grep 'PDO'コマンドにpg_sqlがなかったです???? 何か他に考えられる原因あればお願いします・・・・・・
guest

回答1

0

自己解決

諦めてpg_connect関数使って対応しました

投稿2020/09/29 04:32

kakeiteiya

総合スコア252

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問