当前位置 博文首页 > 文章内容

    一起看看Centos下PHP5升级PHP7的方法介绍

    作者:shunshunshun18 栏目:未分类 时间:2021-11-28 10:50:17

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    1. 首先下载PHP7安装包,使用wget http://am1.php.net/distributions/php-7.2.0.tar.bz2,或者直接访问下载,然后ftp到linux服务器
    2. 解压压缩包,tar –xjf php-7.0.2.tar.bz2
    3. 进入文件夹,cd php-7.0.2 ,安装必要的依赖工具,
    yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

    推荐(免费):

    这里主要是升级,一般在php5都安装了,所以这一步可以省略
    4. 安装几个依赖(必须安装,否则后面无法生成apache所用的libphp7.so文件)

    yum -y install perl
    yum –y install perl-develyum -y install httpd-develfind /usr  -name apxs 取得所用路径,后面编译时用到。

    5.准备编译工作

    ./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs

    **注意:其中的 –enable-gd-native-ttf 可以不安装,处理图形用的,如果有需求可以以后以扩展形式装
    –with-apxs2=/usr/bin/apxs 后面的路径改为第4步得到的路径
    –prefix=/usr/local/php7 单独安装在php7的文件夹,避免和php5冲突**
    6.编译
    make
    这一步容易出现很多问题,
    如果遇到譬如:undefine 。。。。
    /ext/cli./php …
    Openssl
    等等错误,而且确定安装了相关的模块,则一般清除之前的编译,删除相关文件后重新编译

    make clean
    rm –rf /usr/local/php7

    一般都可以解决问题。
    其他的错误可以参照这篇博客查阅这篇博客:
    http://www.cnblogs.com/sweetXiaoma/p/5855732.html
    http://www.linuxidc.com/Linux/2017-08/146220.htm
    关键还是自行解决,介于linux发行版太多,而且每台服务器的环境配置都不同,所以会遇到很多奇葩的问题。
    7.安装
    Make install
    8.准备配置文件

    cp php.ini-developement /etc/php.ini   //根据实际情况,可以使用production或者development默认配置cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.confcp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

    9.需要修改apache的配置文件
    Vi /etc/httpd/conf/httpd.conf 找到LoadModule php7_module modules/libphp7.so,如果没有手动加上,
    将LoadModule php5_module modules/libphp5.so注释掉
    cp /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_5
    Vi /etc/httpd/conf.d/php.conf
    改为下面这样:(将涉及到php5的注释掉,改为php7相关模块)

    <IfModule prefork.c>
      LoadModule php7_module modules/libphp7.so</IfModule><Files ".user.ini">
        <IfModule mod_authz_core.c>
            Require all denied    </IfModule>
        <IfModule !mod_authz_core.c>
            Order allow,deny        Deny from all
            Satisfy All</IfModule></Files>DirectoryIndex index.php# mod_php options<IfModule  mod_php7.c>
        <FilesMatch \.php$>
            SetHandler application/x-httpd-php</FilesMatch>
        php_value session.save_handler "files"
        php_value session.save_path    "/var/lib/php/session"
        php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"</IfModule>

    10.重启apache服务器
    service httpd restart