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其它相關文章!