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 ...
随机推荐
- Eclipse中发布Maven管理的Web项目时找不到类的问题根源和解决办法(转)
转自:http://blog.csdn.net/lvguanming/article/details/37812579?locationNum=12 写在前面的话 现在是越来越太原讨厌Eclipse这 ...
- weex初始化启动webpack.common.conf.js中的...报语法错误
使用Babel转码 // 最新转码规则 $ npm install --save-dev-g babel-preset-env // react转码规则 $ npm install --save-de ...
- js 暂停几秒后刷新或提交
js源码如下: setTimeout(function () { //内容3秒后执行 }, 3000);
- idea创建Maven项目后启动报404
这块的配置是
- 数字IT基础-数据采集总线
摘要: 日志服务是阿里自产自用的产品,在双十一.双十二和新春红包期间承载阿里云/蚂蚁全站.阿里电商板块.云上几千商家数据链路,每日处理来自百万节点几十PB数据,峰值流量达到每秒百GB, 具备稳定.可靠 ...
- 暴力字符串hash——cf1200E
#include<bits/stdc++.h> using namespace std; #define ll long long #define N 1000005 #define mo ...
- RVIZ可视化平台
- WebBug靶场基础篇 — 02
本篇以第一人称记录这个关卡的第 1-5 关. 由于我记录的过程有点偏向于思考,所以截图截的多 = =!所以文章有点长... 下午一觉醒来,已经 4 点多了,然后开电脑,在虚拟机里,铺了铺靶场,但是毕竟 ...
- asp.net core网关Ocelot的简单介绍& Ocelot集成Identity认证
文章简介 Ocelot网关简介 Ocelot集成Idnetity认证处理 Ocelot网关简介 Ocelot是一个基于netcore实现的API网关,本质是一组按特定顺序排列的中间件.Ocelot内 ...
- C++ 操作json文件
一.环境搭建: 参考文章:https://blog.csdn.net/fakine/article/details/79272090 二.创建实例: #include <stdio.h> ...