据了解,php7是比之前的版本性能快很多的。http://php.net/get/php-7.2.2.tar.gz/from/a/mirror

安装前也可提前将相关依赖库安装好,或者在安装php时若安装失败,按照提示安装好所需要的依赖库即可。

安装Php

apt-get 一键安装

1 sudo apt-get update
2 sudo apt-get install php

手动编译安装

1 # 下载最新版本
2 wget http://php.net/distributions/php-7.2.2.tar.gz
3 # 解压
4 tar -zxvf php-7.2.2.tar.gz
5 # 进入解压目录
6 cd php-7.2.2
7 # 配置
8 sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm
9 # 编译php
10 sudo make
11 #安装php
12 sudo make install
13 # 修改配置文件
14 cd /usr/local/php/etc
15 sudo cp php-fpm.conf.default php-fpm.conf
16 cd /usr/local/php/etc/php-fpm.d
17 sudo cp www.conf.default www.conf
18 # 修改www.conf中的所属用户组及用户
19 user=www
20 group=www
21 # 注意: 如果www用户不存在,则先添加用户www用户
22 sudo groupadd www
23 sudo useradd -g www www
24 # 查看php-fpm进程
25 ps -ef|grep php-fpm
26 # 配置php-fpm开机自启动
27 sudo /usr/sbin/chkconfig php-fpm on

注意:以上sudo可加可不加,仅在权限不足时临时获得根用户权限。可查看Ubuntu下安装LNMP之nginx的安装

当使用chkconfig时,ubuntu会提示“找不到该命令”,此时可参考Ubuntu 14.04 安装 chkconfig 服务管理程序

php-fpm常用命令

启动php-fpm

1 sudo /usr/local/php/sbin/php-fpm
2 注意:若是已经将php-fpm加入系统服务,可不用输入那么长的地址,具体步骤后续讨论,和shell相关。

停止php-fpm

1 sudo pkill php-fpm

查看Php版本

1 sudo /usr/local/php/sbin/php -v
 2

PHP 7.2.2 (cli) (built: Feb 22 2018 15:43:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

配置Nginx支持php(基础配置)

找到如下内容:

location / {
  root html;
  index index.html index.htm index.php; #(在其后加上index.php)
}

然后再找到如下内容:

#location ~ \.php$ {
#  root html;
#  fastcgi_pass 127.0.0.1:9000;
#  fastcgi_index index.php;
#  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
#  include fastcgi_params;
#}

将其前面#删除,即解除注释,并将/scripts更改为$document_root

$document_root 代表当前请求在root指令中指定的值

也可将root目录更改到你想要的目录

此时,在html中新建文件,index.php,输入如下内容:

<?php

  phpinfo();

然后在浏览器中输入http://127.0.0.1/index.php。如果出现php的信息即配置正确。

卸载php

卸载其实相当容易,只要记住在Linux中,一切皆文件即可。所以,我们可以像在windows上删除快捷方式那样直接找到安装php的目录将其删除即可。例如,我安装的目录是/usr/local/php,只要将该目录删除,并kill掉当前运行的php-fpm进程即可。

安装过程中遇到的问题

.configure进行编译时,提示 error: xml2-config not found. Please check your libxml2 installation.

这是由于系统缺少PHP所需的库文件导致的,根据提示,进行如下操作:

 sudo apt-get install libxml2(按Tab键)

将会看到如下信息:

 libxml2 libxml2-dev libxml2-headers libxml2-utils

这里需要安装的是libxml2-dev软件包,操作如下:

sudo apt-get install libxml2-dev

库文件安装完成后,重新配置PHP

相关说明:

fmp的配置文件是xml格式的,用了libxml对配置文件进行解析,所以需要安装libxml2的开发文件;

一般这种命名规则: lib, lib-dev, 前一个是程序运行时需要的库, 后一个是编译源码时需要的库.

Ubuntu下安装LNMP之php7的安装并配置Nginx支持php及卸载php的更多相关文章

  1. Ubuntu下使用Deepin-wine的移植版安装qq微信等

    title: Ubuntu下使用Deepin-wine的移植版安装qq微信等 toc: false date: 2018-09-18 16:12:49 categories: methods tags ...

  2. Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

    Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --- ...

  3. LNMP搭建04 -- 配置Nginx支持PHP

    首先建立存放网页文件的目录,执行 mkdri /usr/local/server/www  然后进入到该目录中 cd /usr/local/server/www 然后创建一个测试文件: phpinfo ...

  4. centos下配置nginx支持php

    添加nginx 默认主页index.php vim .../etc/nginx/conf.d/default.conf location / { root   /usr/share/nginx/htm ...

  5. Ubuntu --- 安装lnmp(php7.0)

    1.安装nginx sudo apt-get install nginx # 安装 sudo vim /etc/nginx/sites-enabled/default # 修改配置文件 sudo ng ...

  6. Ubuntu下PHP+MySQL+Apache+PHPStorm的安装和配置

    粘贴自:https://www.jianshu.com/p/a6a0d2a29591 1.Apache的安装: $ sudo apt-get update $ sudo apt-get install ...

  7. 阿里云ECS/Ubuntu下JDK、Tomcat、MySQL安装记录

    今天六一儿童节,然后... ... ... ... 然后就是父亲节呀孩子们!!! ———————————————————————割———————————————————————— 同事需要JDK.To ...

  8. ubuntu下搭建nfs,tftp,安装qt等一些基本的启动bootloader前的服务

    之前做三星的6410是在红帽下做的,现在公司给了个TI的AM3359的开发板,开发环境是ubuntu10-04.这周经过半天的研究对比,终于算是搭好tftp下载的一些服务了. [防火墙] sudo u ...

  9. Ubuntu下伪分布式模式Hadoop的安装及配置

    1.Hadoop运行模式Hadoop有三种运行模式,分别如下:单机(非分布式)模式伪分布式(用不同进程模仿分布式运行中的各类节点)模式完全分布式模式注:前两种可以在单机运行,最后一种用于真实的集群环境 ...

随机推荐

  1. Hadoop(5)-Hive

    在Hadoop的存储处理方面提供了两种不同的机制,一种是之前介绍过的Hbase,另外一种就是Hive,有关于Hbase,它是一种nosql数据库的一种,是一种数据库,基于分布式的列式存储,适合海量数据 ...

  2. kafka概述

    kafka概述 Apache Kafka是一个开源 消息 系统,由Scala写成.是由Apache软件基金会开发的一个开源消息系统项目. Kafka最初是由LinkedIn开发,并于2011年初开源. ...

  3. python中协程实现的本质以及两个封装协程模块greenle、gevent

    协程 协程,又称微线程,纤程.英文名Coroutine. 协程是啥 协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源). 为啥说它是一个执行单元,因为 ...

  4. Kubernetes-深入分析集群安全机制(3.6)

    集群的安全性主要考虑以下几个方面: 容器与所在宿主机的隔离: 限制容器给基础设施及其他容器带来消极影响的能力: 最小权限原则--合理限制所有组件的权限,确保组件只执行它被授权的行为,通过限制单个组件的 ...

  5. octave简易操作

    语言以分号;结尾if for while等语句后用,来承接关系if ,elseif ,else ,end;for i=1:10,end;while a>3 ,end;   while true, ...

  6. 博科brocade光纤交换机alias-zone的划分-->实操案例

    一,图形化操作 光纤交换机作为SAN网络的重要组成部分,在日常应用中非常普遍,本次将以常用的博科交换机介绍基本的配置方法. 博科300实物图: 环境描述: 如上图,四台服务器通过各自的双HBA卡连接至 ...

  7. 集成activiti到现有项目中

    1.在lib中添加相关的jar包 2.找到一个activiti.cfg.xml,若是想用现有的数据库需要配置 <?xml version="1.0" encoding=&qu ...

  8. POJ 1568 Find the Winning Move

    Find the Winning Move 链接 题意: 4*4的棋盘,给出一个初始局面,问先手有没有必胜策略? 有的话输出第一步下在哪里,如果有多个,按(0, 0), (0, 1), (0, 2), ...

  9. Python的re模块的常用方法

    一.re的match与search方法 1.re.match方法 re.match 尝试从字符串的起始位置匹配一个模式,匹配成功re.match方法返回一个匹配的对象,如果不是起始位置匹配成功的话,m ...

  10. 一个极为简单的requirejs实现

    require和 sea的源码分析,我之前的博客有写过, 今天我想分享的是一个很简单的核心代码(不带注释和空行大概60行), 没有容错判断. require.js require函数实现用一句话概括: ...