由于使用 Joomla 搭建本站的缘故,PHP 的安装是必不可少的步骤。本人不太愿意使用一键脚本,在自行编译,安装的过程遇到不少问题,纯粹用于记录,以免未来安装 PHP 过程中踏入同一条河流。

另外,由于本站使用了Joomla 图库扩展包: sigplus,因此也会涉及 PHP Imagick 扩展库的安装,为方便本人查阅,也许未来其他扩展包的安装也都会陆续更新在此文。

放几张十多年前的噌拍照片, 测试一下 sigplus 基本功能, 完美cool

一. 安装 PHP

1. 基础安装环境预配置: apt-get install libxml2-dev libcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev libpng-dev libfreetype6-dev libpq-dev php-pear sqlite3 libsqlite3-dev libonig2 libonig-dev
2. 下载 PHP 安装包:wget http://am1.php.net/distributions/php-7.4.3.tar.gz
3. 解压安装包:tar zxvf php-7.4.3.tar.gz
4. 进入解压后目录:cd php-7.4.3
5. 配置:./configure --prefix=/usr/local/php --with-mysqli --with-pdo_mysql  --with-iconv-dir --with-zlib --with-libxml-dir --enable-xml --with-curl --enable-fpm --enable-mbstring --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-freetype-dir=/usr/lib64 --with-gettext --enable-exif --with-libdir=lib64 --disable-fileinfo
5. 编译:make
6. 安装:make install

 

二. 配置 PHP

1. cp php.ini-production /usr/local/php/lib/php.ini
2. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
3. cd /usr/local/php/etc/php-fpm.d/
4. cp www.conf.default www.conf

 

三. 设置 PHP 自启动

将下行加入 /etc/rc.local 中,以便系统自启动 php-fpm 。

指定 php.ini 的目的,好处在于将来安装 php 扩展包。

/usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm.conf -c /usr/local/php/lib/php.ini

 

四. 安装 PHP 扩展: Imagick

1. 安装图形库

apt-get install  libjpeg-dev libpng-dev tcl-dev ghostscript bzip2 libfreetype*  libtiff* fontconfig*

2. 编译安装 Imagick

1. wget https://nchc.dl.sourceforge.net/project/imagemagick/im7-src/ImageMagick-7.0.7-25.tar.gz
2. tar zxvf ImageMagick-7.0.7-25.tar.gz
3. cd ImageMagick-7.0.7-25/
4. ./configure --prefix=/usr/local/imagemagick  --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes
5. make
6. make install

3. 编译安装 imagick 的 PHP 扩展包

1. wget https://pecl.php.net/get/imagick-3.4.4.tgz
2. tar zxvf imagick-3.4.4.tgz
3. cd imagick-3.4.4
4. /usr/local/php/bin/phpize
5. ./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
6. make
7. make install

 安装扩展包完成之后, 显示如下:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
Installing header files:          /usr/local/php/include/php/

 手动修改 php.ini 文件, 将 imagick.so 加入 extension 中

vi /usr/local/php/lib/php.ini

 如下图:

 重启 PHP-FPM & NGINX 之后, 可知 imagick 已加载:

漂亮, 下一步就是安装 Joomla 图库扩展包: sigplus,如文中最顶上图片测试, 完美.