php5.6安裝mysql擴充功能的方法:1、下載擴充的源碼包並解壓縮;2、執行phpize;3、產生makefile,執行make和make install指令;4、修改php.ini設定檔;5、重啟httpd服務。
本文操作環境:centos 7系統、php 5.6、thinkpad t480電腦。
最近在維護一個舊專案的時候意外發現了一個錯誤,錯誤訊息:”Fatal error: Uncaught Error: Call to undefined function mysql_connect()“。在找出原因後發現,原來是php中的mysql_connect模組已經被棄用了,而且我在搭建環境的時候也沒有再安裝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
進入解壓縮後的目錄,然後執行phpize。
# /usr/local/php/bin/phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525
下面產生makefile。後面的兩個參數必須要加,一開始我沒有加,結果分別都提示找不到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設定檔
推薦學習:php訓練
以上是php5.6怎麼安裝mysql擴展的詳細內容。更多資訊請關注PHP中文網其他相關文章!