php5.6安裝mysql擴展的方法:1、下載擴展的源碼包并解壓;2、執(zhí)行phpize;3、生成makefile,執(zhí)行make和make install命令;4、修改php.ini配置文件;5、重啟httpd服務(wù)。
本文操作環(huán)境:centos 7系統(tǒng)、php 5.6、thinkpad t480電腦。
最近在維護一個老項目的時候意外發(fā)現(xiàn)了一個錯誤,錯誤信息:”Fatal error: Uncaught Error: Call to undefined function mysql_connect()“。在查明原因后發(fā)現(xiàn),原來是php中的mysql_connect模塊已經(jīng)被棄用了,并且我在搭建環(huán)境的時候也沒有再安裝mysql擴展,所以才有了這個錯誤。
既然我們查明了原因,那么解決起來就方便多了。我們可以通過使用phpize工具手動編譯生成mysql.so擴展的方式來解決這個問題。
具體步驟如下所示:
首先是下載pdo_mysql擴展的源碼包。
# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
然后是解壓縮。
# tar -zxvf PDO_MYSQL-1.0.2.tgz
進入解壓后的目錄,然后執(zhí)行phpize。
# /usr/local/php/bin/phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525
下面生成makefile。后面的兩個參數(shù)必須要添加,一開始我沒有添加,結(jié)果分別都提示找不到php-config和mysql的header文件。
# ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql
在make之前還要做一個mysql的header文件的軟連接。因為mysql安裝的時候指定了目錄,不做軟連接的話,還是找不到header文件。
# ln -s /usr/local/mysql/include/* /usr/local/include/
然后make和make install。
# make # make install
之后會提示如下,意思是擴展被安裝到了如下目錄里。
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
修改php.ini文件
修改:extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20100525/"
添加: extension=pdo_mysql.so
重啟httpd 使其重新載入php配置文件
推薦學(xué)習(xí):php培訓(xùn)