共计 2962 个字符,预计需要花费 8 分钟才能阅读完成。
由于要使用了 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
1 wget http://cn2.php.net/get/php-5.5.33.tar.gz/from/this/mirror
2 # 下载完改一下名字
3 mv mirror php-5.5.33.tar.gz
4 tar -zxf php-5.5.33.tar.gz php-5.5.33
5 cd php-5.5.33
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 了:
1 find / -name apxs2
2 find / -name apxs
3 /usr/bin/apxs
接下来几步一点点来,比较耗时:
1 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
2 make
3 make install
# 之后发现 pdo_mysql 扩展有问题,换了这句
#./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-apxs2=/usr/bin/apxs
得到类似结果为安装成功:
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20121212/
...
...
...
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.33/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 吧。
深入理解 PHP 中的 ini 配置 http://www.linuxidc.com/Linux/2016-02/128442.htm
剖析 PHP 脚本的超时机制 http://www.linuxidc.com/Linux/2016-02/128441.htm
Ubuntu 14.04 下搭建 PHP 开发环境 PDF http://www.linuxidc.com/Linux/2016-02/128330.htm
PHP 7 革新与性能优化 http://www.linuxidc.com/Linux/2015-09/123136.htm
PHP 7,你值得拥有 http://www.linuxidc.com/Linux/2015-06/118847.htm
在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0 http://www.linuxidc.com/Linux/2015-05/117960.htm
CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm
在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm
Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm
《细说 PHP》高清扫描 PDF+ 光盘源码 + 全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm
CentOS 6 中配置 PHP 的 LNMP 的开发环境 http://www.linuxidc.com/Linux/2013-12/93869.htm
PHP 的详细介绍 :请点这里
PHP 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-03/129691.htm