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 作者:狂热森林 . 关闭防火 ...
随机推荐
- oracle-控制文件的备份和恢复
本篇将介绍各种备份及恢复控制文件的方法,在介绍恢复时,以备份和重做日志(包括归档日志和在线日志)没有丢失为前提. 无备份情况下的控制文件恢复参考13.3,丢失重做日志的情况请参考12篇“不完全数据库恢 ...
- 【Hibernate】---Query、Criteria、SQLQuery
一.核心配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-con ...
- Sklearn评估器选择
- [转帖]Windows下cwRsyncServer双机连续同步部署
Windows下cwRsyncServer双机连续同步部署 https://www.cnblogs.com/nulige/p/7607503.html 找时间做一下测试 应该能更好的实现 自动部署的功 ...
- 太原fpxt招标
5.31号13点多赶到太原,到yy公司,准备参加6.1号的jzfpxt投标,一起到yy山西分公司的还有北京yy总公司D工,Y工,W工等, D工负责标书及系统演示,我主要是根据D工的演示思路调整系统,演 ...
- oracle数据库启动报错,不能启动ASM实例
数据库rac启动时报错,日志例如以下,后来使用 Sat Jun 7 06:02:11 2014 GATHER_STATS_JOB encountered errors. Check the tra ...
- scala学习笔记(9)
一.高阶函数 --------------------------------------------------- 1.作为值的函数:在Scala中,函数是头等公民,就和数字一样. import s ...
- Laravel 学习笔记之数据库操作——Eloquent ORM
1. 时间戳 默认情况下在使用ORM操作数据库进行添加.修改数据时, created_at 和 updated_at列会自动存在于数据表中,并显示的是 ‘2017’格式,如果想以 Unix时间戳格式存 ...
- 关于BeanUtils.copyProperties的用法和优缺点
一.简介: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对Jav ...
- 第七讲 自定义Realm实现授权
1.仅仅通过配置文件来指定权限不够灵活,并且不方便,在实际的应用中大多数情况下都是将用户信息,角色信息,权限信息保存到了数据库中.所以需要从数据库中去获取相关的数据信息.可以使用shiro提供的Jdb ...