php編譯安裝pdo_mysql的方法:先下載pdo_mysql擴充包;然後解壓縮並進入擴充包目錄;接著修改php.ini;最後重啟php-fpm即可。
推薦:《PHP影片教學》
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的詳細內容。更多資訊請關注PHP中文網其他相關文章!