joe

centos 单独安装PHP的mysql和mysqli扩展

安装PHP时只是 ./configure --prefix=/****

并没有其它的设置,随后又去安装的其它扩展(纯属瞎折腾,学习怎么用Linux)

在安装mysql和mysqli的扩展时的命令还不一样

生成mysql.so

cd php-5.4.22/include/ext #源码解压包的扩展目录,源码下载
cd mysql #进入mysql扩展
/usr/local/lamp/php54/bin/phpize
./configure --with-php-config=/usr/local/lamp/php54/bin/php-config --with-mysql=/usr/local/lamp/mysql
make && make install

生成msyqli.so

cd php-5.4.22/include/ext #源码解压包的扩展目录
cd mysql #进入mysql扩展
/usr/local/lamp/php54/bin/phpize
./configure --with-php-config=/usr/local/lamp/php54/bin/php-config --with-mysqli=/usr/local/lamp/mysql/bin/mysql_config
make && make install

但是,不是说PHP5.4已经默认有mysqlnd了么,为什么这里还得指定mysql的安装目录才能生成mysql扩展?

./configure --help

 --with-mysql=DIR      Include MySQL support.  DIR is the MySQL base
                          directory, if no DIR is passed or the value is
                          mysqlnd the MySQL native driver will be used

 --with-mysqli=FILE    Include MySQLi support.  FILE is the path
                          to mysql_config.  If no value or mysqlnd is passed
                          as FILE, the MySQL native driver will be used

配置命令:

./configure --prefix=**** --enable-mysqlnd --with-mysql --with-mysqli


如果之前编译(make)失败,记得用make clean 或者 make distclean 清除之前编译的缓存文件,然后再重新make && make install


问题

1.需要下载php源码,下载PHP安装包,下载地址:http://www.php.net/downloads.php 我下载的是php-5.3.18.tar.gz,放在Linux的任意目录下,只在编译时指定安装到的目录。

2.查找是否有mysql_config,如果没有先安装mysql. mysql_config默认位置/usr/bin/mysql_config.

yum install mysl   mysql-devel


码字很辛苦,转载请注明来自朱一兵的博客《centos 单独安装PHP的mysql和mysqli扩展》

评论