1. 程式人生 > >linux上給php安裝mysqli擴充套件

linux上給php安裝mysqli擴充套件

在上一篇博文中說到要從wamp環境遷移一個我寫的小東西到lamp環境下,結果出現了問題。找了半天錯,發現原來在wamp環境下我寫的程式碼是用的mysqli,但是在lamp環境下的php並沒有擴充套件mysqli的擴充套件庫,在php程式碼中使用phpinfo()函式就可以檢視自己的php的詳細資訊了,比如有哪些擴充套件,php是什麼版本之類的。於是,我就開始給linux上的php安裝mysqli擴充套件了。

(一)找到php安裝包下的ext目錄下的mysqli擴充套件:

如果記不到自己的php安裝包在哪的話,可以嘗試使用

find / -name mysqli
進行查詢,如果找不到的話,可以到php官網上下載一個php安裝包,然後解壓了或者在linux直接使用yum install --downloadonly --downloaddir=儲存的路徑 下載包的名字。比如:
yum install --downloadonly --downloaddir=/root php

附上常用的解壓縮命令:

zip格式:unzip 壓縮檔名

gzip格式:gzip -d 壓縮檔名

tar.gz格式:tar -zxvf 壓縮檔名

tar.bz2格式:tar -jxvf 壓縮檔名

rpm格式:rpm2cpio 壓縮檔名 | cpio -div

結果應該如下:

(二)生成mysqli.so擴充套件檔案

先使用find命令找到phpize的位置:

find / -name phpize
我的是在/usr/bin/phpize。

然後在mysqli目錄下直接執行phpize

/usr/bin/phpize
(注意:不在mysqli目錄下執行phpize的話會報Cannot find conf.m4這個錯)

還有可能會有其它錯,比如phpize Can't find PHP headers in /usr/include/php這型別的,那是因為沒有安裝php-devel或者php-pear還有gcc等造成的,用yum安裝一下即可。

接下來使用這些命令:

./configue -prefix=/usr/local/mysqli
make && make install

如果正常的話,系統會返回一個路徑,那個路徑下就是我們想要的mysql.so擴充套件檔案

(三)修改php.ini配置檔案

找到你的php.ini配置檔案,一般是在/usr/local/lib下,找不到的話find一下也可以。然後

vi php.ini

在php.ini的最後一行加上
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/mysqli.so
mysqli.so前面那一串路徑填寫系統返回的那個路徑。

最後重啟apache

/bin/systemctl restart httpd.service