php 編譯安裝pdo_mysql

2020-09-28 09:01:02

php編譯安裝pdo_mysql的方法:首先下載pdo_mysql擴充套件包;然後解壓並進入擴充套件包目錄;接著修改php.ini;最後重新啟動php-fpm即可。

推薦:《》

1.從pecl.php.net 下載pdo_mysql擴充套件包;

如果有php原始碼包可以不用下載,在 原始碼包下的 ext/ 下面可以找到;

2.解壓,進入擴充套件包目錄,執行 /usr/local/bin/phpize (路徑根據實際情況,主要是找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 擴充套件;如果有多個版本的 PHP,使用-with-php-config=/usr/local/bin/php-config 指向對應版本的php-config 可以將擴充套件安裝到對應的 PHP 版本;

4. make ,make install

5. 然後就是修改php.ini

找到; extension=php_pdo_mysql.dll這一行,去掉註釋,並修改後面的檔名:

extension=pdo_mysql.so

重新啟動 php-fpm ,ok!

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

記錄一個問題:

環境: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/

以上就是php 編譯安裝pdo_mysql的詳細內容,更多請關注TW511.COM其它相關文章!