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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

2回答

4960閲覧

awsにインストールしたPHP7.4でMYSQLに接続するためpdoを有効にしたいが /etc/opt/remi/php74/php.ini にどのように書けば良いのか分からない

ma2hiro

総合スコア157

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/02/10 05:35

編集2021/02/10 07:00

お世話になっております。

件名の通り
pdoを有効にしたいのですが
PHPでPDOを利用してMySQL(RDS)に接続する - Qiita
には

PHP のバージョンによって PDO の書き方が変わるので注意。

と記載がありphp7.4でのpdoの有効化はどのような語句でグーグルさんで調べれば良いのか
伺ってよろしいでしょうか?

そういった公式のドキュメントはどのように探せば良いのか伺いたいです。
あまり基本的な事をTeratailに書き込んでしまい本当に申し訳ないのです……

もういい加減覚えよう。php.iniはどこにあるのか - Qiita
に記載のように

$ php -r "echo phpinfo();" | grep "php.ini" Configuration File (php.ini) Path => /etc/opt/remi/php74 Loaded Configuration File => /etc/opt/remi/php74/php.ini

とやってみると
/etc/opt/remi/php74/php.ini
を利用しているとの事なのですが pdo でグレップしてみても

php.ini

1; http://php.net/pdo-odbc.connection-pooling 2;pdo_odbc.connection_pooling=strict 3 4;pdo_odbc.db2_instance_name 5 6[Pdo_mysql] 7; Default socket name for local MySQL connects. If empty, uses the built-in 8; MySQL defaults. 9pdo_mysql.default_socket=

コレぐらいしかpdo関係は見つからなかったのです……

お忙しい所大変申し訳ないのですがご助力頂けますと嬉しく思います。

【追記】
MySQLは下記のようにインストールしているのは確認しております。

$ yum list installed | grep mysql mysql-community-client.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-client-plugins.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-common.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-devel.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-libs.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-server.x86_64 8.0.23-1.el7 @mysql80-community mysql80-community-release.noarch el7-3 installed

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/02/10 05:46 編集

そもそもPHP 7.4を入れるときに、PHP本体しか入れてないってことはないですよね? PHP構築時のコマンド(yumやdnfやapt-getなどなんらかのパッケージマネージャーのコマンドを叩きましたよね?)を質問文中に追記してください。 たぶんphp用のmysqlドライバーを入れ忘れているんだと思うけど。
hentaiman

2021/02/10 05:47

rpm(yum / apt )、pecl、ソースインストール、どの手順でインストールしたかによって変わります 自動で追加されないという事はpeclかソースインストールだと思いますが、実施した手順を書けますか?
ma2hiro

2021/02/10 06:01

御二方コメント本当にありがとうございます。 PHPインストールした方法は [AWS EC2(Amazon Linux)にPHP7.4をインストール - Qiita ](https://qiita.com/nagahama/items/2fdc820791bee5d564ca) を参考に ``` $sudo amazon-linux-extras install epel #Amazon Linux でepel-releaseパッケージをインストール出来るようにする $sudo yum install epel-release #epel-releaseパッケージをインストール $sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm #remiリポジトリを使えるようにする $ sudo yum install epel-release $ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm $ sudo yum install -y php74 php74-php php74-php-fpm $ sudo ln -s /usr/bin/php74 /usr/bin/php ``` とやりました…… これで足りないのですね…… どうすればpdoをインストール?されるのかご教授頂けますようお願い申し上げます。
ma2hiro

2021/02/10 06:16

すいません…… sudo yum install -y php74 php74-php php74-php-fpm の時に sudo yum install -y php74-pdo みたいなのでインストール出来たかもと思ってきました…… あとからpdoを追加って出来ないのでしょうか???
m.ts10806

2021/02/10 06:41

MySQLはインストールしてますよね? ドライバーだけインストールしても意味ないです
ma2hiro

2021/02/10 06:46

m.ts10806さん コメントありがとうございます。 MySQLは下記のようにインストールしております。 ``` $ yum list installed | grep mysql mysql-community-client.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-client-plugins.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-common.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-devel.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-libs.x86_64 8.0.23-1.el7 @mysql80-community mysql-community-server.x86_64 8.0.23-1.el7 @mysql80-community mysql80-community-release.noarch el7-3 installed ```
m.ts10806

2021/02/10 06:50

なるほど。その話が全く出てこなかったので 接続確認くらいまではしておいてください。 あとコメント欄ではマークダウンは使えないので質問本文に追記を。
ma2hiro

2021/02/10 07:07

m.ts10806様 ご指摘ありがとうございます。 本文に追記しました。
guest

回答2

0

php7.4を入れたときと同様にyumで入れればいいんではないでしょうか。
多分

shell

1sudo yum install php74-pdo

みたいな感じでできるでしょう。
どのようにphpをインストールしたかによってやり方が変わるのでちょっと分かりづらいですが、適当に「php pdo 有効化」で検索しても何番目かで答えに近いものに行き当たります。
まずは先に調べてみてはいかがでしょうか。

ちなみに余談ですがAmazon Linux2ではamazon-linux-extras自体でphp7.4が入れられるのでremiを使う必要は実はあまりなかったですね。

投稿2021/02/10 06:24

yu_1985

総合スコア7447

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

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

ma2hiro

2021/02/10 06:38

yu_1985さん コメント本当にありがとうございます。 $ sudo yum --enablerepo=remi,epel install php74-php-pdo でなんとかインストール出来ました。 ご指摘の方法では ``` $ sudo yum install php74-pdo Loaded plugins: extras_suggestions, langpacks, priorities, update-motd 261 packages excluded due to repository priority protections No package php74-pdo available. Error: Nothing to do ``` と上手くインストール出来なかったのです…… またAmazonLinuxではデフォルトではPHP5.4が入ったのでremiを利用しました…… 「php pdo 有効化」で検索してもなんかWindows版しか見つかられないのでもう少し検索ワードをお教え頂けますと嬉しく思います。 有効化する方法を調査中です。 コメント本当にありがとうございました。
退会済みユーザー

退会済みユーザー

2021/02/10 08:38

php74-php-mysql とかなんとかがないと、 pdoからmysql系データベースへの接続もできなかった気がするけど。 ミニマルなテストコードも書いて接続確認を。
ma2hiro

2021/02/10 09:05

m6u さん ご指摘ありがとうございます。 $ sudo yum --enablerepo=remi,epel install php74-php-mysql と入れました。 簡単なテストコード書いて本当に出来たか確認しないと駄目ですね……
yu_1985

2021/02/12 11:53

amazon-linux-extrasを使えば、と書いたとおり、デフォルトではありません。 phpをインストールするにあたり参考記事でamazon-linux-extrasを使ってepelを有効化してますけど、それをするくらいならsudo amazon-linux-extras install php7.4 で良かったのでは?というのが言いたかったことです。 まあ、もうremiを使って入れたのでそのままでもいいと思いますけど。
ma2hiro

2021/02/15 02:49

yu_1985様 コメントありがとうございます。 sudo amazon-linux-extras install php7.4 で入るのですね…… ちょっとPHPのアンインストールが上手く行かないのですが 次入れる場合はそのように対処します。 ありがとうございました!
guest

0

有効化が分からなくて調査した所

【AWS】Amazon Linux 2でApacheがPHP7.4を実行出来ない | Points & Lines
によると古いバージョンでは

; Note: packaged extension modules are now loaded via the .ini files  ←こんな行があったのでその下に追記 ; found in the directory /etc/php.d; these are loaded by default. ;;;; extension=pdo.so extension=pdo_mysql.so

って書くようだから書いてみたら上手く行きましたっ
正式な方法ではないかも知れませんがこれにて解決とさせて頂きます。

コメント下さった皆様本当にありがとうございました。

投稿2021/02/10 08:26

ma2hiro

総合スコア157

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

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

退会済みユーザー

退会済みユーザー

2021/02/10 08:39

pdo_mysql.so が存在することを確認した上で、やってますか?
ma2hiro

2021/02/10 09:02

失礼しました。 仰るとおりpdo_mysql.so が今の所存在していませんでした…… ということはこのやり方は違うのかな…… もう少し調べてみます。 本当にコメントありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問