昨天用php链接Mysql时,在我的系统上面出现了几个小问题,经过分析总算解决拉。
1、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的。


2、接下来出现的问题是
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/mysqld下(我用的这个版本不是mysql哦)里的路径全由/var/lib改为/home/data 但还是不起作用,后面看有人使用符号链接,试了一下好了。
#ln -s  /home/data/mysql/mysql.sock  /var/lib/mysql/mysql.sock

现在PHP和MYSQL之间暂时应该没什么问题了吧。