linux学习第三十七篇:安装PHP5,安装PHP7

安装PHP5

  • PHP官网www.php.net

  • 当前主流版本为5.6/7.1

  • 进入放源码包的目录:
    cd /usr/local/src/

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

  • 解压压缩包:
    tar zxvf php-5.6.30.tar.gz

  • 进入目录:
    cd php-5.6.30

  • 安装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的工具,指定工具的地址,可以帮我们自动配置一些模块。
--with-config-file-path:指定配置文件的路径。
--with-mysql:指定mysql路径。
  • PS:在这里出现了一个错误,是因为我们还没安装libxml2这个库,安装包:yum install -y libxml2-devel
    这里写图片描述
    PS:这里也出现了一个错误,这是少了openssl库,安装包:yum install -y openssl-devel
    这里写图片描述
    PS:这里需要安装bzip2,安装包yum install -y bzip2-devel
    这里写图片描述
    PS:安装libjpeg包,安装包yum install -y libjpeg-turbo-devel
    这里写图片描述
    PS:安装libpng包,安装包yum install -y libpng-devel
    这里写图片描述
    PS:安装freetype包,安装包yum install -y freetype-devel
    这里写图片描述
    PS:安装libmcrypt包,安装包yum install -y libmcrypt-devel,如果你没有安装epel-release这个扩展源,就需要先安装这个扩展源,因为libmcrypt是在这个扩展源里面,安装扩展源:yum install -y epel-release
    这里写图片描述

  • 编译安装:
    make && make install
    PS:Apache和php结合的通过图中的libphp5.so模块
    这里写图片描述

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

  • 这个httpd的配置文件里就多了一行php模块,被注释掉的就是没有用的模块,随用随取:
    vim /usr/local/apache2.4/conf/httpd.conf
    这里写图片描述

  • 把php的参考配置文件复制到php的配置文件目录下:
    cp php.ini-production /usr/local/php/etc/php.ini

  • 查看php的一些配置信息:
    /usr/local/php/bin/php -i | less
    这里写图片描述

安装PHP7

./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

  • php7模块:
    ls /usr/local/apache2.4/modules/libphp7.so

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

  • 把php7的参考配置文件复制到php7的配置文件目录下:
    cp php.ini-production /usr/local/php7/etc/php.ini

  • 可以在httpd配置文件中选择使用php5或者php7模块,不要的就注释掉:
    vim /usr/local/apache2.4/conf/httpd.conf
    这里写图片描述

  • PS:在编译安装PHP时,对于小内存,比如512MB内存的VPS来说,很有可能会出现问题,因为编译过程是一个内存消耗较大的动作。会出现如下所示的警告,所以需要停掉一些服务,让腾出更多的内存供PHP编译时使用:
    virtual memory exhausted: 无法分配内存
    make: * [ext/fileinfo/libmagic/apprentice.lo] 错误 1

扩展:
php中mysql,mysqli,mysqlnd,pdo到底是什么 http://blog.csdn.net/u013785951/article/details/60876816
查看编译参数 http://ask.apelearn.com/question/1295

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值