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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Q&A

解決済

1回答

2687閲覧

CentOSでMysql(MariaDB) データベースを使う

ryohasegawa

総合スコア437

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

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

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

0グッド

0クリップ

投稿2017/01/23 12:39

編集2017/01/23 13:47

CentOS7にMariaDBをインストールし、コンソールからはMacのデータベースにアクセスできました。
でも、PHPからそのデータベースにアクセスしようとすると、ブラウザの画面にcould not find driverと表示します。
これの解決方法を教えてください。
###追記
ネットで調べていたら、PDOにMysqlを登録する必要があるとわかったのですが、調べてもyum -y install mysql-develを実行するみたいなんですが、CentOS7からはMariaDBに切り替わっていて、CentOS7でのやり方がわかりません。
イメージ説明

DBへのアクセス

$dbh = connectDB(); $entries = array(); $sql = "select * from entries order ny created desc"; foreach($dbh->query($sql) as $row){ array_push($entries, $row); } var_dump($entries); exit; function connectDB(){ try{ return new PDO(DSN, DB_USER, DB_PASSWORD); }catch(PDOException $e){ echo $e->getMessage(); exit; } }

###追記2
yum -y install php-mysqlの実行結果

[ryo@http ~]$ sudo yum install php-mysql [sudo] password for ryo: 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.jaist.ac.jp * extras: ftp.iij.ad.jp * remi-safe: mirrors.mediatemple.net * updates: ftp.iij.ad.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ php-mysql.x86_64 0:5.4.16-42.el7 を インストール --> 依存性の処理をしています: php-pdo(x86-64) = 5.4.16-42.el7 のパッケージ: php-mysql-5.4.16-42.el7.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: php-mysql-5.4.16-42.el7.x86_64 (base) 要求: php-pdo(x86-64) = 5.4.16-42.el7 インストール: php-pdo-7.0.15-1.el7.remi.x86_64 (@remi-php70) php-pdo(x86-64) = 7.0.15-1.el7.remi 利用可能: php-pdo-5.4.16-42.el7.x86_64 (base) php-pdo(x86-64) = 5.4.16-42.el7 問題を回避するために --skip-broken を用いることができます。 これらを試行できます: rpm -Va --nofiles --nodigest

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

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

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

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

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

ynakano

2017/01/23 12:48

ロクに調べもしない、自己解決しても内容を共有しないでこの質問ってさすがにひどくないですか?
s8_chu

2017/01/23 12:48

「PHPからそのデータベースにアクセスしようとすると」どのようにアクセスしようとしたのでしょうか?
ryohasegawa

2017/01/23 12:54

ynakano さん、自己解決はどの質問ですか?
ryohasegawa

2017/01/23 12:58

ynakano 完全に見過ごしです。今から書いてきます。
退会済みユーザー

退会済みユーザー

2017/01/23 12:58

「could not find driver」がどこのソースコードで出ているのかを調べていないのでしょうか?調べていれば、提示すべきソースコードはそこじゃないとわかるはずです。
ryohasegawa

2017/01/23 13:00

どこででているか調べる方法があるのですか?
s8_chu

2017/01/23 13:02

追記のソースコードにあるconnectDB()とはなんでしょうか?
ryohasegawa

2017/01/23 13:07

s8_chu 追記させてもらいました。DB接続のユーザやパスワードを呼び出しています。
ryohasegawa

2017/01/23 13:11

echo "<pre>"; var_dump($array); echo "</pre>"; という方法があると調べてでてきたんですが、それ以前にこれが使えない状況です。
ryohasegawa

2017/01/23 13:12

connectDB()を実行すると、 could not find driver と表示されてしまいます。
s8_chu

2017/01/23 13:17

PDO driversはsqliteのみになっていますが、よろしいのですか?
退会済みユーザー

退会済みユーザー

2017/01/23 13:23 編集

mysqlはmacに入っているのか、CentOSに入っているのか? PHPはmacに入っているのか、CentOSに入っているのか?
ryohasegawa

2017/01/23 13:30

一応CentOSにもMacにも両方入っています。でも、MacではPHP必要ないと思います。
ryohasegawa

2017/01/23 13:30

PDO drivers にmysqlを追加したら、この問題解決すると思うんですが、うまく追加できないんです。
退会済みユーザー

退会済みユーザー

2017/01/23 13:31

聞きたいことはそういうことじゃありません。phpのプログラムはどこにあって、どっちのMySQLに繋ごうとしているのかということ。
ryohasegawa

2017/01/23 13:37

データベースはMacにあり、CentOSでphpを表示するプログラムが動いています。
guest

回答1

0

ベストアンサー

CentOS で

bash

1yum -y install php-mysql

以下の部分から、remi-php70 レポジトリを利用していることがわかる

bash

1インストール: php-pdo-7.0.15-1.el7.remi.x86_64 (@remi-php70)

でも、読み込みしているレポジトリに remi-php70 が含まれていない。

bash

1Loading mirror speeds from cached hostfile 2 * base: ftp.iij.ad.jp 3 * epel: ftp.jaist.ac.jp 4 * extras: ftp.iij.ad.jp 5 * remi-safe: mirrors.mediatemple.net 6 * updates: ftp.iij.ad.jp

実行すべきコマンドは

bash

1yum -y --enablerepo=remi-php70 install php70-mysqlnd

投稿2017/01/23 13:38

編集2017/01/23 13:54
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ryohasegawa

2017/01/23 13:42

そのコマンドを2時間くらい前にも実行したんですが、エラーがでまして追記します。
退会済みユーザー

退会済みユーザー

2017/01/23 13:45

じゃあ、こっち。 php70-php-mysqlnd
退会済みユーザー

退会済みユーザー

2017/01/23 13:50

つか、remi でインストールしていることはあなた自身がやっているんだから、--enablerepo=remi つけて実行せんかね。
ryohasegawa

2017/01/23 13:52

実行すると一応通りました。httpdを再起動かけたんですが、PDO driversはsqliteのままでcould not find driverと表示したままです。このコマンドでインストールする他になにかしないといけないのでしょうか?
退会済みユーザー

退会済みユーザー

2017/01/23 13:55

追記したので、よく読んで、理解をしてください。
退会済みユーザー

退会済みユーザー

2017/01/23 13:56

> 実行すると一応通りました。 どうせエラーメッセージ読み飛ばしているんでしょう。いつものことです。
ryohasegawa

2017/01/23 13:57

ありがとうございます。できました。感謝します。
退会済みユーザー

退会済みユーザー

2017/01/23 13:58

できたかどうかより、理解したかどうかの方が重要。
ryohasegawa

2017/01/23 14:07

PHPでMariaDBを扱うのに必要なドライバが入っていなかった事によりエラーですよね?
退会済みユーザー

退会済みユーザー

2017/01/23 14:15 編集

yum のメッセージの見方のほう。トラブルをどうやって解決するのかということ。 結論だけを求めるのではなく、結論にに至るまでのプロセスを訓練しなきゃいかん。
ryohasegawa

2017/01/23 14:16

remi-php70を使っているが、読み込みしているレポジトリに remi-php70が含まれてないから、追加したという事ですよね? 説明してもらっているからわかっているってのが9割あります。自分でできるかって言われたらできないです・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問