不重新編譯爲PHP安裝MySQL模塊

當初安裝PHP的源碼目錄我沒有刪除,直接在此基礎上安裝:

1 進入php/ext/mysql

cd php/ext/mysql

2 執行phpize命令,這個命令一定得在php的模塊目錄下執行,在別的目錄下執行會報錯

phpize

執行完之後,這個目錄就生成了一個configure腳本

3 收集信息,記下結果,待會用得到

which php-config
記下結果1

find / -name mysql.h
記下結果2

4 如果結果2沒有找到,說明MySQL的開發庫沒有安裝,將在這一步安裝;如果已經安裝直接跳到下一步

CentOS下:
yum install mysql-devel

UBUNTU下:
apt-get install libmysqlclient-dev

安裝好之後再執行

find / -name mysql.h
記下結果2

5 開始配置

./configure --with-php-config=結果1 --with-mysql=結果2的前綴

這裏有個坑,--with-mysql=後面不是寫mysql的目錄,而是它的前綴。比如我執行得到的結果2是:/usr/include/mysql/mysql.h,這裏只需要寫--with-mysql=/usr就可以了。我反覆測試了半天,最終閱讀configure腳本,才發現這個坑,真坑人啊。

6 編譯

make && make install

順利的話會提示:

Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-xxxxxxx/

7 修改php.ini

找到

;extension=php_mysql.dll

改成

extension=mysql.so

8 重啓php-fpm

kill -USR2 12345

12345代表php-fpm主進程的ID

9 打開phpinfo(),可以看到MySQL已經成功安裝了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章