Centos7 离线安装 php7
问题:因内部管控,机器无法连接公有yum源安装php。
正常安装php7可以参考CentOS7.2 安装 PHP7.2
下面的代码也是一种方法
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-mcrypt php72w-intl php72w-libapache2
正常网络下,上述两种方式都可安装成功,但内部管控,上面命令会出现
No package epel-release available.
epel-release = 7
epel-release >= 7 is needed by webtatic-release-7-3.noarch
更换其他源可能出现
"Peer's Certificate issuer is not recognized."
方案:离线下载rpm包,根据安装时的报错,安装相关开发包
上述正常安装的方案是让系统获取php7的安装源,以便通过yum安装,自动下载安装依赖包
步骤是 下载离线包->安装依赖环境->安装离线包。。全部的代码如下,再往下的是解决思路,可忽略
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-mcrypt php72w-intl php72w-libapache2 --downloadonly --downloaddir=.
yum install -y libmcrypt libmcrypt-devel mcrypt mhash
yum install -y libicu libargon2 openssl libcrypto
# 进入离线包的目录
cd ./tmp_rpms
rpm -Uvh *.rpm
#启动并运行php-fpm服务
systemctl enable php-fpm.service
systemctl restart php-fpm
思路和实际调试步骤
1.首先在可以正常安装php的机器中下载rpm包,
- 需要注意的是两个系统版本要一致,比如centos7,或者都是x86-64
- 运行命令,其实就是在原命令末增加 --downloadonly --downloaddir=.
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-mcrypt php72w-intl php72w-libapache2 --downloadonly --downloaddir=.
2.因php依赖 libmcrypt libmcrypt-devel mcrypt mhash 需要安装好,这边的内部管控还是有内部源可以访问的,支持这些基础安装
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
3.将离线包放到目标机中,运行下命令,查看报错信息,如果没报错,那就直接跳到第7步,启用php-fpm服务
rpm -Uvh *.rpm
4.这边遇到的问题 xxx is needed by xxx,
libargon2.so.()(64bit) is needed by
libcrypto.so.(OPENSSL_1.0.2)(64bit)
libicudata.so.()(64bit) is needed b
libicui18n.so.()(64bit) is needed b
5.去这个网站搜索报错信息里需要的依赖包 https://pkgs.org ,不要带.so,直接搜名字就行,在结果中选择系统对应的版本,比如centos7
- 比如 libargon2.so,点击第一条,新页面中查看 Install Howto

yum install libargon2 尝试下能不能执行,成功的话下一个,否则下载离线包安装
6.下面一行代码是本环境可以直接安装,满足php依赖。然后运行第3步的命令就可以成功,没有报错。
yum install -y libicu libargon2 openssl libcrypto
7.启用php-fpm服务,因项目用到php-fpm服务,而离线方式安装,没有启用service,需要运行下面命令
systemctl enable php-fpm.service
systemctl restart php-fpm
以上,php就安装成功了,项目已经用上了,暂时没有发现有什么问题,php运行良好,没有奇怪的崩溃异常。
安装phpredis ,访问下载页下载, 查看github页面安装说明,编译安装
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make && make install
echo "extension=redis.so" > /etc/php.d/redis.ini
systemctl reload php-fpm
Centos7 离线安装 php7的更多相关文章
- centos7离线安装PHP7
环境 centos7.9 PHP7.4.30 准备工作 在编译PHP时会提示一些包版本不够或者缺少某些包,一般选择yum来安装缺少的包,但因为是离线安装,所以可以手动配置本地yum源.先看一下系统版本 ...
- CentOS7离线安装mysql5.7
下载mysql5.7,系统选择redhat,版本选择RHEL7,下载RPM Bundle后得到一个tar文件.这里得到文件mysql-5.7.25-1.el7.x86_64.rpm-bundle.ta ...
- CentOS7 离线安装mysql-5.7.16
CentOS7 离线安装mysql-5.7.16 1 . 安装新版mysql前,需将系统自带的mariadb-lib卸载 [root@slave mytmp]# rpm -qa|grep mariad ...
- CentOS7离线安装Nginx(详细安装过程)
CentOS7离线安装Nginx(详细安装过程) 1.安装gcc.g++ 下载好所需的文件后上传至服务器(下载地址:https://download.csdn.net/download/a729360 ...
- Centos7 编译安装PHP7
Centos7 编译安装PHP7 编译安装的方式可以让组件等设置更加合理,但需要你对PHP的代码及各种配置非常的熟悉,以下为大致的安装流程,大家可以参考 1.下载编译工具 yum groupinsta ...
- CentOS7离线安装MySQL8.0
CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...
- Binlog2sql+CentOS7 离线安装
Binlog2sql+CentOS7 离线安装 目录 Binlog2sql+CentOS7 离线安装 1. 环境 2. 下载 3.1 Pip 安装 3.2 PyMySQL/mysql-replicat ...
- CentOS7编译安装php7.1配置教程详解
这篇文章主要介绍CentOS7编译安装php7.1的过程和配置详解,亲测 ,需要的朋友可以参考. 1.首先安装依赖包: yum install libxml2 libxml2-devel openss ...
- centos7.3安装php7.0
需求:在Centos7.3下搭建LNMP环境 文章转载自:http://blog.csdn.net/wszll_alex/article/details/76285324 作者:狂热森林 . 关闭防火 ...
随机推荐
- Jmeter之if控制器
在使用中,一些操作可以执行,需要满足一些特定的条件,这个时候就可以使用if控制器去控制. 一.界面显示 二.配置说明 1.名称:标识,建议设置为判断的功能 2.注释:说明 3.条件:是指需要满足那种条 ...
- centos7安装java JDK
Java环境 1.下载jdk(用FileZilla或xshell工具连接服务器后上传到需要安装的目录) 在 /opt/deploy 下新建 java 文件夹: # mkdir / opt/deploy ...
- 【HANA系列】SAP HANA数据处理的理解与分析一
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA数据处理的理解与 ...
- 【EW系列】SAP EWM模块-EWM的常用T-CODE整理
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[EWM系列]SAP EWM模块-EWM的常用T ...
- MySQL学习-MySQL内置功能_索引与慢查询
1.索引基础 1.1 介绍 (1.)为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂 ...
- 匿名函数及paramiko模块
1.匿名函数 随着程序代码的不断增加,起名字其实也是非常困难的一件事 一些简单的功能完全没必要用def函数,匿名函数足矣 def test(x,y): return x+y res = test(1, ...
- 3D打印技术的学习
1. 我们使用3D建模软件:123Ddesign来设计 123D design软件保存格式有2种,分别为123dx和stl格式 123dx格式:选择菜单栏中“Save”下的“To my compute ...
- 简单的遍历xml
#include <opencv2\opencv.hpp> #include <opencv2\highgui\highgui.hpp> #include <opencv ...
- 剑指Offer编程题(Java实现)——两个链表的第一个公共结点
题目描述: 输入两个链表,找出它们的第一个公共结点. 思路一: 设 A 的长度为 a + c,B 的长度为 b + c,其中 c 为尾部公共部分长度,可知 a + c + b = b + c + a. ...
- Java编程思想学习录(连载之:内部类)
内部类基本概念 可将一个类的定义置于另一个类定义的内部 内部类允许将逻辑相关的类组织在一起,并控制位于内部的类的可见性 甚至可将内部类定义于一个方法或者任意作用域内! 当然,内部类 ≠ 组合 内部类拥 ...