PHP 7.3にして、WordPressをみてみたら「データベース接続確立エラー」の表示。お久しぶりっす!!
データベースのユーザー名・パスワードに変更がない・MySQLのバージョンを変更していないならphp.iniでの接続設定に問題がありそう。
mysqlのsocketの設定をみてみる
php.iniの場所を調べる
$ php --ini Configuration File (php.ini) Path: /Users/<USER_NAME>/.phpbrew/php/php-7.3.1/etc Loaded Configuration File: /Users/<USER_NAME>/.phpbrew/php/php-7.3.1/etc/php.ini
php.ini
を開いてdefault_socket
で検索。
mysqli.default_socket
に何も設定されてなかったのが原因のようです。
[MySQLi] ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. ; http://php.net/mysqli.default-socket mysqli.default_socket = /tmp/mysql.sock
PHP7.3とPHP5.6のphp.ini
にあるdefault_socket
の違いのメモ
socket | PHP7.3 | PHP5.6 |
---|---|---|
pdo_mysql.default_socket | あり | あり |
mysql.default_socket | なし | あり |
mysqli.default_socket | あり | あり |
PHP7ではmysql_connect
関数が削除されたためでしょう。mysql.default_socket
が存在していません。
PHP5系のときはmysql.default_socket
だけ設定しておけばWordPressとのデータベース接続は出来ていたのですが、PHP7からはmysqli.default_socket
にsocketのパスを設定しておかなければWordPressが「データベース接続確立エラー」になってしまいます。pdo_mysql
だけではWordPressはダメみたいです。(PHP5.xでもmysqli
に設定しておくほうが良さそうな気がしますが...
PHP7を入れ直したので設定し忘れでした... orz
[参考]
mysql_connect
警告 この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。
出典: PHP: mysql_connect - Manual
- Mac OSX 開発環境セットアップのメモ (5) phpbrewでPHPをインストール - かもメモ
- Mac OSX 開発環境セットアップのメモ (6) ApacheでPHPが動くようにする - かもメモ
- PHP phpbrewで古い環境のPHPを動作させたメモ - かもメモ
- 作者: 大重美幸
- 出版社/メーカー: ソーテック社
- 発売日: 2016/07/01
- メディア: 単行本
- この商品を含むブログを見る