昨天用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之間暫時應該沒什麼問題了吧。