以前、PHP7でWordPressのローカル環境を構築している時のことです。
Apache、PHP7、MySQLのインストールも無事終わり、データベースも作成して「いよいよWordPressをインストールしよう!」と試みるも
Fatal error: Call to undefined function mysql_connect()〜
というエラーが発生し、WordPressがインストールできないという事態が発生しました。
PHP5で試した時には上手くいっていたのですが、PHP7にバージョンアップしてみるとどうしても上手くいきません。_| ̄|○
実はこのエラー、今では原因が分かって解決したのですっかり忘れていたのですが、最近、同じエラーで悩まれている方からお問い合わせがあり、私もエラーが発生した時に、さんざん苦労したことを改めて思い出しました。
そこで今回は、「Fatal error: Call to undefined function mysql_connect()〜」エラーが表示されてWordPressがインストールできない時の対処法をご紹介します。
お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。
というエラーが表示された際も対処できると思います。同じ状況でお悩みの方もご参考いただければと思います。
エラーの原因は?
「Fatal error: Uncaught Error: Call to undefined function mysql_connect()」
直訳すると、「未定義の関数mysql_connect()を呼び出した」という意味です。
つまりmysql_connect()が使えなかったことが原因のようです。
いろいろ調べてみると、PHP 7ではPHP5まで使われていたMySQL関数が廃止されているため、WordPressがMySQL関数を利用しようとした際にエラーが発生してしまっているようです。
PHP5からPHP7へ切り替えた際に表示されるエラー
お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。
も同じくPHP7がMySQL関数を利用できないことが原因だと思います。
〈対処法〉PHP7のMySQLi機能拡張「extension=mysqli」を有効にする
WordPressではPHP7から利用できなくなったMySQL関数の代わりにMySQLi関数を利用します。
しかしPHP7をインストールしただけでは、MySQLi関数が有効になっていないため、WordPressはMySQLi関数を利用することができません。
そこでPHPの設定ファイル「php.ini」を編集し、MySQLi機能拡張「extension=mysqli」を有効にする必要があります。
編集方法はとても簡単です。php.iniの898行目あたりに記載されている
; extension=mysqli
の「;」を削除し
extension=mysqli
とするだけです。(PHPの機能拡張は、それぞれの機能拡張の先頭の「;」を削除することで有効になります。)
これで、MySQLi機能拡張が有効になりWordPressがMySQLi関数を利用できるようになります。
原因と対処法が分かってしまえば、決して対処が難しいことではないのですが、分かるまでは私もとても苦労しました。よろしければご参考いただければと思います。
PHP7の詳しいインストール・設定方法については、こちらでもご紹介していますので、合わせてご参考ください。
「Fatal error: Call to undefined function mysql_connect()〜」エラーが表示されてWordPressがインストールできない時の対処法の紹介は以上です。
コメント