วันนี้มาเขียน blog ประจานตัวเองหน่อย เนื่องด้วยวันก่อนเปิด wordpress บน local แล้วพบว่ามัน connect database ไม่ได้ เกิดอะไรขึ้นเนี่ย!?!

step แรกที่คิดได้คือไม่ได้รัน mysql แน่ๆ แต่พอ ps ดูก็มีนี่หว่า! เอาหละสิมันเป็นอะไรกัน ก็เลยลองใช้ cocoaMysql connect ดูมันก็ใช้ได้ปกติ งง เป็นไก่ตาแตกเลยทีนี้

หลังทิ้งมันไว้ 1 วันผ่านไปเนื่องจากไม่มีเวลาดูต่อ(จริงๆ ขึ้เกียจแหละ 555+) วันนี้เลยเขียน script connect database ง่ายๆ ตามนี้

$tmp = @mysql_connect($dbhost, $dbuser, $dbpassword, true);

if(!$tmp) {
die(mysql_error());
}

ได้ผลออกมาเป็น

No such file or directory

เลยถึงบางอ้อ ที่แท้มันหา file mysql.sock ไม่เจอนี่เอง อ้าว..แล้วทำไมมันหาไม่เจอกันหว่า! ก็เลยเข้าไปดูใน php.ini มันเรียกที่

/var/mysql/mysql.sock

หลังจากตามหาอยู่พักนึงก็ไปเจอที่ /tmp/mysql.sock ไม่รู้มันมาอยู่นี่ได้ไงเหมือนกัน ก็เลยเข้าไปแก้ php.ini ตามนี้

pdo_mysql.default_socket=/tmp/mysql.sock

mysql.default_socket = /tmp/mysql.sock

mysqli.default_socket = /tmp/mysql.sock

จากนั้นก็ restart Apache ตาม step ซะ

sudo apachectl restart

คราวนี้ก็ใช้ได้ปกติแล้ว