php編譯安裝pdo_mysql的方法:先從“pecl.php.net”下載“pdo_mysql”擴充包;然後執行“/usr/local/bin/phpize”;接著修改“php.ini” ;最後重啟php-fpm即可。
推薦:《PHP影片教學》
php7 編譯安裝pdo_mysql擴充
#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/
以上是php7如何編譯安裝 pdo_mysql的詳細內容。更多資訊請關注PHP中文網其他相關文章!