主机环境
操作系统:Ubuntu 20.04.3 LTS Linux 5.4.0-91-generic x86_64
服务商:阿里云
系统说明:因CentOS官网说以后不再更新了,所以后面才选择了Ubuntu,个人觉得Ubuntu还是有点臃肿,不过用得习惯就好;
解决过程
1、更新Nginx,解决GD依赖扩展
这个直接可以在宝塔内完成更新,但是更新又提示了错误,如下图所示:
找出错误定位,这里看如下代码:
the HTTP image filter module requires the GD library该错误表明缺少了GD依赖扩展而导致的安装失败,我们可以在终端上键入如下代码以解决:
sudo apt-get update
sudo apt-get install libgd*到这一步其实还是挺顺利的,GD依赖库的问题至此已解决;
2、安装libcurl库
libcurl是一个巨坑,我不太清楚是不是与系统有关系,网上大多数都是关于CentOS的解决方案,大致就是直接yum install来执行安装,换在Ubuntu上还是有点问题的,至少我是一直没有解决,宝塔有反馈sudo apt-get install libcurl*来解决,放在我这里依然无解,后来尝试使用手动方式进行安装。
curl官网下载地址:https://curl.se/download.html
官网给出的Source Archives如下:
curl 7.81.0, Released on the 5th of January 2022. Changelog for 7.81.0.
| curl-7.81.0.tar.gz | gpg |
|---|---|
| curl-7.81.0.tar.bz2 | gpg |
| curl-7.81.0.zip | gpg |
| curl-7.81.0.tar.xz | gpg |
Ubuntu选择更多操作curl-7.81.0.tar.gz下载再进行解压缩安装操作,大致操作分如下5个步骤,我将逐一进行细致讲解:
sudo wget https://curl.se/download/curl-7.81.0.tar.gz
tar -zxvf curl-7.81.0.tar.gz
sudo ./configure
sudo make
sudo make install1.wget
最基本的下载文件命令,下载完成后存在家目录内,下载较为缓慢,大概等待5分钟即可下载完成;
2.tar
下载完成之后对其进行解压处理,特别需要注意的是下载文件的路劲,默认在家目录中,解压也在其中,不熟悉Linux的读者可以反复使用cd和ls命令枚举文件;
3../configure
切记需要进入curl的目录再进行configure命令
cd curl-7.81.0
sudo ./configure
4.make
这里当初没有保存执行的过程,但是一般都是一路通畅,没有什么疑难杂症;
make的基本用处是自动根据makefile里的指令来编译源文件
5.make install
将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。默认/usr/local/bin
在安装过程中有一个比较容易忽略的一点,让选择TLS 后端,因为我的系统是TLS版本的,其它版本我没有尝试。
即在命令后方加入with参数,我们键入默认的即可,最终键入命令为:
sudo ./configure --without-ssl
至此直至安装完成,键入curl --help即可测试是否安装上去了。
3、编辑安装PHP7.4
至此即可在宝塔内安装PHP7.4,这里需要说一下,一定要选择编译安装而非极速安装,否则会出现一大堆莫名其妙的问题,我一开始并没有找出问题所在,说是提示ptar什么什么鬼的,看也看不懂,猜测是因为在【三、2、5】中采用的make编译的方式而导致的,所以编译安装即可解决。
最终会抛出类似于下方的代码:

Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/
Starting php-fpm done看到如下字样即说明已经完成了PHP7.4的安装了,看到Don't forget to run 'make test'也没多大关系,因为已经安装好了也不需要测试make了,不过查阅了一下相关资料,最终看到网上给出的方法:
cd /www/server/php/74/src/ext/phar/
cp ./phar.php ./phar.phar