据了解,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. scala成长之路(2)对象和类

    scala提供了一种特殊的定义单例的方法:object关键字 scala> object Shabi{ | val age = 0 | val name = "shabi" ...

  2. QP之QEP原理

    1.QP简介: 量子平台(Quantum Platform, 简称QP)是一个用于实时嵌入式系统的软件框架,QP是轻量级的.开源的.基于层次式状态机的.事件驱动的平台. QP包括事件处理器(QEP). ...

  3. Python入门学习笔记4:他人的博客及他人的学习思路

    看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...

  4. ruby 类库组成

    一. 核心类库: 二.标准类库: 文本 base64.rb 处理Base64编码的模块     csv.rb CSV(Comma Separated Values)库 ruby 1.8 特性     ...

  5. [Cracking the Coding Interview] 4.3 List of Depths

    Given a binary tree, design an algorithm which creates a linked list of all the nodes at each depth. ...

  6. CUBLAS基础实验

    一.概述 最近在试图进行cuda并行编程,目标是编写一段矩阵计算代码,将计算结果存储进入GPU的缓冲区当中,并在达到某些要求后强制刷新缓冲区,取得计算结果. 但是考虑时间紧任务重的状况和实际的性能要求 ...

  7. Android Studio modify language level to Java 8

    If you need use lambda, should modify language level File -> Project Structure -> app -> Pr ...

  8. Java中的IO流体系

    Java为我们提供了多种多样的IO流,我们可以根据不同的功能及性能要求挑选合适的IO流,如图10-7所示,为Java中IO流类的体系. 注:这里只列出常用的类,详情可以参考JDK API文档.粗体标注 ...

  9. jmeter处理响应结果中文乱码

    1. 在线程下面添加后置处理器BeanShell PostProcessor,增加script:prev.setDataEncoding("UTF-8"); 2. 在jmeter. ...

  10. 【廖雪峰老师python教程】——模块

    使用模块 任何模块代码的第一个字符串都被视为模块的文档注释: 使用__author__变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名: 当我们在命令行运行模块文件时,Python解释器把 ...