4月11日任务,安装php5、php7

安装PHP

PHP我们可以去官网下载,www.php.net。
当前的主流版本为5.6或是7.1,绝大部分公司还是用5.x。7是最近几年才出现的,改动较大,老版本对7的兼容性差。

PHP的安装方法和mysql以及apache类似。
首先进入 cd /usr/local/src/,下载PHP的包。
[[email protected] src]# cd /usr/local/src
然后我们下载包
[[email protected] src]wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
然后解压刚才下的包
[[email protected] src]tar zxf php-5.6.30.tar.gz
然后我们进入到php-5.6.30这个目录中,进行编译
[[email protected] src]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

1.prefix=/usr/local/php 是软件的安装目录
2.--with-apxs2=/usr/local/apache2.4/bin/apxs 这是一个apache工具,让我们不用去人工的 干涉他,他会自动的将扩展模块放到apache的目录中,并且在他的配置文件中加上一行,这样在 我们Apache-M时将它加载上,这就是我们为什么要先安装apache再安装PHP的原因。在这里 我们要指定Apache工具的路径。
3.--with-config-file-path=/usr/local/php/etc 指定配置文件的路径

  1. --with-mysql=/usr/local/mysql 指定mysql的路径
  2. --with-mysql=/usr/local/mysql
    --with-pdo-mysql=/usr/local/mysql
    --with-mysqli=/usr/local/mysql/bin/mysql_config
    以上三种是mysql的驱动,原因是如果想要PHP和mysql相互通信,那么首先要编译出一个支持他的模块来。老版本用的是--with-mysql=/usr/local/mysql 。而新版本的7用的是
    --with-mysqli=/usr/local/mysql/bin/mysql_config

在编译的时候可能会出现一些错误,我们要仔细的去观察,如果提示缺少那些库的话,我们可以去用yum安装。

这里就出现了一个错误,这是提示我们缺少libxml2。
configure: error: xml2-config not found. Please check your libxml2 installation.
然后我们用yum去安装一下。
yum install -y libxml2-devel

安装完后我们继续编译它,然后又出现了一个错误
configure: error: Cannot find OpenSSL‘s <evp.h>
以后会出现很多的错误,我们直接yum安装libxx-devel就可以。

这时出现了一个新的错误
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
出现这个错误时如果我们以前没安装过扩展源的话,我们需要先安装一个扩展源。
yum install -y epel-release
然后再安装libmcrypt-devel
yum install -y libmcrypt-devel

+--------------------------------------------------------------------+
| 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
当我们看到这一项,就说明我们的编译完成了。

然后我们执行下一步
make && make install

然后我们看一下php的目录
[[email protected] php-5.6.30]# ls /usr/local/php
bin etc include lib php

它的核心二进制文件在/usr/local/php/bin
[[email protected] php-5.6.30]# ls /usr/local/php/bin
pear peardev pecl phar phar.phar php php-cgi php-config phpize
php和apache相互连接的是靠libphp5.so完成的。而他所在的目录是
/usr/local/apache2.4/modules/libphp5.so这个就是我们想要的扩展模块

我们也可以列出php所加载的模块有哪些
[[email protected] php-5.6.30]# /usr/local/php/bin/php -m
[PHP Modules]
bz2
Core
ctype
date
dom
ereg
exif
fileinfo
filter
gd
hash
iconv(以下省略)
这些都是静态的

我们也查询一下apache下的模块
[[email protected] php-5.6.30]# /usr/local/apache2.4/bin/httpd -M
php5_module (shared)
发现在最后一行多出了一个php5_module,这说明php是以apaceh的一个模块存在的,而且这个模块非常重要,如果没有,那么我们的apache就不会支持php了。

然后我们在源码包的目录下,复制php.ini-production
先进入到源码包目录,然后再目录中找到 php.ini-production(生产环境中使用),在这个目录下还有一个文件,php.ini-development(开发环境中使用),我们要根据不同的需求去选择他,在这里我们选择php.ini-production
[[email protected] php-5.6.30]# cp php.ini-production /usr/local/php/etc/php.ini

安装php7

下载php7
首先还是先进入到/usr/local/src目录下
然后下载php7
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
这里我们需要注意的是跟php5所不同的是,这里我们定义的路径为--prefix=/usr/local/php7/etc,配置文件定义为--with-config-file-path=/usr/local/php7/etc ,并且没有了
--with-mysql=/usr/local/mysql,因为在php7中不惜要这个文件了。

这里需要我们注意的是,一台机器是可以安装两个php的,但是在apache调用的时候你要指定好。
然后我们查看一下
[[email protected] php-7.1.6]# ls /usr/local/apache2.4/modules/
libphp7.so libphp5.so
这时在目录下就多出了一个libphp7.so

然后我么查看一下apache加载的模块
[[email protected] php-7.1.6]# /usr/local/apache2.4/bin/apachectl -M
php5_module (shared)
php7_module (shared)
在最后两行,除了php5_module (shared)外,也多出了一个php7_module (shared)这个模块。

如果想要更改apache的调用,只要修改配置文件就可以
[[email protected] php-7.1.6]# vim /usr/local/apache2.4/conf/httpd.conf
然后找到这两个文件
LoadModule php5_module modules/libphp5.so
LoadModule php7_module modules/libphp7.so
我们选择出想要使用的,用#号把另一个注释掉就可以了。

最后在复制文件 cp php.ini-production /usr/local/php7/etc/php.ini即可

原文地址:http://blog.51cto.com/13067688/2097174

时间: 2024-11-08 19:38:21

4月11日任务,安装php5、php7的相关文章

11.10-11.12安装PHP5(上中下);11.13 安装PHP7

扩展: php中mysql,mysqli,mysqlnd,pdo到底是什么 : http://blog.csdn.net/u013785951/article/details/60876816 查看编译参数 : http://ask.apelearn.com/question/1295 ?PHP官网www.php.net ? 当前主流版本为5.6/7.1 先安装httpd再安装php!!! 11.10-11.12安装PHP5(上中下) 1. 进入下载安装包目录: [[email protecte

4月11日作业

2016年4月11日作业 一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个?1.国家标准 2.行业标准 3.地方标准 4.企业标准 最低要求是国家标准 2.国家标准的制订程序包括哪些?包括:前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次?标准每5年复审一次,国标有效期为5年,5年内进行复审 4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB?国家标准代号为国标GB,推荐性国家标准代号

软考高项2016年4月11日作业

2016年4月11日作业 一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准和企业标准,其中要求最低的是国家标准.2.国家标准的制订程序包括哪些? 前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每五年复审一次,我国国家标准的有效期5年复审一次.4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? GB国家标准.GB/T推荐性国家标准.GB/Z国家标准

2016年4月11日作业 法律法规和标准规范

软考中高项学员:2016年4月11日作业 一.法律法规和标准规范 1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准.企业标准  要求最低的是国家标准 2.国家标准的制订程序包括哪些? 前期准备 .立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段 3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,国家标准管理办法中规定国家标准实施5年内要进行复审,即国家标准有效期一般为5年 4.请说明如下是什么标准?GB.GB/T.

20151111,微软11月11日发布12个安全补丁

大家好,我们是微软大中华区安全支持团队. 微软于北京时间2015年11月11日发布了12个新的安全公告,其中4个为严重等级,8个为重要等级,修复了Microsoft Windows.Microsoft Office.Microsoft Lync.Internet Explorer和Microsoft Edge软件中的漏洞.其中MS15-115中所修复的漏洞CVE-2015-6109.MS15-116中所修复的漏洞CVE-2015-2503.MS15-120中所修复的漏洞CVE-2015-6111

软考中高项学员:2016年4月11日作业 法律法规和标准规范

软考中高项学员:2016年4月11日作业  法律法规和标准规范 1.  中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准.企业标准.最低的是国家标准. 2.  国家标准的制订程序包括哪些? 国标制订程序包括:前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段. 3.  ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每5年复审一次,国家标准的有效期一般为5年. 4.  请说明如下是什么标准?GB.GB/T.GB/Z.GJB? G

7月11日 bc总结

7月11日 bc总结 A题:暴力替换p,然后贪心求最大字段和.贪心求最大字段和的方法居然忘了... now每次加上a[i],如果now>ans,更新ans:如果now<0,now=0.也就是L移到下一个区间. #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<vector>

ArrayList2014年6月11日07:26:00

1 //ArrayList是动态数组,方法有: 2 //Add----配合foreach一个个的添加 3 //AddRange-----以数组的形式,一次性添加 4 //Clear--------清空数组 5 //Count-----数组的长度 6 //Remove-----移除对应的元素 7 //RemoveAt------移除改索引对应的元素 8 //Contains------判断是否含所有某个值,返回Bool类型 9 //ToArray--------转换,再没关系(相当于复制一份) 泛

接口2014年6月11日01:11:37

1 [1]C#中的接口和类有什么异同. 2 3 不同点: 4 不能直接实例化接口. 5 接口不包含方法的实现. 6 接口可以多继承,类只能单继承. 7 类定义可在不同的源文件之间进行拆分(partial). 8 9 相同点: 10 接口.类和结构都可以从多个接口继承. 11 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员. 12 接口和类都可以包含事件.索引器.方法和属性(属性本质上是两个方法). 13 14 基础知识:接口只能定义方法(只能定义行为,不能定义实现也就是字段

5月11日上午学习日志

2017年5月11日上午把昨天记忆的英语单词的多种词意用自己组句的方法联系起来再记忆一遍,然后再联系真题学10个考研高频词汇,然后再复习昨天的词汇,再完成英语app的打卡.