php使用pdo连接报错Connection failed SQLSTATE的解决方法_php技巧
本文实例讲述了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
所以要设置:
如果不知道自己的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,直接写下面方式就可以了。
解决方法三:
把以下三个原来空白的值都设置为:
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock
都修改了
修改完成后使用
问题搞定!
希望本文所述对大家的PHP程序设计有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

公司安全软件导致部分应用无法正常运行的排查与解决方法许多公司为了保障内部网络安全,会部署安全软件。...

SpringBoot中使用Redis缓存OAuth2Authorization对象在SpringBoot应用中,使用SpringSecurityOAuth2AuthorizationServer...

IIS和PHP可以兼容,通过FastCGI实现。1.IIS通过配置文件将.php文件请求转发给FastCGI模块。2.FastCGI模块启动PHP进程处理请求,提高性能和稳定性。3.实际应用中需注意配置细节、错误调试和性能优化。

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

Tomcat启动Servlet时报错排查在部署Servlet应用时,遇到Tomcat启动失败并报出java.lang.IllegalStateException:...

AI可以帮助优化Composer的使用,具体方法包括:1.依赖管理优化:AI分析依赖关系,建议最佳版本组合,减少冲突。2.自动化代码生成:AI生成符合最佳实践的composer.json文件。3.代码质量提升:AI检测潜在问题,提供优化建议,提高代码质量。这些方法通过机器学习和自然语言处理技术实现,帮助开发者提高效率和代码质量。
