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下实现折线图效果的代码
Apr 28 PHP
PHP实现Socket服务器的代码
Apr 03 PHP
php查看session内容的函数
Aug 27 PHP
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
PHP框架Swoole定时器Timer特性分析
Aug 19 PHP
PHP7常量数组用法分析
Sep 26 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 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类中private属性继承问题分析
2012/11/01 PHP
mac下安装nginx和php
2013/11/04 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
PHP里的单例类写法实例
2015/06/25 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
js控制table合并具体实现
2014/02/20 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
详解Vue方法与事件
2017/03/09 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
[00:14]护身甲盾
2019/03/06 DOTA
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
《鞋匠的儿子》教学反思
2014/03/02 职场文书
家长会学生演讲稿
2014/04/26 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android