标签: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的源码包(进入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
找到如下行,不用哪一个就注释掉哪一个
标签:Linux
原文地址:http://blog.51cto.com/13658403/2120365