皆さま、こんばんは。今日の今日までさんざん苦労させられた、wordpressのマルチサイトをローカルに移転するおこったトラブルについて語っていきたいと思います。
そもそもなぜ移転する気になったかと申しますと、wordpressにいろいろな自作ゲームをあげていこうと考え、それをいきなりサーバーでやるのは怖いなと思ったからです。しかし、移転が完了した後に技術に詳しい友達に言ってみたら、wordpress上でゲームを公開するのは珍しいといわれてしまいました(えっ)。
それはともかく、今回は接続しようとした途端に「お使いのサーバーの php では wordpress に必要な mysql 拡張を利用できないようです。」と表示されるエラーについてです。
このエラーが出た瞬間、文章をググってみると多くの結果が表示されるので、しめしめ楽勝だぜ~と侮っていた私でしたが大きな勘違いでした(笑)ググってみると色々な対処法が出てきます。まとめてみると以下のように分類できるでしょう。なるべく調査の上で記述していますが、初心者ゆえ多少の間違いなどはあるかもしれません。見つけていただけましたらご指摘のほどよろしくお願いいたします。
0. そもそもPHPの拡張モジュールとは
具体的な対処法に入る前に、phpの拡張モジュールの仕組みをざっと理解していたほうがいいでしょう。当然ではありますが、phpの拡張モジュールとはphp extensionのことです。このモジュールはextフォルダ(拡張機能を入れる)の中に入っていて、phpに様々な機能を付加しています。また、一つ一つのモジュールはname(任意の機能の名前).dllという名のファイル形式になっています(windowsの場合)。そして、このphpの拡張モジュールを設置する場所をphp.iniのextension_dirで指定して読み込んでいます。ちなみに私の場合は"C:\xampp\php\ext"に拡張モジュールが入っています。
1. MySQLに接続するためのPHPの拡張モジュールが入っているかどうか確認
こちらのようにコマンドライン(コマンドプロンプト、あるいはコンソールといった環境を使用する方法)を使って確認する方法がネットでは広く紹介されています。そちらの方がより正確な方法なのでしょうが、初心者にとっては結構ハードルが高いのではないでしょうか。初心者である場合は上術のextフォルダの中のdllファイルを調べるのが、早いのではないでしょうか。
extフォルダの中にphp_mysql.dllやphp_mysqli.dllが見当たらない場合は拡張モジュールが入っていない状態だと思います。私は詳しくないので、他にも必要なモジュールはあるようです。こちらのページなどが参考になるでしょう。とはいえほとんどの場合はphp_mysqlが欠損しているなど少し見れば一目瞭然だと考えます。
拡張モジュールをインストールしても、それを有効化しなくては意味がありません。この設定はPHPのバージョンによっても対処が異なるようですので、こちらのページ等で確認するといいでしょう。
## 3. httpd.confの設定を確認(Apacheのフォルダ内)また、wordpressはApacheを使っているため、Apacheからphpを利用するための設定もしなくてはなりません。この設定についてはこちらやこちらのサイトを参照するといいでしょう。