lnmp安装完成后,如果需要添加一些模块扩展支持,比如常用的exif,那么需要重新编译参数例如 --enable-exif
,过程也很简单,这里记录一下。
1、进入lnmp的安装包目录,注意是安装包目录,不是安装后的php目录这些,海天是lnmp 1.6版:
cd /root/lnmp1.6/src/
2、解压对应版本的php
tar -xvf php-7.3.11.tar.bz2
3、进入扩展文件夹,这里还是以exif为例
cd php-7.3.11/ext/exif
4、进行初始化,执行后会多出几个目录,重点是configure文件夹
/usr/local/php/bin/phpize
5、开始配置
./configure --with-php-config=/usr/local/php/bin/php-config
6、进行编译
make && make install
7、修改 php.ini 引入扩展
vi /usr/local/php/etc/php.ini
在最后加上
extension = "exif.so"
需要注意的是 exif.so 必须放在 mbstring.so 的后面,否则会出错。
8、重启php即可支持exif了
可能出现的问题:
重启PHP时提示 : NOTICE: PHP message: PHP Warning: Module 'mbstring' already loaded in Unknown on line 0
意思是mbstring这个扩展已经加载过了
原因: PHP加载模块有两种方式,一种是通过php.ini 加载模块,另一种是通过编译时的参数加载模块。 这里出这个提示,那么mbstring应该就是属于后者,只需要php.ini中将其注释掉就行了
解决办法:将 ;extension=mbstring.so
注释掉。