OK packet 6 bytes shorter than expected

不要害怕…這是php5.3的新問題
遙想當年,mysql出4.1的時候,php的mysql_connect的加密是走mysql4.0以前的
當時一堆php程式掛點,後來用old_password=1或者是重新設定舊編碼的方式去改變密碼的加密方式
現在,php5.3終於進化到跟php5一樣的新加密模組了,但是呢,當年的設定都跑掉了
解決的方法就是用PASSWORD 函數重新設定一次密碼,然後把old_password=1拿掉即可

 

1
2
3
4
5
6
my.cnf/my.ini
#old_password=1
#############################################################
command line
 
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword');

但是如果是共用的環境……………….就很難解了
看樣子php6的連線模式大勢底定是不會走舊式的加密了,大家就只好拋棄舊的connect 加密的方式,也比較安全些
我認為擁抱pdo會是比較好得方式,php6也會這樣走,不過呢,現行pdo推行有難度……