ここから本文です

pdo_mysql モジュールが見つかりません。 PHPの勉強をしていてMySQLの章になり...

アバター

ID非公開さん

2020/7/721:00:03

pdo_mysql モジュールが見つかりません。

PHPの勉強をしていてMySQLの章になり、以下の事をしました。

php.ini内
・extension=pdo_mysql このコメントアウトを外しました。

サーバーを起動すると、以下のようなエラーが出ます。

PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/extensions/no-debug-non-zts-20180731/pdo_mysql


・PHP7.3.11
・gulpにてgulp-php-connectとbrowserSyncでローカルサーバーを立てています。
・phpinfoのextension_dirでは ./ を指してます。たぶん/usr/lib/php/extensions/no-debug-non-zts-20180731のことだと思います。
・php -mでインストールされているモジュールを確認すると、pdo_msqlの項目が見つけられますが、/usr/lib/php/extensions/no-debug-non-zts-20180731/ フォルダの中を見てみると、
opcache.so、xdebug.soの2つのファイルしかありません。

原因がわかる方、よろしくお願いいたします。

補足どうも実行している PHP の場所が違うようです。
調べてみると、ローカルにはいくつかのPHPがインストールされていました。
phpinfo()から、どこにインストールしたPHPが動いているのか調べる方法はありますか?

閲覧数:
20
回答数:
3
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tezcelloさん

2020/7/813:55:22

> extension=pdo_mysql このコメントアウトを外し
> Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/extensions/no-debug-non-zts-20180731/pdo_mysql
> /usr/lib/php/extensions/no-debug-non-zts-20180731/ フォルダの中を見てみると、
> opcache.so、xdebug.soの2つ
エラーメッセージの通り、指示した場所に目的のモノが無いからですね。
必要なモノをインストールしていないか、インストールした場所が違うかのどちらかでしょう。
ソースを探し切れていませんが、pdo_mysql だけではなく mysqlndも必要だったと思います。

その他のモジュールを全く読み込んでいないなら良いかもしれませんが、使い物にならないからそんなことは無いと思います。
extension_dirをきちんと確認する事と、他のモジュールをどこでどうやって読み込んで切るかの確認が必要かもしれません。

> phpinfoのextension_dirでは ./ を指してます。たぶん/usr/lib/php/extensions/no-debug-non-zts-20180731
phpinfo() の結果を見る事が出来ているようですから、そちらできちんと確認を。

> php -mで(略)pdo_msqlの項目が見つけられます
pdo_msql ?
pdo_mysql の間違い?

モジュールとしてリストアップされているなら、機能するはず。
ひょっとして、複数個所で読み込もうとしているとか?
__複数の .iniが読み込まれていて、異なる場所(ファイル)で
__読み込もうとしている?


> どうも実行している PHP の場所が違う
なぜそう思うのでしょうか?
__何事も裏付けが必要です


> gulpにてgulp-php-connect
> phpinfo()から、どこにインストールしたPHPが動いているのか調べる方法
gulp-php-connectの設定をやっているのでしょうから、そちらに記述しているのでは?
__バイナリを指定してやる事も可能な様です

意識しないで利用しているとしたら、パスの通っているものを利用しているのかもしれません。
phpinfo() の結果にはサーバの情報も出て来るでしょうから、それらの中からバージョンなどを頼りに調べる事が出来るかもしれません。

同じバージョンが複数あるとすると、インストールのミスも考えられますし、何か別の仕組み管理しているのかもしれませんので、部外者には調べ様がありません。


> gulpにてgulp-php-connectとbrowserSyncでローカルサーバーを立て
たしか、PHPのビルトインサーバを起動するんだったかと...
「チョッとお試し」ならいいと思うけど、通常のウェブサーバとは挙動が違うんじゃないかなぁ?

PHPが動作する環境の構築が目的じゃなく、そういう環境が欲しいだけなら、情報が少ないとか手間がかかるとかの方法じゃなく、一発で(ほぼ)環境が整う XAMPPとか、ごく普通の環境(Apacheとか)で構築した方が早いんじゃないかなと思います。
__UNIXやLinuxだってパッケージマネージャで
__必要なパッケージを列記するだけで基本的には使える
__多分 debian系よりも CentOSの方がその辺り優しい気が...



検証できないとか、詳しく検索できない質問だと、「~だとすると」「~かもしれない」「~かなぁ」ばっかりになってしまいます。
__サーバOSも、PHPのインストールに関する情報も無いし

アバター

質問した人からのコメント

2020/7/9 08:46:34

ご丁寧にありがとうございます。
頂いた返答をもとに見直してみます。
ありがとうございました。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

leg********さん

2020/7/808:46:04

今のPHPのバージョンですと「pdo_mysqli」になるかと思うのですが?
併せて必要なパラメータも変わってくると思います。

プロフィール画像

カテゴリマスター

shimixさん

2020/7/808:37:49

phpinfo() で・・・ということはApacheがLoadする(している)phpのpathが知りたいのですよね。

であればApacheのconfファイルを読む方が早いのでは?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる