首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装PHP5,安装PHP7

安装PHP5,安装PHP7

作者头像
端碗吹水
发布2020-09-23 10:59:46
2.8K0
发布2020-09-23 10:59:46
举报

笔记内容:

  • 11.10/11.11/11.12 安装PHP5
  • 11.13 安装PHP7

笔记日期:2017.9.28

11.10/11.11/11.12 安装PHP5

2308
2308

PHP主流版本是5.x/7.x,不过大部分企业都是使用着PHP5.x版本,因为有些程序是基于5.x版本开发的,如果使用7.x版本可能就会出问题,7.x是这两年才出来的,这两个版本区别比较大,7.x的性能要比5.x版本有所提升。

现在先介绍如何安装5.6版本的PHP,在这里介绍的是编译源码包的安装方式,安装PHP之前必须要安装了mysql和apache:

第一步,先下载源码包到/usr/local/src/目录下:

下载地址:

http://cn2.php.net/distributions/php-5.6.30.tar.gz

2309
2309

第二步,解包:

tar -zxvf php-5.6.30.tar.gz

第三步,进入到php-5.6.30目录下,使用configure命令检查编译环境和配置参数:

命令:

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

2310
2310

主要参数介绍:

--with-apxs2:这是Apache的一个工具,可以自动帮助我们去把扩展的模块放进Apache里,并且可以自动得在配置文件里添加模块的配置信息,所以这就是为什么要先安装Apache的原因。

--with-config-file-path:是用于指定配置文件所在路径,PHP的配置文件名称是:php.ini

--with-mysql:指定mysql的安装路径;--with-pdo-mysql和--with-mysqli:这是指定mysql的驱动或者说是库,因为想要PHP与mysql交互通信得编译出支持它的模块来。没有驱动的话,php是无法访问mysql的,就像你网卡没有安装驱动,你就无法使用网卡上网一样。

后续的参数都是指定php所需要的模块

检查编译环境的过程中,我这里出现了一个错误,缺少libxml2包:

2311
2311

解决办法:

模糊搜索一下,安装需要的包:

2312
2312
2313
2313

安装完之后继续执行检查环境的命令,我这里又出现了一个错误,缺少OpenSSL包:

2314
2314

解决办法:

同样的安装这个包就可以了:

2315
2315

然后再次执行configure时又出现了一个错误,这次是缺少BZip2包:

2316
2316

解决办法,安装BZip2包:

2317
2317

这次是缺少了libjpeg包:

2319
2319

解决办法,安装libjpeg包:

yum install -y libjpeg-devel

 缺少png包:

2320
2320

安装png包:

yum install -y libpng-devel

缺少freetype包:

2321
2321

安装freetype包:

yum install -y freetype-devel

缺少mcrypt包:

2322
2322

这一步如果你没有安装epel-release扩展源的话要先安装这个扩展源:

yum install -y epel-release

然后再安装libmcrypt包:

yum install -y libmcrypt-devel

最后出现这样一个提示就是成功了:

2323
2323

然后就是make && make install,编译安装了:

2324
2324
2325
2325

成功编译安装后,就可以ls一下php的目录,可以看到以下几个目录:

2326
2326

核心的二进制文件在bin目录下,可以看到php有36M的大小:

2327
2327

apache下的php模块文件有37M,php就是通过这个libphp5.so文件与apache实现结合在一起的:

2328
2328

查看php里所加载的模块,这些模块都是静态的:

2329
2329

这时候查看Apache的模块信息就可以看到php5的模块了:

2330
2330

Apache就是通过这个模块去调用php的文件的,这个模块非常的重要,这个模块出现问题或者被删除了,Apache就无法调用php的文件了。

现在去查看Apache的配置文件就可以发现多了一行配置内容:

vi /usr/local/apache2.4/conf/httpd.conf

2331
2331

这是apxs2自动添加的模块信息,如果不想使用这个模块加上#号注释掉就可以了。

php的-i 选项可以查看到php的相关信息,编译参数、安装路径等等:

2332
2332

从php的相关信息中可以看到,没有加载任何的配置文件,因为/usr/local/php/etc目录下没有php.ini这个文件:

2333
2333

所以我们需要在/usr/local/src/php-5.6.30目录下,拷贝php5的配置文件到/usr/local/php/etc目录下:

2334
2334

现在再查看php的相关信息就可以看到加载了配置文件:

2335
2335

11.13 安装PHP7

2336
2336

安装PHP7和安装PHP5的操作步骤基本上没什么差别,现在要介绍的如何安装7.1版本的PHP,在这里介绍的还是编译源码包的安装方式:

第一步,先下载源码包到/usr/local/src/目录下:

下载地址:

http://cn2.php.net/distributions/php-7.1.6.tar.bz2

2337
2337

第二步,解包并进入到php-7.1.6目录下:

tar -jxvf php-7.1.6.tar.bz2

cd php-7.1.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

2338
2338

在PHP7的参数里不需要指定--with-mysql参数了。

因为之前安装PHP5的时候已经把需要的包都安装了,所以基本上不会出现少包的情况:

2339
2339

然后就是使用make && make install,编译安装了:

在一台机器上是可以同时存在两个php的,但是要在apache里指定好调用的哪一个php模块,以免发生冲突。

成功安装:

2340
2340

可以看到Apache的模块目录下多了个libphp7.so文件:

2341
2341
2342
2342
2343
2343

修改Apache的配置文件,让它调用php7:

vim /usr/local/apache2.4/conf/httpd.conf

2344
2344

可以看到有php5和php7的配置信息,使用php7的话,就把php5那行注释掉就可以了:

2345
2345
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-10-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档