由于要使用了laravel5.1,php要升级到5.5以上。具体环境是Aliyun Cent OS 7.0。由于阿里的yum源lastest只有5.4,laravel5.1必须php5.5,加了几个网上的yum源,各种各样的问题,所以只能麻烦的编译安装了。

首先网上这类的文章非常多,每个人的升级目的,要升级的组件都不完全一样。最好的说明文档还是官方安装文档,如果php官网的安装失败,再去搜索相关问题。我最终靠的是官网上Apache 2.x on Unix systems这篇文档。

1.下载

http://php.net/downloads.php

 wget http://cn2.php.net/get/php-5.5.33.tar.gz/from/this/mirror
#下载完改一下名字
mv mirror php-5.5..tar.gz
tar -zxf php-5.5..tar.gz php-5.5.
cd php-5.5.

2.编译安装

#这一步出错了#############################
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
#这一步出错率#############################

我在--with-apxs2=/usr/local/apache2/bin/apxs这一步出了问题,去掉这个参数即使安装也是不行,这个参数编译出libphp5.so并用在httpd.conf中,find / -name apxs2搜不到结果。我找了很久,发现是我的apache有问题,不知道为什么5.3的时候没有这个问题(不管了)。

yum install httpd-devel

虽然apxs2还是没有,但能找到apxs了:

 find / -name apxs2
find / -name apxs
/usr/bin/apxs

接下来几步一点点来,比较耗时:

 ./configure --with-apxs2=/usr/bin/apxs --with-mysql
make
make install #之后发现单独编译pdo_mysql扩展有问题,换了这句重新编译
#./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-apxs2=/usr/bin/apxs
#用下面这句,后面最方便,把Laravel依赖的PDO,openssl,tokenizer都自动装上了,只有mbsting需要手动编译。
#./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \
#--with-apxs2=/usr/sbin/apxs --with-openssl --with-curl

得到类似结果为安装成功:

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-/
...
...
...
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
/usr/local/src/php-5.5./build/shtool install -c ext/phar/phar.phar /usr/local/bin
ln -s -f phar.phar /usr/local/bin/phar
Installing PDO headers: /usr/local/include/php/ext/pdo/

3.配置

复制php.ini

#这个位置一定不能错,编译.configure的时候我没有制定php.ini的位置,默认就是这里,
#如果跳过这一步,后面不会出问题,但是你将来该php.ini,比如安装扩展什么的,去修改/etc/php.ini(你原来的)的话都是无效的。
cp php.ini-development /usr/local/lib/php.ini
#这里我建议把原来的php.ini改掉,这样不会影响以后的find
#你的原来不一定是这里,建议find一下
mv /etc/php.ini /etc/php.ini.back

修改httpd.conf

find / -name httpd.conf
vi /etc/httpd/conf/httpd.conf
#加入这两句(310行左右)
AddType application/x-httpd-php .php .php3 .phtml .inc
AddType application/x-httpd-php-source .phps
#可能是升级的原因,这一句我本来就有,没有要加(50行左右)
LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so

重启apache:

service httpd restart

测试一下:

php -v

新建一个phpinfo.php访问一下:

<?php
echo phpinfo();

结果完美:

可以需要安装一些依赖,如gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap,这些就交给yum吧。

dreamingodd原创文章,如转载请注明出处。

Linux PHP5.3升级PHP5.5.33 (CentOS)的更多相关文章

  1. 如何在CentOS上升级php5.4至5.6?

    如何在CentOS上升级php5.4至5.6? 2017-01-10技术运维PHPApacheCentOSLinux 由于CentOS的默认的php安装源版本都是5.4以下的,如果你的项目对php版本 ...

  2. Linux版 php5.4 升级php7

    开篇 本操作是在VirtualBox里面进行的,所以开篇先说下,本地如何操作VB里面的Linux 1.secureCRT登陆虚拟机ubuntu 直接连接虚拟机的ip (ifconfig)会提示拒绝访问 ...

  3. Win 2003下IIS6+Mysql+php5.2  isapi搭建 升级php5.2到5.3测试 借助fastcgi实现

    Win 2003下IIS6+Mysql+php5.2  原环境isapi搭建 升级php5.2到5.3测试 借助fastcgi实现 操作如下 实验前准备:php-5.3.5-Win32-VC6-x86 ...

  4. wamp升级php5.3.10到5.4.31版本

    wamp升级php5.3.10到5.4.31版本 1.  停止WAMP服务器. 2.  去网站windows.php.net 下载php-5.4.31-nts-Win32-VC9-x86.zip. 不 ...

  5. 快速升级PHP5.4、MySql5.5版本WDCP面板一键包

    指定一键安装包环境升级PHP5.4版本 wget http://soft.sindns.net/wdcp/php_up54.sh sh php_up54.sh 直接登录SSH,下载和执行脚本自动会升级 ...

  6. wdcp升级php5.3无法安装PDO_MySQL的解决

    重新下载php5.3的升级脚本 wget http://down.wdlinux.cn/in/php_up53.sh 不忙运行,先修改php_up53.sh,查找./configure字段,在这行的末 ...

  7. wdcp升级php5.8到php7.1.12

    php7升级脚本 update_php7.sh #!/bin/bash # PHP update scripts ];then Ver= else Ver=$ fi Debugfile= echo & ...

  8. 【Linux】-NO.160.Linux.1 -【升级Centos7】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  9. Linux系统常用升级的基础包

    Linux系统常用升级的基础包 yum -y install lrzsz gcc gcc-c++ make flex autoconf automake vixie-cron libjpeg libj ...

随机推荐

  1. Quartz.net使用总结

    进来项目中用到了   任务调度  来实现短信发送网关,所以这里分享下 Quartz.net 的使用经验. 任务调度选用了 Quartz.net 来实现,之前用的是C#中自带的window服务安装,这次 ...

  2. 利用JavaScript函数对字符串进行加密

    加密.解密问题对我来说一直是很神秘的,感到神奇无比. 理论了解 前段时间看到关于利用JavaScript函数unescape()和escape()对字符串进行替换处理.通过查资料得知, escape( ...

  3. 温故而知新--sql存储过程复习

    存储过程是已编译好的T-SQL语句的集合,可以随时调用,速度快,不易出错. 可以传递参数,普通参数和输出参数(output) 实例1 create proc Newpro @testVarA int, ...

  4. 启用数据库的 Service Broker

    --is_broker_enabled为0未启用,为1启用SELECT name,is_broker_enabled FROM sys.databases WHERE name = 'DBNAME' ...

  5. FreeBSD应该装gnome3做桌面

    目前freebsd pkg包管理体系的repo源多了一些,速度快了很多. 仓库中目前的版本为3.14,安装gnome3很简单. pkg install xorg gnome3 echo "e ...

  6. 第 29 章 CSS3 弹性伸缩布局[上]

    学习要点: 1.布局简介 2.旧版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.布局简介 CSS3 提供一种崭新的 ...

  7. Gym 101102C---Bored Judge(区间最大值)

    题目链接 http://codeforces.com/gym/101102/problem/C problem description Judge Bahosain was bored at ACM ...

  8. opencart 添加新模型

    1,修改模板页,复制category_list.tpl,category_form.tpl,修改成新的名称. category_list.tpl是列出页面,category_form.tpl是添加和修 ...

  9. java--POI解析excel兼容性问题

    近日,使用POI解析excel,发现2003版本的excel解析与2007版本的excel解析存在问题.特此总结: 1.所需jar包 : 2.java类代码(读取excel文件): public vo ...

  10. MediaWiki使用指南

    MediaWiki使用指南 MediaWiki是著名的开源wiki引擎,全球最大的wiki项目维基百科(百科词条协作系统)是使用MediaWiki的成功范例,MediaWiki的最大作用在于对知识的归 ...