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 作者:狂热森林 . 关闭防火 ...
随机推荐
- pandas DataFram的insert函数
原文链接:https://blog.csdn.net/yanwucao/article/details/80211984 DataFrame.insert(loc, column, value, al ...
- 20191127 Spring Boot官方文档学习(4.25)
4.25. Testing Spring Boot提供了许多实用程序和注解,可以在测试应用程序时提供帮助.测试支持由两个模块提供:spring-boot-test包含核心项,spring-boot-t ...
- ELK7.4.0分析nginx json日志
ELK7.4.0单节点部署 环境准备 安装系统,数据盘设置为/srv 内核优化参考 我们需要创建elk专用的账号,并创建所需要的目录并授权 useradd elk; mkdir /srv/{app,d ...
- uwsgi + nginx 部署python项目(一)
uWSGI uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uws ...
- Python解释器判断整数相加溢出
溢出,则和的最高位(即符号位)与两个加数都不相同,例如 1)非负数+非负数=负数 2)负数+负数=非负数 那么,假设x为a与b的和,((a^b)>=0 && (x^a)<0 ...
- js Functor Copy
原文地址:https://segmentfault.com/a/1190000006051586?utm_source=tuicool&utm_medium=referral 本处仅仅个人存档 ...
- QT DBUS: Not connected to D-Bus server, 注意source /etc/profile
运行环境:ARM 运行如下代码: QDBusConnection bus = QDBusConnection::sessionBus(); if(!bus.registerService(" ...
- [luogu5339] [TJOI2019]唱、跳、rap和篮球(容斥原理+组合数学)(不用NTT)
[luogu5339] [TJOI2019]唱.跳.rap和篮球(容斥原理+组合数学)(不用NTT) 题面 略 分析 首先考虑容斥,求出有i堆人讨论的方案. 可以用捆绑法,把每堆4个人捆绑成一组,其他 ...
- Linux命令(持续更新)
1. tail 命令 tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件. tail -f filename 会把 filename 文件里的最尾部的内 ...
- linux下装python3以及pip3
1.wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz 2.tar zxvf Python-3.6.0.tgz 3.cd Pyt ...