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/

相關文章
相關標籤/搜索