zoukankan      html  css  js  c++  java
  • 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.cnfsocket = /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
    1. MySQL connection not working: 2002 No such file or directory
  • 相关阅读:
    codeforces 1295 题解(完结)
    Leetcode 第 173 场周赛 题解(完结)
    P2564-[USACO12MAR]花盆Flowerpot
    Task 1-2
    LeetCode--169--多数元素(python)
    049字符异位词分组(python)
    矩阵路径(python)
    全排列
    滑动窗口最大值leetcode & nowcoder(python)
    取topK
  • 原文地址:https://www.cnblogs.com/fsong/p/11337105.html
Copyright © 2011-2022 走看看