php使用pdo连接报错Connection failed SQLSTATE的解决方法


Posted in PHP onDecember 15, 2014

本文实例讲述了php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题的解决方法。分享给大家供大家参考。具体方法如下:

错误描述:

Connection failed: SQLSTATE[HY000] [2002] No such file or directory

环境概述:
MacOS
xampp 搭建的开发环境 apache mysql php
xampp 已支持mysql oracle 测试ok,且 phpinfo已上显示支持pdo_mysql pdo_pgsql pdo_sqlite

其中mysql我用的是brew包管理安装到机器里面的,而非xampp自带的mysql

php pdo 连接报错 Connection failed: SQLSTATE[HY000] [2002] No such file or directory

开始以为找不到文件是因为 url rewrite导致的,(因为从nginx切换到apache)结果跟踪程序发现是 new pdo 报错

经过搜索一些资料研究发现:

这个是php.ini配置文件中pdo_mysql.default_socket指定的mysql.sock路径不对
我的mysql.sock文件在 /private/tmp/mysql.sock

所以要设置:

pdo_mysql.default_socket=/private/tmp/mysql.sock

如果不知道自己的mysql.sock在哪里可以搜索(因为编译安装,和yum、apt-get、或者brew等包管理工具安装的位置不一样)
sudo find / -name 'mysql.sock'
下面是官方给出bug修复

1. Open up php.ini (mine was in /private/etc/)
2. locate this line: pdo_mysql.default_socket=/var/mysql/mysql.sock
3. Change the line to: pdo_mysql.default_socket=/tmp/mysql.sock
4. Restart apache

1、我这里需要补充下,如果是新系统或者刚玩php的同志,在Mac的系统中php.ini 文件不存在。
2、需要在/private/etc/目录下cp  php.ini.default
php.ini ,然后再做修改下
3、但是如果使用的xampp mysql作为数据库,那么就不需要使用官方的step2,直接写下面方式就可以了。

pdo_mysql.default_socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

 
解决方法三:
sudo vim /etc/php.ini

把以下三个原来空白的值都设置为:
/tmp/mysql.sock

mysql.default_socket = /tmp/mysql.sock

pdo_mysql.default_socket= /tmp/mysql.sock

mysqli.default_socket =/tmp/mysql.sock

 
都修改了
修改完成后使用
sudo /usr/sbin/apachectl restart

问题搞定!

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
PHP对象转换为数组函数(递归方法)
Feb 04 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
分享PHP header函数使用教程
Sep 05 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
PHP类相关知识点实例总结
Sep 28 PHP
php JWT在web端中的使用方法教程
Sep 06 PHP
PHP设计模式之观察者模式定义与用法分析
Apr 04 PHP
PHP缓存集成库phpFastCache用法
Dec 15 #PHP
php图片的二进制转换实现方法
Dec 15 #PHP
php第一次无法获取cookie问题处理
Dec 15 #PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 #PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 #PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 #PHP
PHP中Memcache操作类及用法实例
Dec 12 #PHP
You might like
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
Python日志器使用方法及原理解析
2020/09/27 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
Python排序函数的使用方法详解
2020/12/11 Python
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
工程班组长岗位职责
2013/12/30 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
教师业务培训方案
2014/05/01 职场文书
说明书怎么写
2014/05/06 职场文书
迎国庆横幅标语
2014/10/08 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
Java设计模式之享元模式示例详解
2022/03/03 Java/Android
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript