场景:为了实现上传的pdf文件转成png图片,需要搭建一个php8+nginx的运行环境,最后安装imagic扩展
安装顺序 php-> linux-> imagemagick -> ghostscript -> imagick
一:安装php+nginx环境
1、安装remi扩展源
remi源是Remi repository是包含最新版本PHP和MySQL包的Linux源,由Remi 提供维护。有个这个源之后,使用YUM安装或更新PHP、MySQL、phpMyAdmin等服务器相关程序的时候就非常方便了。
[root@localhost ~]# yum -y install epel-release
[root@localhost ~]#
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 如果网不好的话可以考虑下清华软件源
#https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
sudo rpm -ivh remi-release-7.rpm
2、安装YUM管理工具
[root@localhost ~]# yum -y install yum-utils
3、列出php80所有可用安装包
[root@localhost ~]# yum list |grep php80
4、查看生成的Yum源仓库
[root@localhost ~]# ll /etc/yum.repos.d
5、安装PHP及插件(插件功能根据情况安装 这里只安装了比较常用的插件)
[root@localhost ~]# yum -y install php80-php-cli php80-php-xml php80-php-common php80-php-devel php80-php-embedded php80-php-fpm php80-php-gd php80-php-mbstring php80-php-mysqlnd php80-php-pdo php80-php-opcache php80-php-xml php80-php-soap
6、查看是否安装成功及php配置文件以及对应目录
[root@localhost ~]# rpm -qa |grep php80
[root@localhost ~]# rpm -ql php80-php-fpm
7、创建软连接
[root@localhost ~]# ln -sf /opt/remi/php80/root/usr/bin/php* /usr/local/bin
8、查看PHP版本
[root@localhost ~]# php -v
PHP 8.0.28 (cli) (built: Feb 14 2023 11:05:44) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.28, Copyright (c) Zend Technologies
with Zend OPcache v8.0.28, Copyright (c), by Zend Technologies
9、启动PHP-FPM
[root@localhost ~]# systemctl start php80-php-fpm
10、设置开机自启动
[root@localhost ~]# systemctl enable php80-php-fpm
11、常用基本操作
1)启动PHP
[root@localhost ~]# systemctl start php80-php-fpm
2)停止PHP
[root@localhost ~]# systemctl stop php80-php-fpm
3)重载PHP
[root@localhost ~]# systemctl reload php80-php-fpm
4)重启PHP
[root@localhost ~]# systemctl restart php80-php-fpm
5)查询PHP运行状态
[root@localhost ~]# systemctl status php80-php-fpm
6)查询PHP进程
[root@localhost ~]# ps -ef |grep php-fpm
7)查询PHP监听端口
[root@localhost ~]# netstat -lntup |grep php-fpm
8)卸载PHP
[root@localhost ~]# yum -y remove php80*
二:安装nginx
1:安装EPEL仓库,以便安装额外的包:
sudo yum install epel-release
2:安装Nginx:
sudo yum install nginx
3:启动并设置Nginx开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
3:配置nginx.conf配置文件
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
三:安装扩展
1:安装基础软件
yum install ImageMagick
yum install ImageMagick-devel
yum -y install ghostscript
2:安装php的imagick扩展
注意imagick与php版本有关系,低版本的php有可能出现不兼容的情况
yum install php-pear
yum -y install php80-php-devel
yum install gcc
#安装gcc的另外一个方法
#yum install gcc gcc-c++ autoconf automake
pecl install imagick
#pecl卸载插件
#pecl uninstall imagick
修改配置文件(php.ini具体位置根据实际情况定,使用phpinfo()查看它的路径,因为查看路径的方式很多,例如使用php --ini , 刺方法显示的路径可能不一样)
在/etc/php.ini 加上extension=imagick.so的安装路径,如图所示
重启php-fpm: 使用的是php80的,重启命令如下
systemctl start php80-php-fpm
systemctl stop php80-php-fpm
查看是否成功,如图所示成功
四:验证一下
convert -v # imagemagick
php -m | grep imagick # imagick
gs -v # ghostscript