centos下升级php5.3到php5.6_php 5.3 升级 5.6 兼容 踩坑-程序员宅基地

技术标签: software install  php  centos  

Talk is cheap, show me the code.

查看并删除原有的php5.3

查看原有的php版本:

php -V

查看已经安装的php的包:

yum list installed | grep php

可以看到如下原有的安装包:

php-common.x86_64 0:5.3.3-38.el6   
php-gd.x86_64 0:5.3.3-38.el6        
php-ldap.x86_64 0:5.3.3-38.el6          
php-mysql.x86_64 0:5.3.3-38.el6    
php-odbc.x86_64 0:5.3.3-38.el6      
php-pdo.x86_64 0:5.3.3-38.el6           
php-pear.noarch 1:1.9.4-4.el6      
php-pecl-apc.x86_64 0:3.1.9-2.el6   
php-pecl-memcache.x86_64 0:3.0.5-4.el6  
php-pgsql.x86_64 0:5.3.3-38.el6    
php-soap.x86_64 0:5.3.3-38.el6      
php-xml.x86_64 0:5.3.3-38.el6           
php-xmlrpc.x86_64 0:5.3.3-38.el6

全都是5.3.3-38.el6版本的。

如果不删除原有的5.3的包,安装php5.6的包时会报冲突的错误。

删除5.3的包:

yum remove php.cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mysql.x86_64 php-odbc.x86_64 php-pdo.x86_64 php-pear.noarch php-pecl-apc.x86_64 php-pecl-memcache.x86_64 php-pgsql.x86_64 php-soap.x86_64 php-xml.x86_64 php-xmlrpc.x86_64

删除后可以确认一下是否已经完成删除:

yum list installed | grep php

结果应该为空。

安装php5.6的包

由于centos 6.* 原有的rpm中不包含5.6的包的资源,所以需要先安装导入php的安装源:

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

然后安装5.6相关的包:

yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-odbc.x86_64 php56w-xml.x86_64 php56w-xmlrpc.x86_64 php56w-soap.x86_64

全部安装成功后确认一下:

yum list installed | grep php

结果如下:

php56w.x86_64            5.6.27-1.w6    @webtatic                               
php56w-cli.x86_64        5.6.27-1.w6    @webtatic                               
php56w-common.x86_64     5.6.27-1.w6    @webtatic                               
php56w-gd.x86_64         5.6.27-1.w6    @webtatic                               
php56w-ldap.x86_64       5.6.27-1.w6    @webtatic                               
php56w-mbstring.x86_64   5.6.27-1.w6    @webtatic                               
php56w-mysql.x86_64      5.6.27-1.w6    @webtatic                               
php56w-odbc.x86_64       5.6.27-1.w6    @webtatic                               
php56w-pdo.x86_64        5.6.27-1.w6    @webtatic                               
php56w-soap.x86_64       5.6.27-1.w6    @webtatic                               
php56w-xml.x86_64        5.6.27-1.w6    @webtatic                               
php56w-xmlrpc.x86_64     5.6.27-1.w6    @webtatic

重启php-fpm:

/usr/local/php/sbin/php-fpm restart

然后执行:

php -v

应当显示 5.6.

升级完毕。

不过存在一个疑问:

直接在服务器执行php -v的版本是5.6,但是在nginx服务器写一个info.php,内容如下:

<?php
    phpinfo();
?>

然后再浏览器访问:http://ip:port/info.php,显示的页面却还是旧的5.3版本。这个问题还没有搞清楚。

对于上述疑问,追踪进展为:

上面虽然删除安装了php的依赖包,但是旧的php版本本身没有删除,也就是说centos上存在两个版本的php,升级php依赖包后,执行 php -v 只不过系统访问的路径默认访问的是5.6版本的包,但是通过其他应用,比如nginx去访问的时候访问的还是旧的5.2版本的php。

检查过程如下:
执行php -v: 5.6

查看系统所有版本的php:

find / -name php

显示结果中可以找到下面两个命令:

/usr/local/php/bin/php
/etc/bin/php

分别执行 /usr/local/php/bin/php -v 和 /etc/bin/php -v 可以看到,一个是5.2版本,一个是5.6版本,这就是为什么上面php -v 看到的是5.6版本,而phpinfo看到的是5.2版本的直接原因。
根本原因:通过nginx访问php请求,nginx转发到127.0.0.1:9000,监听9000端口的php-fpm接收到请求后,将请求转交给对应的php解释器进行处理,也就是说使用的是哪个版本的php是由php-fpm决定,而php-fpm只是php的一个补丁,通过编译安装php时configure时加上参数 –enable-fpm 安装php-fpm,所以安装php时就已经决定了php-fpm调用的是哪一个版本的php,如果需要改变使用的php版本,只能重新下载更新版本的php源代码,然后重新编译安装带上–enable-fpm参数,这样才能成功改变phpinfo()显示的版本。

重新安装php5.6的方法参考linux安装nginx和mysql和php.md。

另外,想要找到系统采用的当前php.ini配置文件的话,可以通过下面的方式查找:

find / -name php.ini

这样可能会显示多个php.ini路径,然后执行如下命令可以获取当前被系统采用的php.ini配置文件:

php -i | grep php.ini
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/na_beginning/article/details/53414122

智能推荐

mysql全文搜索索引的字段提高搜索效率-程序员宅基地

文章浏览阅读1k次。一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。 开发者只需要简单地标记出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段运行搜索,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索,因为MySQL使用自然语言来智能地对结果评级,以去掉不相关的

计算机专业的可以做资料员工作吗,建筑资料员好不好做?-程序员宅基地

文章浏览阅读580次。原标题:建筑资料员好不好做?无论从事何种职业或者工作,都有着从不懂到懂,从新手变成一位有经验的专业人士这样一个过程,所以不懂并不可怕,只要你坚持,只要认真的学习,新手就只是暂时的代名词而已。首先来了解一下自己的行业概念: 建筑工程资料员的工作是一项集工程建设管理、档案管理知识为一体的复合专业工作,必须具备一定的建筑专业知识、档案专业知识及操作计算机建筑应用软件的能力。 随着建设的不断升温,建筑资料..._资料员是计算机专业类别里的吗

微服务-API网关-身份验证-程序员宅基地

文章浏览阅读850次。上一篇:被阿里P8面了两个小时,技术、业务有来有回......一、身份验证介绍身份验证通常是进入系统的第一道大闸,要求用户出具登录此系统的身份证明。其实在实际情况下,很多人开发的系统都没有..._api 获取网关的身份信息

WinForm中Label控件的换行显示-程序员宅基地

文章浏览阅读6.7k次。WinForm中,Label控件是最常用的了。可有时需要它的换行,只能在后台用\r\n或Environment.NewLine。原来,换行还可以通过前台界面属性设置来实现。换行主要用到AutoSize、MaximumSize和Size三个属性。添加一个Label控件,AutoSize的属性默认为True,MaximumSize的值均为0。只需要将MaximumSize的Width属性设置为

编程语言难度排名_文言文可编程乎?CMU中国大四学生:开源文言文编程语言获1万+标星...-程序员宅基地

文章浏览阅读357次。优达菌:文言文可以编程吗?近日一位卡内基梅隆大学(CMU)大四学生因开发基于文言文的编程语言小火了一把。截止本文发布前,排名 Github 项目周趋势第三(前两个是春运抢票相关)。懂编程又懂文言文,如此文理两开花,今年的年度最秀编程语言优达菌决定私自颁给文言编程了。本文由机器之心原创,已授权转载,禁止二次转载。「昔者苍颉作书,而天雨粟,鬼夜哭」,汉字的出现,诞生了世界上一个伟大的文明。而..._编程语言难度打星

搜狗违禁词屏蔽垄断关键词批量过滤工具-程序员宅基地

文章浏览阅读2.8k次。2020最新搜狗站群SEO必备违禁词过滤工具,支持在本机、拨号VPS运行使用,一键过滤被搜狗垄断屏蔽的关键词使用说明:可无需使用拨号过滤,在本机也可以可自定义大站数量一键导出为XLSX下载地址https://wws.lanzous.com/ir011eb2aif..._搜狗违禁词屏蔽垄断关键词批量过滤工具

随便推点

Point-Voxel CNN for Efficient 3D Deep Learning(PVCNN)论文翻译-程序员宅基地

文章浏览阅读1.9k次。Point-Voxel CNN for Efficient 3D Deep Learning(PVCNN)摘要我们介绍了Point-Voxel CNN(PVCNN),可进行高效,快速的3D深度学习。以前的工作使用基于体素或基于点的NN模型处理3D数据。但是,这两种方法在计算上都是低效的。基于体素的模型的计算成本和内存占用量随输入分辨率的增加而立方增长,从而使其无法扩展分辨率。对于基于点的网络,最多有80%的时间被浪费在构造稀疏数据上,这些稀疏数据的内存局部性很差,而不是实际的特征提取。在本文中,我们提出_point-voxel cnn for efficient 3d deep learning

一加9 是什么样的手机 通过流畅体验给你准确回答_一加9手机使用真实感受-程序员宅基地

文章浏览阅读101次。近期上市的一加9手机给手机消费领域萌生一些温热的暖意,同时也通过温柔一击,给市场带来一些属于新派潮流手机的新声音和新动向。刚刚上市的一加9如瀚海流星划过夜空,让市场大众看到汇聚品牌和工艺魅力的新手机实力,到底这是一款什么样的手机?品牌方表示,在流畅的体验当中,大众会感知到一加手机自身的定位、实力和推动手机发展的诚意和努力。据悉,一款手机的流畅性是属于手机竞争力的核心指标,正如一名运动员在运动场上的综合实力一般,是属于真正实用性和为自己争取得分的关键因素。而一加9手机真的能还原和提升手机的流畅度体验吗?在_一加9手机使用真实感受

pytorch: Tensor 常用操作_pytorch tensor fill-程序员宅基地

文章浏览阅读8.1w次,点赞56次,收藏371次。pytorch: Tensor 常用操作_pytorch tensor fill

centos环境搭建pptp服务器-程序员宅基地

文章浏览阅读2.1k次。pptp安装1、安装pppyum install -y ppp2、安装pptpdyum install -y pptpd3、修改/etc/pptpd.confoption /etc/ppp/options.pptpdlogwtmplocalip 192.168.11.1remoteip 192.168.11.10-1004、修改/etc/ppp/options.pptpd文件name pptpdrefuse-paprefuse-chaprefu

黑马程序员---------JAVA基础接口,多态-程序员宅基地

文章浏览阅读300次。多态:概念: 一个事物的多种形态多态前提和体现有继承关系或者实现关系 有方法重写 有父类引用指向子类对象成员访问特点方法的运行看右边,其他都看左边多态的好处提高了程序的维护性(由继承保证)提高了程序的扩展性(由多态保证)多态的弊端:父类不能访问子类的特有方法如果非要访问,向下转型(强转)向上转型从子到父父类

python实现下载任意网站所有图片_with open(f"./downloads_picture/{img_name}",'wb')-程序员宅基地

文章浏览阅读2.3k次。操作演示视频中爬取网站地址:https://www.ivsky.com/tupian/完整代码# !/user/bin/env python# -*- coding: utf-8 -*-# des: 下载任何网页的图片import reimport requestsdef download_img(): error_count = 0 success_count = 0 url = input('请输入您要下载的图片的网址:') headers _with open(f"./downloads_picture/{img_name}",'wb')

推荐文章

热门文章

相关标签