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 相关文章推荐
小偷PHP+Html+缓存
Nov 25 PHP
php 生成WML页面方法详解
Aug 09 PHP
php join函数应用
May 04 PHP
php while循环得到循环次数
Oct 26 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
Yii2实现ajax上传图片插件用法
Apr 28 PHP
php好代码风格的阶段性总结
Jun 25 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 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
PHP编写daemon process 实例详解
2016/11/13 PHP
JavaScript游戏之优化篇
2010/11/08 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
js实现简单的秒表
2020/01/16 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
Python中的startswith和endswith函数使用实例
2014/08/25 Python
python抖音表白程序源代码
2019/04/07 Python
深入了解python中元类的相关知识
2019/08/29 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
python实现从尾到头打印单链表操作示例
2020/02/22 Python
高性能装备提升营地:Kammok
2019/02/27 全球购物
EJB的角色和三个对象
2015/12/31 面试题
销售工作人员的自我评价分享
2013/11/10 职场文书
自荐信封面
2013/12/04 职场文书
应聘自荐信
2013/12/14 职场文书
电焊工工作岗位职责
2014/02/06 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
夏洛特的网观后感
2015/06/15 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
pandas中对文本类型数据的处理小结
2021/11/01 Python
Java 定时任务技术趋势简介
2022/05/04 Java/Android