码迷,mamicode.com
首页 > Web开发 > 详细

安装PHP5和PHP7

时间:2018-05-25 19:38:48      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:Linux

安装php5

下载源码包
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz

技术分享图片

解压源码包
tar -zxvf php-5.6.30.tar.gz

技术分享图片

进行编译(进入php解压后的目录)
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

后面的参数意思分别是:
--prefix指定安装目录

--with-apxs2是apache的一个工具自动安装扩展模块

--yith-config指定配置文件所在路径,php配置文件叫php.ini和mysql不一样

--with-mysql指定mysql的路径

后面的pdo-mysql和mysqli和mysql都是mysql的驱动或者说指定它的库,如果想php和mysql通信首先要编译出支持它的一个模块出来,

再后面就是指定php所需要的一些模块。
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir\
--with-freetype-dir\
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openss\
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring\
--enable-sockets\
--enable-exif\

因为我们服务器是第一次安装php初始化过程中可能会遇到错误,一般都是缺少某些库,如下错误就是缺少xml2相关的包

技术分享图片

我们先使用 yum list |grep xml2 查找一下我们需要安装的包

技术分享图片

这里我们需要安装的是 libxml2-devel 包,yum安装一下(如果不知道安装哪个包就一个一个试,然后记下来,这都是经验判断)
yum install -y libxml2-devel

技术分享图片

安装好之后再configure初始化

如下错误缺少openssl-devl

技术分享图片

yum inatall -y openssl-devel 安装openssl-devel包

如下错误缺少bzip2-devel包

技术分享图片

yum install -y bzip2-devel 安装bzip2-devel包

如下错误缺少libjpeg-devel包

技术分享图片

yum install -y libjpeg-devel 安装libjpeg-devel包

如下错误缺少libpng-devel包

技术分享图片

yum install -y libpng-devel 安装libpng-devel包

如下错误缺少freetype-devel包

技术分享图片

yum install -y freetype-devel 安装freetype-devel包

如下错误缺少libmcrypt-devel包

技术分享图片

如果没有安装过epel的话,我们需要先安装epel扩展源
yum install -y epel-release

yum install -y libmcrypt-devel 安装libmcrypt-devel包

安装完后,我们再编译安装一下PHP

技术分享图片

如果看到上图内容,就证明configure这一步成功了
然后再make,完成之后再make install。或者直接使用(make && make install)
make && make install

技术分享图片

然后把配置文件放到/usr/local/php/etc/目录下改名为php.ini就完成了
cp php.ini-production /usr/local/php/etc/php.ini

技术分享图片

然后我们可以看一下它的目录
ls /usr/local/php/

技术分享图片

其中它的核心文件是:bin和bin/php
技术分享图片

技术分享图片

还有如下文件,他是结合apache和php的扩展模块
du -sh /usr/local/php/bin/php

技术分享图片

查看php加载的模块(都是静态模块)
/usr/local/php/bin/php -m

查看php的信息
/usr/local/php/bin/php -i

php是作为httpd的一个扩展模块存在的,是不需要启动的。

安装php7

下载php7的源码包(进入src目录)
wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2

技术分享图片

解压源码包
tar jxvf php-7.1.6.tar.bz2

技术分享图片

PHP7和PHP5.6安装基本一样,唯一不一样的就是configure初始化的时候后面的参数略有不同

进入解压完的源码包进行编译
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

技术分享图片

接下来,make && make install

技术分享图片

拷贝配置文件
cp php.ini-production /usr/local/php7/etc/php.ini

技术分享图片

一台机器同时安装php5和php7那么使用哪一个呢
可以编辑apache的配置文件来进行选择
vim /usr/local/apache2.4/conf/httpd.conf

找到如下行,不用哪一个就注释掉哪一个
技术分享图片

安装PHP5和PHP7

标签:Linux

原文地址:http://blog.51cto.com/13658403/2120365

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!