zoukankan      html  css  js  c++  java
  • 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.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
  • 相关阅读:
    FJNU 1151 Fat Brother And Geometry(胖哥与几何)
    FJNU 1157 Fat Brother’s ruozhi magic(胖哥的弱智术)
    FJNU 1159 Fat Brother’s new way(胖哥的新姿势)
    HDU 3549 Flow Problem(最大流)
    HDU 1005 Number Sequence(数列)
    Tickets(基础DP)
    免费馅饼(基础DP)
    Super Jumping! Jumping! Jumping!(基础DP)
    Ignatius and the Princess IV(基础DP)
    Keywords Search(AC自动机)
  • 原文地址:https://www.cnblogs.com/duoxuan/p/11929197.html
Copyright © 2011-2022 走看看