./configure -help | grep mysql

可以看到,PHP希望使用mysqlnd来支持MySQL,所以参数可以这样写:
--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
mysqlnd是不需要mysql支持的,所以不用先安装好mysql一样可以编译通过,启动php-fpm,查看一下phpinfo,能看到mysqlnd和pdo_mysql表示php已经可以支持mysql了(这里用的是pdo,mysqli同理)


几个问题
编译问题:cc: Internal error: Killed (program cc1)
这个问题是第一次遇到,原来是我的阿里云服务器关掉了swap,内存不够用,就报了这个错。 解决办法很简单,configure时加上--disable-fileinfo参数就可以了。
PHP报找不到mysql服务
正如它所说,确实没找到,看看phpinfo中pdo_mysql.default_socket项

mysql.sock在哪里,再看一下mysql.sock的真正位置,使用命令:ps -ef|grep mysql查看:
明显不在一个位置上,我的正确位置是:/var/lib/mysql/mysql.sock
所以,修改一下php.ini,找到pdo_mysql.default_socket,改为你的实际位置,重启一下php-fpm,很不幸,虽然php.ini有这个配置,修改后,竟然不行,最好是编译的时候,指定mysql.socket的位置:
--with-mysql-sock=/var/lib/mysql/mysql.sock如果还不行,可以到/tmp目录下建立一个mysql.sock的软链接:
ln -s /var/lib/mysql/mysql.sock mysql.sock再重启一次php-fpm,相信已经正常运行了。如果需要PHP支持的库更多,可以再次编译,在configure时把需要的支持加上,就是--with-xxx这中,记得如果是三方的,要先安装这些库才行哦。