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 limit查询优化分析
Nov 12 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
基于php下载文件的详解
Jun 02 PHP
ueditor 1.2.6 使用方法说明
Jul 24 PHP
PHP基于yii框架实现生成ICO图标
Nov 13 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
Dec 02 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
php获得刚插入数据的id 的几种方法总结
May 31 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 PHP
Laravel validate error处理,ajax,json示例
Oct 25 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 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 header示例代码(推荐)
2010/09/08 PHP
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
python基础教程项目二之画幅好画
2018/04/02 Python
Python中修改字符串的四种方法
2018/11/02 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
营销总经理的岗位职责
2013/12/15 职场文书
外企办公室竞聘演讲稿
2013/12/29 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
新春文艺演出主持词
2014/03/27 职场文书
班级年度安全计划书
2014/05/01 职场文书
工程项目经理任命书
2014/06/05 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL