包含phpmysqlsocket的词条
本文目录一览:
- 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前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。