一、查看php是否安装指定模块
php -m |grep gd
#查看dg库模块是否安装,若已安装最会显示,未安装则为空,不显示。
二、安装模块
2.1 进入源码包
cd /opt/src/php-7.4.0/ext/
#进入源码包目录
cd gd
#以gd库为例,进入gd库模块目录
2.2 安装模块
phpize
#执行phpize命令
./configure -with-php-config=/usr/local/php/bin/php-config
#预编译
#编译过程中如缺少依赖,则根据提示进行安装
#php-config 是一个简单的命令行脚本用于获取所安装的 PHP 配置的信息。
make && make install
#编译并安装
2.3 编译安装完成后
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
Installing header files: /usr/local/php/include/php/
#根据输出可以看到,扩展模块目录为/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
#进入此目录/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
[root@localhost gd]# cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
[root@localhost no-debug-non-zts-20190902]# ls
gd.so opcache.a opcache.so
#可以看到gd.so已经被安装。
#在接下来的php.ini配置中,需要使用此名称。
三、配置
3.1 对php.ini进行配置。
vim /usr/local/php/lib/php.ini
#编辑php.ini文件
755 extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/"
#将extension_dir取消注释,并设置为模块安装目录。
extension=gd.so
#添加或取消注释,添加模块项目。
#注意,这里的gd.so名称为/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd.so
3.2 验证已安装模块
php -m | grep gd
#查看php-fpm已安装模块
gd
#有gd字样表示已经安装。
#如有报错信息,如下:
PHP Warning: PHP Startup: Unable to load dynamic library 'gd2.so' (tried: /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd2.so (/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd2.so: cannot open shared object file: No such file or directory), /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd2.so.so (/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd2.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library 'gd2.so' (tried: /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd2.so (/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd2.so: cannot open shared object file: No such file or directory), /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd2.so.so (/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/gd2.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
#表示php.ini配置有问题,如extension=gd.so与实际文件名称不符合。
3.3 重启php-fpm
systemctl restart php-fpm
#重启php-fpm