php編譯安裝pdo_mysql的方法:首先從“pecl.php.net”中下載“pdo_mysql”擴(kuò)展包;然后執(zhí)行“/usr/local/bin/phpize”;接著修改“php.ini”;最后重啟php-fpm即可。
推薦:《PHP視頻教程》
php7 編譯安裝pdo_mysql擴(kuò)展
1.從pecl.php.net 下載pdo_mysql擴(kuò)展包;
如果有php源碼包可以不用下載,在 源碼包下的 ext/ 下面可以找到;
2.解壓,進(jìn)入擴(kuò)展包目錄,執(zhí)行 /usr/local/bin/phpize (路徑根據(jù)實(shí)際情況,主要是找phpize,如果沒有phpize 則可能需要安裝 php-dev)
# tar -zxvf PDO_MYSQL-1.0.2.tgz # /usr/local/bin/phpize Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303
3. configure
./configure -with-php-config=/usr/local/bin/php-config -with-pdo-mysql=mysqlnd 這里使用mysqlnd 而不是 /usr/local/mysql,PHP7 正式移除了 mysql 擴(kuò)展;如果有多個(gè)版本的 PHP,使用-with-php-config=/usr/local/bin/php-config 指向?qū)?yīng)版本的php-config 可以將擴(kuò)展安裝到對(duì)應(yīng)的 PHP 版本;
4. make ,make install
5. 然后就是修改php.ini
找到; extension=php_pdo_mysql.dll這一行,去掉注釋,并修改后面的文件名:
extension=pdo_mysql.so
重啟 php-fpm ,ok!
————————————————————————————————————
記錄一個(gè)問題:
環(huán)境:docker ,Debian GNU/Linux 8
PHP:7.1.10
用下載的 pdo_mysql 包安裝 configure 時(shí)報(bào):can not find mysql under the "mysqlnd" that you specified,但是檢查 PHP 擴(kuò)展mysqlnd 是安裝了的,
然后 -with-pdo-mysql=/usr/local/include/php/ext/mysqlnd 也不行;
但是用 PHP 源碼包里的 pdo_mysql 安裝就沒問題;
比對(duì)了 源碼包下的mysqlnd 和 /usr/local/include/php/ext/mysqlnd 中的文件確實(shí)不一樣;
有時(shí)間了要把這個(gè)搞清楚
————————————————————
上面的問題解決了:安裝 mysql 開發(fā)工具包就可以了
apt-get install libmysqlclient-dev
但是又會(huì)出現(xiàn)新的問題。。。
終極解決方案:
下載對(duì)應(yīng)版本的 PHP 源碼包,用源碼包安裝 非常流暢。。。
http://php.net/downloads.php http://php.net/releases/