2个小问题
1. 重新编译PHP,不使用mysqlnd,使用传统的mysql库,无法链接数据库, 错误:
Lost connection to MySQL server at ‘reading authorization packet’
原因: Mysql server默认链接超时是5秒 , 超过了则会报上述错误. 修改/etc/my.cnf将connect_timeout设置为60(和php
mysqli的值一样)
UPDATE: 不要修改,修改后产生了太多的链接!
MysqlND没有这个问题,从侧面说明,其连接池做的还不错.
2.编译DBD::mysql测试无法通过, 报错误无法载入mysqlclient.15.dylib
原因:
默认编译是动态编译,而其引用的mysql动态库的地址是错误的,默认是(/usr/local/mysql/lib/mysql)
在我的osx上,应该是/usr/local/mysql/lib
解决方案1: cp *dylib /usr/local/mysql/lib/mysql/
解决方案2:使用static link:
perl Makefile.PL –libs=”-L/usr/local/mysql/lib/mysql -lmysqlclient” –testuser=root
make
make test
sudo make install
Comments
Leave a Reply