Code前端首页关于Code前端联系我们

包含phpmysqlsocket的词条

terry 2年前 (2023-09-30) 阅读数 454 #Mysql
文章标签 navicatmysqllinux

本文目录一览:

  • 1、Socket文件存在,为什么PHP总提示mysql.sock错误
  • 2、php连接mysql数据库,报错Function mysql_connect() is deprecated?
  • 3、在linux下,apache+php+mysql的socket通信,用命令行执行是都能通过的,网页不行。

Socket文件存在,为什么PHP总提示mysql.sock错误

查看my.cnf的配置项引用到的是那一个sock文件?还有php.ini引用的sock也要设置!都改了还是不行,就要做link、mysql默认是引用/tmp/mysql.sock

php连接mysql数据库,报错Function mysql_connect() is deprecated?

info.php在CentOS

64位虚拟机运行的时候,其中MySQL版本那一栏是空白信息。我查看了info.php源码,开始以为是MySQL数据库的用户名和密码填写错了,仔细检查没有错误之后,便查看了Apache的error_log,得到如下消息:

mysql_connect():

No

such

file

or

directory

在网上查了一下,说是本地socket设置与默认的不一样,导致php无法找到mysql的socket文件。根据网上提供的方法,需要做如下操作。

首先,在MySQL中用status查看数据库状态,如下所示:

mysql

Ver

14.14

Distrib

5.1.69,

for

redhat-Linux-gnu

(x86_64)

using

readline

5.1

Connection

id:

10

Current

database:

Current

user:

root@localhost

SSL:

Not

in

use

Current

pager:

stdout

Using

outfile:

''

Using

delimiter:

;

Server

version:

5.1.69

Source

distribution

Protocol

version:

10

Connection:

Localhost

via

UNIX

socket

Server

characterset:

latin1

Db

characterset:

latin1

Client

characterset:

latin1

Conn.

characterset:

latin1

UNIX

socket:

/var/lib/mysql/mysql.sock

Uptime:

20

hours

55

min

30

sec

其中,标红的部分是我们需要的。然后打开php.ini文件,需要将mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket的值设置为标红后面的那个目录。重启apache服务器,后续info.php工作正常,MySQL的版本信息能够正常显示了。

在linux下,apache+php+mysql的socket通信,用命令行执行是都能通过的,网页不行。

具体的错误呢,一般来说不会这样,除非你apache用的php和命令行跑的php不是一个版本。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门