XAMPPに入っているPHPのバージョンが古くなっていたので、いっそのこと古いXAMPPは丸ごと消してXAMPPを新たに新規インストールしてみようと思い立ち、ここ数日XAMPPを使ったローカル開発環境にWordPressを入れすだけの作業に多くの時間を取られてしまいました。
ここではXAMPP8.1.12バージョンに新しくWordPressの環境を作ろうとしてエラーが出てしまった過程と解決方法をメモしていこうと思います。
- 最新版のXAMPPをダウンロード
- 以前ダウンロードしておいたWordPress5.6を使ってWordPressの環境を構築しようとしたがエラーの連続…
- Access denied for user root@localhost using password YES
- Fatal error: Uncaught mysqli_sql_exception: Access denied for user ‘username_here’@’localhost’ (using password: YES) in
- 「サイトに重大なエラーがありました。」
- Fatal error: Uncaught mysqli_sql_exception: Table ‘wordpress.wp_options’ doesn’t exist
- 番外編
- おわりに
最新版のXAMPPをダウンロード
まずは最新版のXAMPPを公式サイトよりダウンロードしました。私が今回ダウンロードしたのはWindows版の8.1.12というバージョンです。
ダウンロードが終了したら、デフォルトの設定のままインストールしていきます。
以前ダウンロードしておいたWordPress5.6を使ってWordPressの環境を構築しようとしたがエラーの連続…
XAMPPが使える状態になったら、次はhtdocs内に作業フォルダを一つ作り、その中にすでに持っていたWordPress5.6をコピーして開発環境を構築しようと考えました。
ちなみに、現在のWordPressの最新版は6.1.1です。
私はこのとき最新のWordPressを公式サイトからダウンロードするのが面倒であったため、以前ダウンロードしたことがあった5.6のバージョンでとりあえず環境を作っておいて、そして、WordPressの管理画面から最新のWordPressにすればいいだろうと考えていたことが結果的に大きな間違いだったのです。
先に何が問題だったのか紹介すると、
こちらのページにヒントがあったのですが、
どうやらこのページでは、XAMPP8.1.1とWordPress5.8.2もしくは5.8.3と相性が悪いということが書かれていました。
The problem seems to be that WP 5.8.3 has deprecated PHP code
https://wordpress.org/support/topic/table-doesnt-exist-15/page/2/
WordPress5.9を使う場合にはエラーにならないとあったので、もしかして私の環境もただ古いWordPressを使って環境を整えようとしたのがエラーの原因ではないかと考えました。
そこで私はhtdocs内にコピーしていたWordPressをすべて消し、新たにWordPressの公式サイトからダウンロードしてきた6.1.1を使って環境を構築してみると、先ほどまでのエラーの数々、エラーのループが嘘みたいにWordPressの環境を構築することができたのです。
したがって、WordPressの環境を作ろうと思っていて、エラーが出て、その解決方法をことごとく試したのに、なぜかWordPressがインストールできないという方は、もしかしたらXAMPPとインストールしようとしているWordPressのバージョンが合わないという可能性があるのではないか?ということを伝えるための記事です。
以下は個人的な備忘録として、エラーを消すために試してみたことを覚えている範囲で追記していこうと思います。
Access denied for user root@localhost using password YES
もはや一番出くわしたエラーがこのphpMyAdminにログインできないときのエラー。phpMyAdminにログインできないということはWordPressに使うためのデータベースを作れないということだったと思うので、早急にクリアしたいエラーだと思います。
解決方法として多くのサイトで紹介されていたのは、
C:\xampp\phpMyAdmin内にあるconfig.inc.phpというファイル内の以下の箇所に
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'password';
ユーザ名とパスワードを入力するということです。例えばrootというユーザ名のパスワードをpasswordと設定したとするならば、config.inc.phpというファイルにもそのように入力しておくということです。また、一番最初の[‘auth_type’]の値について、’cookie’もしくは’http’とするといいと書いてあるところが多かったです。情報の中にはauth_typeについては’cookie’と設定しておき、userについては’root’、パスワードについては記入しないと紹介されているサイトがあったりといろいろ方法を試してみましたが、とりあえず現状の私の状態は上記のコードの通りでphpMyAdminにはログインできるようになっているようです。
YouTubeの解説動画を参考にしていたときもありました。一応メモしておきます。
Fatal error: Uncaught mysqli_sql_exception: Access denied for user ‘username_here’@’localhost’ (using password: YES) in
「サイトに重大なエラーがありました。」
WordPressをインストールしようと、データベース名、データベースのユーザー名、データベースのパスワード、データベースのホスト名、テーブル接頭辞といった情報をしっかり入力するのですが、一行に次の画面に遷移せずに、このメッセージが表示されるということがありました。
このときに入力した情報というのは、wp-config.phpというファイルに自動で書き込まれる仕組みになっているらしいです。したがって、このファイルが何らかの理由で作られなかったとしても、WordPressにあらかじめ入っているwp-config-sample.phpというファイルの中身を自分で入力し、そのファイルwp-config.phpとしてリネームすることでも目的を達成できると紹介してあって、幾度となくその方法で試してみたのですが、まるで意味がなかったです。
Fatal error: Uncaught mysqli_sql_exception: Table ‘wordpress.wp_options’ doesn’t exist
こちらのエラーはいろいろやりまくって、解決する少し前に出始めていたエラー文章。
結果的にこちらのエラー文章をググることで、XAMPPとWordPressのバージョンの組み合わせに問題があるという解決方法を知ることができました!このエラー文章が最終的にどういう形で表示されるに至ったのか、ちゃんとした記憶がないので、思い出し次第また追記したいと思います。
番外編
いろいろ試す中で、下のサイトの方の方法も試してみたりしましたが、結果的にはうまくいきませんでした。
おわりに
ここで一応まとめを書いておくと、新しく開発環境を整える際には、今ある最新のバージョンをめんどくさがらずにダウンロードしてインストールしようとすることが大切だなと今回深く感じました。
開発環境を整えるために、コマンドラインで魔法のようにやってしまえる方がうらやましく感じます。というより尊敬ですね。
今回は開発環境の準備だけで一度心が折れてしまいましたが、何とか元の状態まで戻ってくることができました。これでようやく試してみたいことが試せます。
コメント