无法为 php_mysqli 指定 mysqli.default_socket 参数
2015-12-03 16:06
465 查看
mysqli_connect(): (HY000/2002): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
用
镜像中提供的可视化运维系统(PHP),似乎指定了mysql socket的路径为:
该可视化运维系统使用了
备注:经测试,用
而修改
利用
这里可以看出俩问题:
- 似乎设置好了
- google了一下,别人都是说
备注:用
Host ‘127.0.0.1’ is not allowed to connect to this MySQL server
先给出结论
此bug尚未找出解决方案,但我已使用了曲线救国的方案来救命背景
用了阿里云市场中提供的镜像;用
localhost为
host的话,php连接mysql时就会走
socket的方式而非
TCP/IP的方式。
镜像中提供的可视化运维系统(PHP),似乎指定了mysql socket的路径为:
/tmp/mysql.sock;因此,若我改
mysql的配置
socket的话,则该可视化运维系统不可用;
该可视化运维系统使用了
zend的工具进行加密,无法修改;
调试过程
因此只能改自己PHP的配置
mysqli.default_socket;
备注:经测试,用
php_mysql扩展的话,
mysql.default_socket修改成功,并能成功连接。
而修改
mysqli.default_socket的话,依然报上述的错,也就是设置无效。
利用
php_info查看了一下mysqli的配置,结果如下:
MYSQLI_SOCKET /tmp/mysql.sock mysqli.default_socket no value
这里可以看出俩问题:
- 似乎设置好了
MYSQLI_SOCKET,但为何未能设置成功
mysqli.default_socket?
- google了一下,别人都是说
MYSQLI_SOCKET会覆盖
mysqli.default_socket,因此需要处理
MYSQLI_SOCKET不正确的问题;那在我这,为何
MYSQLI_SOCKET没有覆盖
mysqli.default_socket?
最终结果
搞不定此socket的配置,只好换回用127.0.0.1来走
TCP/IP。
备注:用
127.0.0.1的话,记得在mysql的配置文件
my.cnf中把
skip-name-resolve给注释掉,否则会报以下这错:
Host ‘127.0.0.1’ is not allowed to connect to this MySQL server
相关文章推荐
- php 把秒数转换为时长(h:i:s格式)
- php基于getimagesize 上传图片验证
- PotPlayer播放器在双屏扩展模式下,视频播放时所遇到的几个常见问题的专业解答
- CGI PHP安装
- IIS下配置PHP
- matplotlib画图
- 使用PHPExcel实现对excel数据的导入和导出
- php统计中文个数
- php 编译安装的一个 configure 配置
- PHP中Session引起的脚本阻塞问题解决办法
- phpcms v9如何更改分页显示条数?
- WebStorm注册码 PhpStorm注册码
- phpstorm,webstorm取消自动保存并标识修改的文件为星星标记
- php和织梦获取顶级域名 ,根据判断输出指定文字
- 比editplus好用的编辑器sublime text3
- VSFTP基线安全
- 个人php开发工具
- Sublime Text 3配置php语法错误提示插件PHPCS
- 常用的php数组函数
- php配置文件详解