- 更新日: 2015年3月29日
- WordPress
WordPressでmysql.sock(MySQLソケット)のパス設定
ローカルマシンに立てた Apache で WordPress を動作させようとしたところ、以下のエラーメッセージがブラウザに表示されて、MySQL への接続が上手くいかないエラーが発生しました。
1 2 3 |
( ! ) Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in /path/to/wp-includes/wp-db.php on line 1138 |
“No such file or directory (trying to connect via unix:///tmp/mysql.sock)” というメッセージが表示されたので、MySQL のソケットの場所が絡むエラーだなと思い立ちました。
ローカルの MySQL ソケットの場所を変更していたのが原因
先ほどのメッセージから、WordPress は /tmp/mysql.sock のソケットを読みに行っていることが分かった。一方で、以前 Rails の開発でローカルとサーバー側のソケットの場所を統一させるために、ローカルの MySQL ソケットの場所を変更していたのを思い出しました。ブログにもその記録がありました。
Macローカル開発環境のMySQLソケットの場所を変更 | EasyRamble
/var/lib/mysql/mysql.sock に MySQL ソケットの場所を変更していたのですね。なので WordPress が、/var/lib/mysql/mysql.sock を MySQL のソケットの場所として読みに行くように設定すれば良い。
WordPress 側での MySQL ソケット(mysql.sock)のパス設定
WordPress 側で MySQL ソケットのパスを指定する方法は、以下のドキュメントに書いてある。
MySQL ソケットまたはパイプ | wp-config.php の編集 – WordPress Codex 日本語版
WordPress の設定ファイルである wp_config.php で、以下のように編集します。
wp_config.php
1 |
define( 'DB_HOST', 'localhost:/var/lib/mysql/mysql.sock' ); |
wp_config.php 内の DB_HOST の定数定義に、「ホスト名:MySQLソケットのパス」をしてすれば良い。この対策であっさりと MySQL への接続が成功して、WordPress が正常に動作しました。めでたし。
- WordPress の関連記事
- WordPressをTwitter Bootstrapでレスポンシブデザイン対応
- WordPressブログに更新日を表示
- WordPressにOGP設定・プラグインなしでFacebook/Twitter Cards対応
- WordPressでパンくずリスト・複数の親子カテゴリーを表示
- WordPressでプライベートな非公開ブログを運用
- BackWPupでエラー ERROR: Dropbox API: (35)
- ブログ・WordPress記事をFacebookに自動投稿するIFTTT設定
- RSS Graffitiが終了…代替にはIFTTTが使える
- WordPressで親カテゴリーに属する子カテゴリーの一覧を出力
- wp_list_categoriesでリンクなしで投稿数ゼロのカテゴリを表示 – WordPress
Leave Your Message!