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

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

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

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

PHP

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

Q&A

解決済

1回答

9799閲覧

PDOがエラーになる

Beronika

総合スコア18

MySQL

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

PHP

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

0グッド

1クリップ

投稿2019/08/07 13:11

先日、自分のパソコンのローカル開発環境について、PHPをVersion7にしました。
PHPは無事に動くのですがMySQLを導入しているサイトをを開いたときに下のようなエラーが出てしまいます。

192.168.33.1:51788 [500]: / - Uncaught Error: Class 'PDO' not found in (エラーの場所)

どうやらPDOにエラーが発生しているようです。
このエラーはどのようにしたら解決するでしょうか?

試したこと

1、「Class 'PDO' not found」で検索をかける

いくつかサイトを発見しました。

<有力参考サイト>
https://teratail.com/questions/92496
一番現状に近いと思いますが、「rpm -qa | grep php」の出力結果の確認方法がわからなかったです。
以下が出力です。

php71-php-json-7.1.30-3.el6.remi.x86_64 php71-php-mbstring-7.1.30-3.el6.remi.x86_64 php-common-7.3.7-3.el6.remi.x86_64 php56-php-common-5.6.40-12.el6.remi.x86_64 php71-runtime-2.0-1.el6.remi.x86_64 php71-2.0-1.el6.remi.x86_64 php-json-7.3.7-3.el6.remi.x86_64 php-7.3.7-3.el6.remi.x86_64 php56-php-pecl-jsonc-1.3.10-1.el6.remi.x86_64 php71-php-cli-7.1.30-3.el6.remi.x86_64 php71-php-pdo-7.1.30-3.el6.remi.x86_64 php-cli-7.3.7-3.el6.remi.x86_64 php56-runtime-3.0-1.el6.remi.x86_64 php56-php-pdo-5.6.40-12.el6.remi.x86_64 php71-php-common-7.1.30-3.el6.remi.x86_64 php71-php-xml-7.1.30-3.el6.remi.x86_64 php-mbstring-7.3.7-3.el6.remi.x86_64 php56-php-pecl-zip-1.15.4-1.el6.remi.x86_64

https://codeday.me/jp/qa/20190102/103715.html
このサイトではPDOを実際にダウンロードをするサイトになっているのかと

yum install php-pdo yum install php-pdo_mysql service httpd restart

このコードをターミナルに入力してみたら以下のエラーが出てしまいます。

読み込んだプラグイン:fastestmirror インストール処理の設定をしています Loading mirror speeds from cached hostfile * base: ftp.riken.jp * epel: nrt.edge.kernel.org * extras: ftp.riken.jp * remi-safe: ftp.riken.jp * updates: ftp.riken.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package php-pdo.x86_64 0:5.3.3-49.el6 will be インストール --> 依存性の処理をしています: php-common(x86-64) = 5.3.3-49.el6 のパッケージ: php-pdo-5.3.3-49.el6.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: php-pdo-5.3.3-49.el6.x86_64 (base) 要求: php-common(x86-64) = 5.3.3-49.el6 インストール: php-common-7.3.7-3.el6.remi.x86_64 (@remi-php73) php-common(x86-64) = 7.3.7-3.el6.remi 利用可能: php-common-5.3.3-49.el6.x86_64 (base) php-common(x86-64) = 5.3.3-49.el6 問題を回避するために --skip-broken を用いることができません これらを試行できます: rpm -Va --nofiles --nodigest

なのでダウンロードすることができず、結局わからずじまいです。

2、「pdo 導入」で検索
MySQLは入っていると思い、PDOが導入されていないのではと思い検索
PDOのダウンロード方法は結局わからなかった

3、php.iniの設定変更
ここまで調べてみた際にphp.iniの設定が悪いのかと思い始める
よって、php.iniの設定も行なった

//PDOを利用する extension=php_pdo.dll //PDO経由で利用するデータベース用のDLL extension=php_pdo_mysql.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll

こちらを設定しても結局エラーは消えないです。

バージョン

<php -version>
PHP 7.3.7 (cli) (built: Jul 3 2019 15:24:22) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

<mysql --version>
mysql Ver 14.14 Distrib 5.6.44, for Linux (x86_64) using EditLine wrapper

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

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

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

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

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

guest

回答1

0

ベストアンサー

//PDOを利用する extension=php_pdo.dll //PDO経由で利用するデータベース用のDLL extension=php_pdo_mysql.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll

↑これは元に戻してください。*.dll はWindows用のライブラリなのでダメ。
yum が使えるということはあなたの環境はLinuxであるはずです。

実行すべきコマンドは

yum install php-pdo yum install php-pdo_mysql

ではなく、

yum install --enablerepo=remi-php73 php-pdo yum install --enablerepo=remi-php73 php-pdo_mysql

です。

インストール: php-common-7.3.7-3.el6.remi.x86_64 (@remi-php73)

を見るかぎり、@remi-php73 とあるのでインストール済みのPHPはremi-php73レポジトリからインストールされていることがエラーメッセージから読み取れます。

投稿2019/08/07 13:41

編集2019/08/07 13:48
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Beronika

2019/08/07 15:32

ありがとうございます。 無事に解決することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問