一、查看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

标签: PHP

添加新评论