【PHP+MySQL】ハマり中 (3) ~PHPからMySQLに繋がらない~

「ちょっと実験」のつもりが、全くちょっとで済まなくなった件('A`)

 

【httpd+PHP】ハマり中 (2) ~PHPが動かない~

 

 

 

 

前回までのおさらい

 

PHPが動かん!

→php-fpmが(おそらく設定不備で)動かないので、preforkで動かすことにする。

→動いた

→(WordPressのセットアップをしようとしたら)今度はMySQLに繋がらん!

          /\
     . ∵ ./  ./|
     _, ,_゚ ∴\//   ←今この辺
   (ノ゚Д゚)ノ   |/
  /  /
 ̄ ̄ ̄ ̄ ̄ ̄

 

Chromeで開くと以下のメッセージがブラウザに出力された。

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

 

ググってみると沢山出てきたw

 

そもそも利用できないって何よ。入れただろ確か。

 

# ll /usr/lib64/php/modules/ | grep mysql

・・・と打ってみると

 

ない

 

皆無~皆無~

 

 

もうMySQLが入っているはずなのに何故?

バージョンの問題かと思ってMySQLをyum uupdateしてみる。

なんかマイナーバージョンが上がったな。

それで解決すれば良いんだけど。

 

やっぱり何もない。

更にググってみると、PHP7でmysql関数が使えない事がわかった。

マジか。

 

仕方なくmysqliを入れる。

# yum -y install php-mysqli

んで/etc/php.ini

extension=mysqli

を追加。

 

 

これで動くだろうと思ったら、またエラーが出た('A`)

 

PHP Warning: mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password] in~~

 

またググる

Mysql8から認証方式がcaching_sha2_passwordに変わったが、PHPはまだ対応していないので

エラーになるそうだ。

いやホント勘弁して欲しいんですけどこういうの。

 

DBがどういう状態なのかを確認してみる。

select User, Plugin from mysql.user;

 

バッチリcaching_sha2_passwordになってた('A`)

そりゃそうだよな・・・変わってるなんて思わないでセットアップしたんだから。

 

っつーわけで、

ALTER USER '※ユーザ※'@'localhost' IDENTIFIED WITH mysql_native_password BY '※パスワード※';

で変更してやろうと。

 

 

ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 51, found 50. Created with MySQL 80013, now running 80015. Please use mysql_upgrade to fix this error.

 

なんか嫌なエラ-。

肝となるテーブルの定義が変わってないかオイ。

そういうのアップデートした時に一緒に修正かかるんじゃないの?

いちいちユーザが直せ と?

 

直しても良いけど、他にも影響があるかもしれなくて

その都度あれこれするのは嫌なので諦めて環境を捨てることにする。

 

こういうときVMって楽で良い。

イジる前の状態にサクッと戻す。

ファイルのコピーだけだから数分レベルだし。

 

 

ポイント

 

php-fpmを使わずにpreforkで動かす(逃げただけなので、いずれちゃんと調査したい

 

MySQLのバージョンは上げない&mysql_native_passwordを使う

データベースやユーザを作る前に、ユーザ作成時にmysql_native_passwordになるようにする。

/etc/my.cnf

[mysqld]
default-authentication-plugin = mysql_native_password

を追加。

 

mysqliを使用する

# yum install php-mysqli

/etc/php.iniに

extension=mysqli

を追加。

 

で、無事に動いた。

こんなんでGWを半分以上潰したんだよなぁ・・・('A`)

 

カテゴリー: Web, ソフトウェア, 技術的 タグ: , , , ,  [パーマリンク]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です