PHPからMySQL接続で”No such file or directory”
PDOによりMySQLに接続しようとしたところ、mysql.sockファイルが無いという意味のエラーです。
PHPで設定されているmysql.sockのパスが見てみます。
〜(省略)〜
pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock
なお、本来のsockファイルのパスは
です。
そこで、php.iniファイルを編集します。
/etc/php.ini
mysql.default_socket = /var/lib/mysql/mysql.sock
mysqli.default_socket = /var/lib/mysql/mysql.sock
ここで、php --ini を見ると、
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
となっており、先程編集したphp.iniを見ていないようです。
そこで、先程の/etc/php.iniを/usr/local/libにコピーしました。
すると、
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /usr/local/lib/php.ini
となり、php.ini内容が反映されたようです。
では、php --ri pdo_mysql を見てみます。
pdo_mysql.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock
php.iniの内容が反映されました。
データベースエンジニア教本 MySQL & PostgreSQL & NoSQL編 (Software Design別冊)
- 作者: Software Design編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2017/10/13
- メディア: 単行本
- この商品を含むブログを見る
詳解MySQL 5.7 止まらぬ進化に乗り遅れないためのテクニカルガイド (NEXT ONE)
- 作者: 奥野幹也
- 出版社/メーカー: 翔泳社
- 発売日: 2016/08/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る