[LAMP]安装PHP 5/7

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

       目前主流的php版本是5.6和7.1。和php 5相比,php 7对于性能的提升的很大的,对于自身的处理速度优化了很多,同时也改变了一些语法的使用。但由于很多软件都是基于php 5的,因此php 5和7的安装和配置都要熟练掌握。


安装PHP 5

1、下载安装包

1
2
3
4
5
6
7
8
9
10
11
[root@juispan src] # wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
--2017-07-21 07:39:35--  http: //cn2 .php.net /distributions/php-5 .6.30. tar .gz
正在解析主机 cn2.php.net (cn2.php.net)... 220.181.136.41, 220.181.136.30, 220.181.136.55, ...
正在连接 cn2.php.net (cn2.php.net)|220.181.136.41|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:19274631 (18M) [application /x-gzip ]
正在保存至: “php-5.6.30. tar .gz”
 
100%[==============================================>] 19,274,631   518KB /s  用时 34s    
 
2017-07-21 07:40:10 (552 KB /s ) - 已保存 “php-5.6.30. tar .gz” [19274631 /19274631 ])

2、解压压缩包

1
[root@juispan src] # tar zxf php-5.6.30.tar.gz

3、配置php

1
2
[root@juispan src] # cd php-5.6.30
[root@juispan 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

在配置过程中,会遇到一个接一个的配置失败,这里需要耐心处理。

问题1:configure: error: xml2-config not found. Please check your libxml2 installation.

1
[root@juispan php-5.6.30] # yum install -y libxml2-devel

问题2:configure: error: Cannot find OpenSSL's <evp.h>

1
[root@juispan php-5.6.30] # yum install -y openssl-devel

问题3:configure: error: Please reinstall the BZip2 distribution

1
[root@juispan php-5.6.30] # yum install -y bzip2-devel

问题4:configure: error: jpeglib.h not found.

1
[root@juispan php-5.6.30] # yum install -y libjpeg-turbo-devel

问题5:configure: error: png.h not found.

1
[root@juispan php-5.6.30] # yum install -y libpng-devel

问题6:configure: error: freetype-config not found.

1
[root@juispan php-5.6.30] # yum install -y freetype-devel

问题7:configure: error: mcrypt.h not found. Please reinstall libmcrypt.

1
[root@juispan php-5.6.30] # yum install -y libmcrypt-devel

处理完以上问题后,重新配置出现以下文本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Generating files
configure: creating . /config .status
creating main /internal_functions .c
creating main /internal_functions_cli .c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available  in  this     |
| distribution  in  the  file  LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you  do  not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+
 
Thank you  for  using PHP.
 
config.status: creating php5.spec
config.status: creating main /build-defs .h
config.status: creating scripts /phpize
config.status: creating scripts /man1/phpize .1
config.status: creating scripts /php-config
config.status: creating scripts /man1/php-config .1
config.status: creating sapi /cli/php .1
config.status: creating sapi /cgi/php-cgi .1
config.status: creating ext /phar/phar .1
config.status: creating ext /phar/phar .phar.1
config.status: creating main /php_config .h
config.status: executing default commands

以上文本内容表示配置成功,如果不放心可以用“echo $?”确认下。

4、编译与安装

1
2
3
4
[root@juispan php-5.6.30] # make &&make install
[root@juispan php-5.6.30] # echo $?
0
[root@juispan php-5.6.30] # cp php.ini-production /usr/local/php/etc/php.ini

5、查看与验证

1
2
3
4
5
6
[root@juispan php-5.6.30] # du -sh /usr/local/apache2.4/modules/libphp5.so 
37M  /usr/local/apache2 .4 /modules/libphp5 .so
[root@juispan php-5.6.30] # cat /usr/local/apache2.4/conf/httpd.conf | grep -i php
LoadModule php5_module        modules /libphp5 .so
[root@juispan php-5.6.30] # /usr/local/apache2.4/bin/httpd -M | tail -1
  php5_module (shared)

前几章说过,php在LAMP架构里的作用只是Apache用于与mysql之间通讯的桥梁。因此,只要apache2.4的modules文件里有libphp5.so文件,且在配置文件里有相应的配置即可。即使删除php的安装目录也不会有太大的影响。


安装PHP 7

1、下载安装包

1
2
[root@juispan php-5.6.30] # cd /usr/local/src
[root@juispan src] # wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2

2、解压压缩包

1
2
3
4
5
6
7
[root@juispan src] # tar jxf php-7.1.6.tar.bz2 
tar  (child):  bzip2 :无法  exec : 没有那个文件或目录
tar  (child): Error is not recoverable: exiting now
tar : Child returned status 2
tar : Error is not recoverable: exiting now
[root@juispan src] # yum install -y bzip2
[root@juispan src] # tar jxf php-7.1.6.tar.bz2

3、配置php

1
2
3
4
[root@juispan src] # cd php-7.1.6
[root@juispan 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
[root@juispan php-7.1.6] # echo $?
0

4、编译与安装

1
2
3
[root@juispan php-7.1.6] # make &&make install
[root@juispan php-7.1.6] # echo $?
0

5、查看与验证

1
2
3
4
5
6
7
8
9
[root@juispan php-7.1.6] # ls /usr/local/apache2.4/modules/libphp7.so 
/usr/local/apache2 .4 /modules/libphp7 .so
[root@juispan php-7.1.6] # cp php.ini-production /usr/local/php7/etc/php.ini
[root@juispan php-7.1.6] # cat /usr/local/apache2.4/conf/httpd.conf | grep -i php
LoadModule php5_module        modules /libphp5 .so
LoadModule php7_module        modules /libphp7 .so
[root@juispan php-7.1.6] # /usr/local/apache2.4/bin/httpd -M | tail -2
  php5_module (shared)
  php7_module (shared)














本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1951599 ,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
42 3
01 入门PHP就来我这-安装phpstudy
|
2月前
|
NoSQL MongoDB PHP
PHP7 MongDB 安装与使用
10月更文挑战第19天
38 1
PHP7 MongDB 安装与使用
|
3月前
|
域名解析 关系型数据库 MySQL
基于PHPEnv的本地环境搭建—PHP第一个项目:HelloWorld(从安装到运行)
该文章指导如何使用PHPEnv搭建本地PHP开发环境,并通过一个简单的"Hello World"程序演示从安装到运行的全过程。
基于PHPEnv的本地环境搭建—PHP第一个项目:HelloWorld(从安装到运行)
|
2月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
2月前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
33 0
|
3月前
|
PHP Windows
thinkPhP6.0安装教程图解--PHP框架安装
本文是一篇关于ThinkPHP 6.0安装教程的图解,包括环境检查、安装Composer、修改Composer镜像地址、安装ThinkPHP框架以及启动运行ThinkPHP的步骤。文章详细描述了每个步骤的操作方法,并提供了相应的命令和截图,帮助用户理解并顺利完成ThinkPHP 6.0的安装和运行。
thinkPhP6.0安装教程图解--PHP框架安装
|
2月前
|
缓存 PHP C语言
宝塔PHP8.1安装fileinfo拓展失败解决办法
在宝塔面板安装PHP8.1后,fileinfo扩展安装失败,手动尝试也报错。通过分析错误信息,在Makefile中修改CFLAGS添加`-std=c99`,并执行`make clean`清除缓存后,重新编译安装成功。最后在php.ini中启用fileinfo扩展并重启PHP服务。注意需调整CFLAGS为`-std=c99 -g`,去掉`-O2`。
163 0
|
3月前
|
PHP Apache 数据库
PHP做二次开发:本机安装ThinkCMF系统
文章详细说明了如何在本地环境中从零开始安装并配置ThinkCMF系统,包括环境准备、源代码获取、虚拟域名设置及数据库配置等步骤。
|
4月前
|
Go PHP 数据安全/隐私保护
【应用服务 App Service】Azure App Service 中如何安装mcrypt - PHP
【应用服务 App Service】Azure App Service 中如何安装mcrypt - PHP
|
4月前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?