文章背景

统信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-readlinedpkg -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,再创建软链接。下载老版本OpenSSLwget 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包 ,学会找出依赖包的来源。。。。

统信UOS卸载php7.2.24,安装php7.4.27 ;卸载再安装为PHP 7.2.34相关推荐

  1. 戴尔笔记本怎么安装统信uos系统?戴尔笔记本安装统信uos+win双系统

    最近有网友问我戴尔笔记本能不能安装统信uos系统?答案是肯定的,还有的网友问,能不能保留本地windows系统然后再安装统信uos形成双系统,答案也是肯定的,下面小编就教大家在保留本地windows系 ...

  2. 统信UOS家庭版全民测评~

    2021年11月,统信UOS家庭版官网全新上线啦!国产操作系统,安装快捷简单,无弹窗无广告. 系统安装 统信UOS操作系统推出"一键安装"的方式供用户安装系统,你只需要在官网下载程 ...

  3. 携手腾讯官方打造,微信(统信UOS版)首发

    今日,国民级应用.开机必备软件微信正式登陆统信UOS应用商店,统信UOS用户可直接在商店中搜索"微信",一键安装,原生体验,扫码登录即可随时畅聊! (*目前,原生版『微信』已适配X ...

  4. 简单定制统信UOS镜像的方法

    关于简单定制统信UOS镜像的方法 一:原因和目的 原因:由于目前统信的UOS系统装好之后第三方软件集成度较低,用户拿到手之后不能做到开箱即用,需要安装各类软件,用户体验不够友好. 目的:将需要预安装的 ...

  5. 统信UOS操作系统安装

    常见的linux国产修改版本,有深度的linux(Deepin).红旗Linux.银河麒麟.中标麒麟Linux.统信UOS.大家可能听说过深度linux,在众多国产linux修改版本中,深度的体验可以 ...

  6. 统信UOS,这个国产系统正在走近你的生活

    首先假设你会使用电脑(personal computer,简称PC),并且使用过Windows操作系统或macOS操作系统,那么看完本文,那么你基本上很容易接受统信UOS.(本文操作环境为搭载统信UO ...

  7. 信创操作系统--统信UOS桌面版(安装与卸载Windows软件)

    信创操作系统–统信UOS桌面版(安装与卸载Windows软件) 目录 前言 1 Wine介绍 2 Deepin-wine介绍 3 安装windows软件 3.1通过应用商店软件 3.2命令行界面界面安 ...

  8. 统信UOS下Gedit文本编辑器的安装方法及功能介绍

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 前言 一.Gedit是什么? 二.安装方法 1.在线安装 2.离线安装 三.功能介绍 1.快捷键介绍 2.菜单> ...

  9. 许久没更新,安装Python第三方库python-docx都困难系列(统信UOS)

    统信UOS安装python-docx遇到的困难 **前言:**本文默认你的国产系统(通信)已经可以使用pip3,貌似pip不可以直接用 如果你pip3不能使用,移步知乎大佬或者直接百度 > ht ...

最新文章

  1. react 子组件ref_React中Ref 的使用方法详解
  2. linux lib lib64 区别,lib,lib32,lib64,libx32和libexec之间的区别
  3. crtsiii型无砟轨道板_自主知识产权CRTSⅢ型轨道板助力,赣深铁路无砟轨道轨道板灌注第一工作面完成...
  4. 2019 第八/九周/十周 开发笔记
  5. android 属性动画实例,Android属性动画完全解析 中 ,ValueAnimator和ObjectAnimator的高级用法...
  6. java 操作位_Java位运算符
  7. 栈的应用实例——平衡符号
  8. Google 产品速查手册大全
  9. linux csi 摄像头,A20 linux(dragonboard)同时使用Parallel CSI Camera及UVC
  10. 示例1---从记事本中读取数值,然后写到数组中---切片,优化版本
  11. 扩展整数poj 1061 青蛙的约会 扩展欧几里得
  12. 第7月第25天 xcode bundle calayer动画
  13. C# 打印机功能打印图表
  14. angularjs源码笔记(1.3)--directive ctrl attrs
  15. 如何解决“配置系统未能初始化“ 错误的解决方案?
  16. iOS自定义UITableViewRowAction
  17. HDU 5602 Black Jack (记忆化搜索+DP)*
  18. amazon alexa simple demo code for libcurl
  19. 智能车八邻域图像算法
  20. cv.waitkey()参数详解

热门文章

  1. poj 放苹果(C语言 递归)
  2. 1000个苹果装10个箱子 c语言,分苹果问题和RMB面值问题
  3. 关于Keil5编译器报错:ARMLMD_LICENSE_FILE: unset - 解决
  4. opencv3之截取静态图片的脸部区域
  5. boost::multi_index 提供一种千人在线即时排行榜的设计思路
  6. 视频智能动作行为分析系统带你了解:动作捕捉与行为分析
  7. 完美洗牌问题——核心思想与代码
  8. 大奖章 量化 数据 接口
  9. 基于百度OCR的网站验证码在线识别
  10. Mysql 批量插入大量数据的两种方案以及优缺点(分别是 5W 条数据和 10W 条数据)