php 连接mysql 主机 localhost,显示 No such file or directory
打开 php.ini
文件,找到这1行
mysql.default_socket
然后将它修改为
mysql.default_socket=/path/to/mysql.sock
/path/to/mysql.sock
是mysql的配置文件/etc/my.cnf
中的socket
的路径
如我当前虚拟机中的mysql 配置文件/etc/my.cnf
的socket = /tmp/mysql.sock
,所以修改php.ini
中找到的mysql.default_socket =
都改为mysql.default_socket = /tmp/mysql.sock
,然后重启 apache,使配置生效
系统:Ubuntu 16.04
环境: Apache 2.4 + PHP 5.6.40 + Mysql 5.5.31
php连接mysql demo代码:
$conn = mysql_connect('localhost','root','secret');
if(!$conn){
die(mysql_error());
}
echo "success";
主机使用localhost
,显示No such file or directory
的错误。改为127.0.0.1
之后可以连接成功。
前提: 我的mysql配置文件 /etc/my.cnf
中[mysqld]
节点下的配置项 socket = /tmp/mysql.sock
终端命令(用来查看 php 信息中mysql.default_socket
的配置情况):
php -i | grep mysql.default_socket
运行结果:
mysql.default_socket => no value => no value
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
php.ini中mysql.default_socket
的默认路径和当前运行mysql 配置文件中的socket
的值/tmp/mysql.sock
不相等
我的LAMP环境中php.ini
文件有2个,路径分别是:/etc/php/5.6/cli/php.ini
和/etc/php/5.6/apache2/php.ini
将上面2个php.ini
文件中mysql.default_socket =
都修改成mysql.default_socket = /tmp/mysql.sock
,然后重启apache2
终端命令:
sudo service apache2 stop # 停止apache
sudo service apache2 start # 启动apache
再次查看 mysql.default_socket
的配置是否生效
终端命令:
php -i | grep mysql.default_socket
运行结果:
mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock
pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock
配置成功,然后通过浏览器,访问带有上面 php连接mysql demo代码
的文件,运行结果为success
.
Reference
php 连接mysql 主机 localhost,显示 No such file or directory的更多相关文章
- PHP连接MySQL报错"No such file or directory"的解决办法
好下面说一下连接MYSQL数据库时报错的解决办法. 1,首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回空,而mysql_error()返回“No ...
- 解决MAC下PHP连接MYSQL错误Warning: mysql_connect(): No such file or directory in conn.php
今天在mac上用php去连接mysql数据库,出现了 mac PHP Warning: mysql_connect(): [2002] No such file... 详细例如以下所看到的: Dir ...
- Mac下PHP连接MySQL报错"No such file or directory"的解决办法
首先做个简短的介绍. [说明1]MAC下MYSQL的安装路径: /usr/local/mysql-5.1.63-osx10.6-x86_64 数据库的数据文件在该目录的data文件夹中: 命令文件在b ...
- 【转】Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败
错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot ...
- php 连接mysql数据库并显示数据 实例 转载
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- Java JDBC连接SQL Server2005错误:通过port 1433 连接到主机 localhost 的 TCP/IP 连接失败
错误原因例如以下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cann ...
- Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器
转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread & ...
- SQLServerException:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。
一.问题描述: 1.连接数据库时抛出的异常: com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 ...
- php的mysqli_connect函数显示 No such file or directory错误以及localhost换成127.0.0.1执行成功
Centos7环境-php7-MariaDB5.5.60 (新安装的php7,执行php -m 显示有mysqli模块,php.ini没有改其它) 测试代码为: <?php //~ echo d ...
随机推荐
- 【记录】安装mysql Install/Remove of the Service Denied!错误的解决办法
最近安装 Mysql 5.6版本,在安装的过程中出现Install/Remove of the Service Denied!错误!(本人Win10 系统) 出现此问题是由于当前用户权限不够,需要以管 ...
- AMS5601的ardunio和STM32驱动开发
AMS5601的ardunio和STM32驱动开发 本文有麦粒电子撰写,并提供相应产品服务. 前言 目前ams关于磁编码芯片用的比较多的可能是ams5600,能够输出pwm信号,电压信号以及I2C通信 ...
- Linux主机名的修改以及配置
查询主机名: [root@localhost ~]# hostnamelocalhost.localdomain [root@localhost ~]# vim /etc/sysconfig/netw ...
- ubuntu批量转换所有子文件夹下图片文件格式
第一步按照 sudo apt-get install imagemagick 对于一个文件,可以: convert ubuntuhandbook.png ubuntuhandbook.jpg 对于多个 ...
- 八、结构模式之组合(Composite)模式
组合模式属于对象的结构模式,有时又叫做部分-整体模式,组合模式将对象组织到树结构中,可以用来描述整体与部分的联系.其可以使客户端将单纯元素和组合元素同等对待. 当需求中是体现部分与整体层次的结构时,以 ...
- Android项目中实现native调用
转载自搜狗测试公众号,本人学习使用,侵权删 最近小编在做公司输入法项目中java与native交互部分的测试,先简单学习了java代码调用native代码的实现原理,本次与大家一起分享jni协议,了解 ...
- mysql5.7问题:[Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
在关闭mysql5.7的时候发现问题,一直处于夯住状态 [root@localhost ~]# /etc/init.d/mysqld stop Shutting down MySQL......... ...
- linux环境安装opencv导入依赖报错问题
linux环境通过pip安装opencv后,导入cv2时报错: 在centos和ubuntu环境下都遇到相同的问题.报错原因: 缺少共享库 有两种解决办法: 一.使用如下命令查看缺少得共享库 yum ...
- Vue学习笔记【8】——在Vue中使用样式
使用class样式 数组 <h1 :class="['red', 'thin']">这是一个邪恶的H1</h1> 2.数组中使用三元表达式 <h1 : ...
- 【Nacos】本地集群部署
关于Nacos已经展开了四篇入门文章: 初探Nacos(一)-- 单机模式启动 初探Nacos(二)-- SpringCloud使用Nacos的服务注册与发现 初探Nacos(三)-- SpringB ...