当前位置:网站首页>统信UOS卸载php7.2.24,安装php7.4.27 ;卸载再安装为PHP 7.2.34
统信UOS卸载php7.2.24,安装php7.4.27 ;卸载再安装为PHP 7.2.34
2022-04-23 14:09:00 【Nightwish5】
文章背景
统信UOS(arm64) 、 由于漏扫,上次安装php7.2.24并不能满足要求,现在将其升级到php7.4.27
本文记录一些资源来源网站、碰到的坑以及处理方法。
修改前系统做好快照
文中资源来源网址:
php7.4 arm64 deb包: http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php7.4/
php7.2 arm64 deb包: http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php7.2/
金仓与PHP的驱动接口文件:https://www.kingbase.com.cn/index/download/c_id/401.htm
安装PHP所需的依赖包:
php-common的deb包: http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php-defaults/
libpcre2的deb包: http://ftp.de.debian.org/debian/pool/main/p/pcre2/libpcre2-8-0_10.39-3_arm64.deb
libonig4的deb包:http://ports.ubuntu.com/pool/universe/libo/libonig/libonig4_6.7.0-1_arm64.deb
libpcre3的deb包:https://packages.sury.org/php/pool/main/p/pcre3/
一、卸载php7.2
#查看已安装的php ,然后复制粘贴卸载即可。 最好执行几次。
apt-cache search php7.2 | awk '{print $1}' | xargs -i echo "apt-get remove --purge {}"
问题一 apt-get remove报错
卸载apt-get remove --purge php7.2-fpm出现 E:有未能满足的依赖关系。i请尝试不指件包的名字来运行。
答:使用 apt --fix-broken install 来修复
问题二 dpkg安装时出现依赖关系问题 php-common 1:81
由图中信息可知,当安装php7-4-common的时候,他需要依赖php-common >=1.81的版本,而系统中存在 php-common 1:60ubuntu1的版本。
答:为了符合他的要求,要卸载这个php-common 1:60ubuntu1,安装一个他要求的php-common版本。
dpkg -l | grep php 来查询已经安装的php版本 。 继续卸载!
apt-get remove --purge -y php-common
apt-get remove --purge -y libapache2-mod-php7.3
apt-get remove --purge -y php7.3-cli
apt-get remove --purge -y php7.3-common
apt-get remove --purge -y php7.3-json
apt-get remove --purge -y php7.3-opcache
apt-get remove --purge -y php7.3-readline
dpkg -i php-common_92+ubuntu18.04.1+deb.sury.org+2_all.deb
问题三 安装php7.4-cli需要依赖libpcre2-8-0 (>= 10.38)
**答:**下载安装:libpcre2-8-0_10.39-3_arm64.deb
问题四 安装php7.4-mbstring需要依赖 libonig4 (>= 5.9.5)
**答:**下载安装 libonig4_6.7.0-1_arm64.deb
小结:上面几个问题根据提示,从网上找到对应的依赖包,下载安装后就能解决依赖问题。
问题五 /lib/aarch64-linux-gnu/libcrypto.so.1.1:version ‘OPENSSL_1.0.0’ no found
(注意) 别轻易替换 /lib/aarch64-linux-gnu/ 或者 /lib/x86_x64-linux-gnu下的so文件!!!
这个PHP7.4与金仓对接配置,问题在x86架构情况是可以按照博客来处理:https://zhuanlan.zhihu.com/p/410412408 《找不到libssl.so.10的终极解决方案 – Ubuntu 18》
简单来说就是编译OpenSSL,然后复制粘贴编译生成的文件libssl.so.1.0.0和libcrypto.so.1.0.0到/lib/x86_64-linux-gnu,再创建软链接。
下载老版本OpenSSL
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz
tar -zxvf openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./config shared zlib-dynamic
make
# 这一步会出现找不到zlib.h的幺蛾子。如果出现类似错误,请先sudo apt-get install libz-dev
# 不出意外的话这时候目录里应该出现libssl.so.1.0.0和libcrypto.so.1.0.0
cp libssl.so.1.0.0 libcrypto.so.1.0.0 /lib/x86_64-linux-gnu
cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10
但是在arm64(aarch64)上使用这个方法的话,cp 后系统的ssh服务直接挂了
(通过VNC连上去,卸载重装openssl 、openssh也不行,恢复方法未知,未摸索出来。)
但aarch64架构的 请慎用。 可能是编译方法错误了
https://www.cnblogs.com/wen123456/p/14046666.html 《openssl移植到aarch64 Linux》
cp libssl.so.1.0.0 libcrypto.so.1.0.0 /lib/aarch64-linux-gnu
既然php7.4寄了,在找deb包的过程中,也找到了 php7.2.34 deb 。那此时换成php7.2.34吧~
问题六 安装时依赖于 libpcre3 (>= 2:8.41)
可先尝试 ,更新下看看版本是不是会高
apt-get update
apt show libpcre3
apt-get install libpcre3
访问 https://packages.sury.org/php/pool/main/p/pcre3/ , 网页查看源代码 可以看到全名。
安装 libpcre3_8.41-1+0_20181207195800.1+stretch_1.gbp97d153_arm64.deb
参考来源:https://stackoverflow.com/questions/61787420/closed-error-on-apt-get-update-sury-org-linux
小结:通过本次的漏扫,算是初步了解安装/卸载deb包 ,学会找出依赖包的来源。。。。
版权声明
本文为[Nightwish5]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Nightwish5/article/details/122951997
边栏推荐
猜你喜欢
微信小程序客服接入,实现发送和接收消息
Wechat applet obtains login user information, openid and access_ token
Pass in external parameters to the main function in clion
Installation and use of postman pit
MySQL数据库讲解(九)
帆软之单元格部分字体变颜色
Some experience of using dialogfragment and anti stepping pit experience (getactivity and getdialog are empty, cancelable is invalid, etc.)
Postman的安装使用及填坑心得
RecyclerView高级使用(一)-侧滑删除的简单实现
openstack理论知识
随机推荐
Indoor and outdoor map switching (indoor three-point positioning based on ibeacons)
如何轻松做好一个项目
帆软调用动态传参的方法,在标题中设置参数
快速搞懂线程实现的三种方式
rsync+inotify远程同步
void*是怎样的存在?
Pass in external parameters to the main function in clion
elk安装
VMware15Pro在Deepin系统里面挂载真机电脑硬盘
按实际取,每三级分类汇总一次,看图知需求
使用Executors类快速创建线程池
Recyclerview advanced use (I) - simple implementation of sideslip deletion
GFS分布式文件系统(理论)
Easyexcel读取excel表地理位置数据,按中文拼音排序
mysql 5.1升级到5.68
文字组合,不重复,做搜索或查询关键字匹配
帆软之单元格部分字体变颜色
帆软实现一个单选按钮,可以统一设置其他单选按钮的选择状态
Postman的安装使用及填坑心得
dp-能量项链