安装PHP5,安装PHP7

本文详细介绍了如何从源码编译安装PHP5.6和PHP7.1版本,包括配置过程及解决常见错误的方法。同时对比了两个版本的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装PHP5

  • PHP官网www.php.net
  • 当前主流版本为5.6/7.1
  • cd /usr/local/src/
  • 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
  • ./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
  • make && make install
  • cp php.ini-production /usr/local/php/etc/php.ini

目前PHP主流的版本为5.6或7.1版本,现在很多企业是使用PHP 5 的版本,新出来的PHP7性能有很大提升。

安装PHP5

首先切换到cd /usr/local/src/目录下

下载php5.6 的压缩包

234902_E1h3_3708406.png

解压php5.6的压缩包

235037_jR4y_3708406.png

切换目录到php-5.6.30/目录下

235141_iPV6_3708406.png

编译PHP5.6

235232_cpe0_3708406.png

--prefix=/usr/local/php,安装目录

--with-apxs2=/usr/local/apache2.4/bin/apxs,它是apache的一个工具,自动的帮你去把扩展的模块放到Apache中的modules目录里,并且在它的配置文件里加上一行load module

--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 ,指定mysql的路径

--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,指定PHP需要的模块

配置完成之后,用echo $?来检查是否有错,为1表示有错误

001359_4QRS_3708406.png

错误一:缺少 libxml2 库

001520_EyZ3_3708406.png

解决办法:用yum list |grep xml2查看,并安装安装 libxml2-devel 包

001714_qaJc_3708406.png

001903_Tfjx_3708406.png

安装好之后,接着配置,又出现错误

错误二:缺少openssl-devel库

002215_h2ht_3708406.png

解决办法:

002249_1ZT0_3708406.png

安装完成,接着配置,配置过程中出现错误就会停止运行

错误三:缺少bzip2 bzip2-devel库

002525_VH4B_3708406.png

解决办法:

002610_7Wg9_3708406.png

安装完成,接着配置

错误四:缺少libjpeg-devel包

002752_jMTC_3708406.png

解决办法:

002812_KnUL_3708406.png

安装完成,接着配置

错误五:缺少libpng-devel包

002933_5ncE_3708406.png

解决办法:

003006_6Euh_3708406.png

安装完成,接着配置

错误六:缺少 freetype-devel 库

003141_VQmr_3708406.png

解决办法:

003208_2Lw6_3708406.png

安装完成,接着配置

错误七:缺少 libmcrypt-devel 库

003324_Iak8_3708406.png

解决办法:先安装eprl扩展源yum install -y epel-release,再来安装 libmcrypt-devel 包

003453_BzCr_3708406.png

安装完成,接着配置,看到以下提示,就表示配置成功

003846_VVTo_3708406.png

用echo $?检查是否有错误,0表示没有错误

005010_mmtl_3708406.png

然后就是make和make install,安装完成

011148_AGU2_3708406.png

011116_STTB_3708406.png

查看PHP目录和核心文件

011509_WaQv_3708406.png

查看php加载的模块

011547_vucL_3708406.png

查看Apache的模块

012523_FGY1_3708406.png

012603_P3jN_3708406.png

php5_module (shared) 这个模块非常重要,Apache需要去执行php的文件,需要借助于php module这个模块

查看模块文件

012839_VYGV_3708406.png

打开Apache的配置文件,搜索/php5.so,自动加载相应的模块

012913_UHYM_3708406.png

012930_BwxT_3708406.png

安装PHP7

  • cd /usr/local/src/
  • wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
  • tar zxf php-7.1.6.tar.bz2
  • cd php-7.1.6
  • ./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
  • ls /usr/local/apache2.4/modules/libphp7.so
  • cp php.ini-production /usr/local/php7/etc/php.ini

首先切换到/usr/local/src/目录下,# cd /usr/local/src/

下载PHP7.1版本安装包

014030_XgGR_3708406.png

解压PHP7安装包

014148_Dtdp_3708406.png

切换到PHP7的源码包目录下,配置

014719_aazj_3708406.png

然后编译和安装,make 和make install

015317_DhGv_3708406.png

015349_LErD_3708406.png

安装完成之后,查看PHP7的文件

015606_cIJj_3708406.png

查看php7加载的模块,与PHP5基本上是一致的

015639_hMUm_3708406.png

查看Apache加载几个PHP,既有PHP5,也有PHP7

015845_8dMZ_3708406.png

015942_CMsa_3708406.png

根据自己需求,选择PHP,不想用哪个,就注释掉哪一行

020100_IUyj_3708406.png

020145_Rs3d_3708406.png

扩展

php中mysql,mysqli,mysqlnd,pdo到底是什么

查看编译参数

转载于:https://my.oschina.net/u/3708406/blog/1591684

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值