php7 编译安装pdo_mysql扩展

1.从pecl.php.net 下载pdo_mysql扩展包;php

若是有php源码包能够不用下载,在 源码包下的 ext/ 下面能够找到;mysql

2.解压,进入扩展包目录,执行 /usr/local/bin/phpize (路径根据实际状况,主要是找phpize,若是没有phpize 则可能须要安装 php-dev)sql

# tar -zxvf PDO_MYSQL-1.0.2.tgz
# /usr/local/bin/phpize
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303

3.  configuredocker

./configure -with-php-config=/usr/local/bin/php-config -with-pdo-mysql=mysqlnd

这里使用mysqlnd 而不是 /usr/local/mysql,PHP7 正式移除了 mysql 扩展;若是有多个版本的 PHP,使用-with-php-config=/usr/local/bin/php-config 指向对应版本的php-config 能够将扩展安装到对应的 PHP 版本;bash

4. make ,make installphp-fpm

5. 而后就是修改php.ini 工具

找到; extension=php_pdo_mysql.dll这一行,去掉注释,并修改后面的文件名:
extension=pdo_mysql.so开发工具

重启 php-fpm ,ok!spa

 

————————————————————————————————————.net

记录一个问题:

环境:docker ,Debian GNU/Linux 8

PHP:7.1.10

用下载的 pdo_mysql 包安装 configure 时报:can not find mysql under the "mysqlnd" that you specified,可是检查 PHP 扩展mysqlnd 是安装了的,

而后 -with-pdo-mysql=/usr/local/include/php/ext/mysqlnd  也不行;

可是用 PHP 源码包里的 pdo_mysql 安装就没问题;

比对了  源码包下的mysqlnd 和 /usr/local/include/php/ext/mysqlnd 中的文件确实不同;

有时间了要把这个搞清楚

————————————————————

上面的问题解决了:安装 mysql 开发工具包就能够了

apt-get install libmysqlclient-dev

可是又会出现新的问题。。。

 

终极解决方案:

下载对应版本的 PHP 源码包,用源码包安装 很是流畅。。。

http://php.net/downloads.php

http://php.net/releases/

相关文章
相关标签/搜索