Centos7 离线安装 php7

问题:因内部管控,机器无法连接公有yum源安装php。

正常安装php7可以参考CentOS7.2 安装 PHP7.2

下面的代码也是一种方法

yum -y install libmcrypt libmcrypt-devel mcrypt mhashrpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmyum -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 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.0()(64bit) is needed by
 libcrypto.so.10(OPENSSL_1.0.2)(64bit)
 libicudata.so.50()(64bit) is needed b
 libicui18n.so.50()(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

原文地址:https://www.cnblogs.com/duoxuan/p/11929197.html

时间: 2024-10-10 22:08:32

Centos7 离线安装 php7的相关文章

CentOS7离线安装docker问题解决

# CentOS7离线安装docker问题解决 [TOC] 因某些环境,不能联外网,所以使用docker yum源方法行不通,于是打算离线安装. 按此博客的方法http://www.cnblogs.com/aguncn/p/6863710.html,下载相应rpm安装. `rpm -ivh *.rpm --nodeps --force` 安装后,启动,报库文件缺少错误,下面是整个问题和解决过程: ``` [[email protected] ~]# /usr/bin/dockerd /usr/b

centos7离线安装ansible

centos7离线安装ansible: 1.通过在线的centos7将rpm包下载好了,上传到指定服务器. 下载官方repo,rpm -iUvh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm yumdownloader  ansible yumdownloader python-keyczar yumdownloader python-httplib2 yumdownloader sshpa

centos7.3安装php7.0

需求:在Centos7.3下搭建LNMP环境 文章转载自:http://blog.csdn.net/wszll_alex/article/details/76285324 作者:狂热森林 1. 关闭防火墙和selinux 打开文件selinux vim /etc/sysconfig/selinux 将文件中SELINUX=enforcing改为disabled,然后执行"setenforce 0″不用重启地关闭selinux. SELINUX=disabled 关闭放火墙 systemctl s

Centos7下安装php7

通过编译的方式安装php7 1. 安装PHP7 ## 下载 wget http://us2.php.net/distributions/php-7.0.2.tar.gz ## 安装 tar zxvf php-7.0.2.tar.gz cd php-7.0.2/ ./configure --help ## 查看安装的配置 ./configure --prefix=/usr/local/webserver/php --with-curl --with-freetype-dir --with-gd -

阿里云centos7.2安装php7

安装php7 1.安装php7rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 2. 通过云进行php和其他组件的安装 yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70

centos7离线安装rpm包自动解决依赖

离线安装rpm包自动解决依赖参照https://blog.csdn.net/u011396718/article/details/80153515当生产环境由于安全原因处于断网状态的时候.通过本地源的方式,使用yum能够自动安装软件,并且自动处理好依赖关系.然而该方法最最关键的一个问题是——怎么获取该软件及其依赖包,供本地源使用?当安装软件的依赖包较少的话,通过手动的方式,一个个查找并下载,也许是一个可以考虑的方案,而当一个软件有上百个依赖.并且依赖上又有依赖,这时候你再试试?如果真的觉得很无力

CentOS7 编译安装 php7

LNM都齐了,就差p了 先下载php源码包,最好是到官网 php.net,下载后备用.安装众多依赖 yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-deve

CentOS7离线安装TIDB

首先准备一台能够联网,并且操作系统版本与正式版本完全一致的服务器. 安装思路是,通过在线方式获得所有离线安装包,然后导入到正式安装环境中去. yum install -y --downloadonly --downloaddir=/opt/epel epel-release yum install -y --downloadonly --downloaddir=/opt/ansible ansible 原文地址:https://www.cnblogs.com/maobuji/p/8287744.

Centos7 编译安装PHP7.2

yum install wget 在 /usr/local/src 目录下载php源码包 wget http://cn2.php.net/distributions/php-7.2.4.tar.gz 解压源码包tar zxvf php-7.2.1.tar.gz 安装编译php需要的依赖包:yum install gcc autoconf gcc-c++yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel