昨天用php连接Mysql时,在个人系统上面出现了几个小问题,通过分析总算解决拉。
一、mysq_connecta()函数不起做用,是由于mysqli没编译进去。从mysql4.1.3版以后,和mysql通信必需要使用mysqli_*函数组。
删除原来的php从新编译
#./configure --prefix=/opt/php --with-libdir=lib64 --with-gd --with-zlib-dir --with-png-dir --with-config-file-path=/opt/php/lib --with-mysql --with-mysqli=/usr/lib64/mysql/mysql_config --with-apxs2=/opt/apache2/bin/apxs
这下在phpinfo()中有mysqli的信息了,以前只有mysql的。
二、接下来出现的问题是
Connect failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock.
看到/var/lib/mysql 目录就知道问题出在我把数据库目录给改到/home/data/mysql下的缘由了。mysqli中显示的MYSQLI_SOCKET在/var/lib/mysql/mysql.sock 中enabled。
仔细看了一下/etc/my.conf 和/etc/rc.d/init.d/mysql
d下(我用的这个版本不是mysql哦)里的路径全由/var/lib改成/home/data 但仍是不起做用,后面看有人使用符号连接,试了一下好了。 #ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock 如今PHP和MYSQL之间暂时应该没什么问题了吧。