linux上給php安裝mysqli擴充套件
阿新 • • 發佈:2019-01-07
在上一篇博文中說到要從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