如何在 Ubuntu 16.04 中安装 PHP7?

2025年3月17日 | 阅读 7 分钟

引言

PHP 是一种服务器端脚本语言,用于创建动态 Web 应用程序。

最初,它由 Rasmus Lerdorf(丹麦裔加拿大程序员)于 1993 年开发,并于 1995 年发布。 PHP 的参考实现现在由 PHP Group 生成。 最初,PHP 代表 Personal Home Page,但现在它是递归首字母缩写词 PHP:Hypertext Preprocessor 的缩写。

通常,PHP 代码通过 Web 服务器上的 PHP 解释器准备,该解释器实现为守护进程、模块或 CGI(公共网关接口)可执行文件。 通过 Web 服务器,执行和解释的 PHP 代码的结果,包括生成的二进制或 HTML 图像数据,将成为 HTTP 响应的一部分或全部。

  • 有几个 Web 模板系统、Web 框架和 Web 内容管理系统可用,可用于促进或协调该响应的生成。
  • PHP 还可以用于 Web 上下文之外的几种编程操作,包括机器人无人机控制和个人图形应用程序。
  • 此外,PHP 代码可以直接从命令行运行。
  • 典型的 PHP 解释器是根据 PHP 许可证发布的自由软件,并由 Zend Engine 提供支持。
  • PHP 已被广泛发布,几乎可以在各种平台和操作系统上的每个 Web 服务器上进行设置。
  • 在 2014 年之前,PHP 语言的推导没有指定的标准或正式规范,并且实际的实现充当了事实上的标准。
  • 自 2014 年以来,一直在努力制定正式的 PHP 规范。

PHP 简史

PHP 的开发始于 1993 年,当时 Rasmus Lerdorf 用 C 语言编写了许多 CGI(公共网关接口)程序,他用这些程序来管理他的个人主页。 Rasmus Lerdorf 扩展了它们以实现 Web 表单并与数据库连接。 此实现称为 PHP/FI 或“表单解释器/个人主页”

PHP/FI 可用于创建常见的动态 Web 应用程序。 最初,Rasmus Lerdorf 于 1995 年 6 月 8 日发布了 PHP/Fi 版本,即 "PHP 工具(个人主页工具)版本 1.0",用于开发代码和增强错误报告。 此版本已经具有 PHP 今天包含的常见功能。 它包含嵌入 HTML、表单处理和类似 Perl 的变量的功能。 语法模拟了 Perl 的语法,但它更有限、更简单且更一致。

  • PHP 4 和 3: Andi Gutmans 和 Zeev Suraski 在 1997 年重新指定了解析器,并构建了 PHP 3 基础,将语言名称更改为 PHP:超文本预处理器递归首字母缩写词。 之后,PHP 3 公共测试开始,官方版本于 1998 年 6 月发布。 然后,Gutmans 和 Suraski 启动了 PHP 的全新核心重写,于 1999 年生成了 Zend Engine。 PHP 4 于 2000 年 5 月 22 日发布。 该分支在 2008 年 8 月收集了 4.4.9 版本。
  • PHP 5: PHP 5 于 2004 年 7 月 1 日发布。 它添加了新方面,包括面向对象编程的改进支持、多项性能改进以及 PDO(PHP 数据对象)扩展(它指定了一致且轻量级的接口来访问数据库)。
    PHP 5 成为 2008 年正在开发的单个版本。较旧的 PHP 版本无法使用后期静态绑定,并且包含在 5.3 版本中。 由于 GoPHP5 倡议,从 2008 年 2 月 5 日起,几个开源高调项目停止支持 PHP 4,该倡议由 PHP 联盟开发人员提供,用于宣传从 PHP 4 过渡到 PHP 5。
  • Unicode 和 PHP 6: 由于核心语言级别缺乏对本机 Unicode 的支持,PHP 获得了褒贬不一的评价。 由 Andrei Zmeivski 领导的一个项目于 2005 年启动,通过插入 ICU(Unicode 国际组件)库并在内部将文本字符串描述为 UTF-16,从而获得对整个 PHP 的本机 Unicode 支持。
    • 由于这会对用户代码和语言内部结构造成更大的修改,因此决定将其作为 6.0 语言版本发布,并将其他更大的方面纳入开发中。
    • 虽然,由于缺乏了解从和到 UTF-16 转换带来的基本修改和性能问题的开发人员,这种转换在 Web 上下文中几乎没有利用,导致项目延迟。
    • PHP 的 5.3 版本是在 2009 年制作的,其中几个非 Unicode 方面通过 PHP 6 反向移植,特别是命名空间。
    • 以目前的形式,该项目于 2010 年 3 月被正式放弃,PHP 的 5.4 版本计划包含 PHP 6 中的几乎所有剩余的非 Unicode 方面,包括闭包和特征重新绑定。
  • PHP 7: 在 2015 年和 2014 年期间,发布了一个新的更大的 PHP 版本,即 PHP 7。 此版本的计数包括开发人员之间的辩论。 许多书名和文章都引用了 PHP 6 的名称,如果新版本要重复使用该名称,这可能会导致混淆,而 PHP 6 的 Unicode 实验从未发布。 在投票后选择了 PHP 7 标题。

PHP 的实现

唯一完整的 PHP 实现是实际的,简称 PHP。 它是最常用的,并通过 Zend Engine 提供支持。 有时,它非正式地称为“Zend PHP”,以便从其他实现中授权它。 PHP 源代码由 Zend Engine 在内部格式中动态编译,它可以运行,因此它充当解释器。 此外,它是 PHP 的“参考实现”,因为 PHP 不包括正式规范,因此 Zend PHP 语义指定了 PHP 语义。 由于 PHP 语义的细微和复杂性,实施很难提供完整的兼容性。

  • PHP 的单请求单脚本执行模型以及 Zend Engine 是解释器的概念导致效率低下。
  • 已经改进了几种产品来帮助提高 PHP 性能。
  • 为了加快执行时间并且每次使用网页时都不需要编译 PHP 的源代码,可以通过使用 opcode 缓存在 PHP 引擎的内部格式中设置 PHP 脚本,opcode 缓存通过将 PHP 脚本的编译形式缓存在共享内存中来停止编译和解析代码的开销,每当脚本执行时。
  • 自 5.5 版本以来,PHP 中创建了一个 opcode 缓存 Send Opcache。
  • 虽然 Zend PHP 是最著名的实现,但已经改进了许多其他实现。 其中一些支持 JIT 编译或编译器,因此它们以缺乏完全 PHP 兼容性的量提供性能特性。

不同的实现包括以下

  • HHVM 或 HipHop 虚拟机: HHVM 在 Facebook 得到了改进,它可以作为开源使用。 它可以将 PHP 代码转换为高级字节码,该字节码在运行时通过 JIT(即时)编译器动态转换为 x86-64 机器代码,从而提供高达 6 倍的性能提升。
    • HipHop: HipHop 在 Facebook 得到了改进,它可以作为开源使用。 它可以将 PHP 脚本转换为 C++ 代码,然后编译最终代码,从而将服务器负载降低多达 50%。 由于多种原因,例如部署困难以及对整个 PHP 语言(例如 eval()create_function)的支持不足,Facebook 在 2013 年初将其撤回。
  • PeachPie: PeachPie 是第二代编译器到 .NET CIL(通用中间语言)字节码,建立在 Roslyn 平台(Phalanger 的后继者)上,共享许多架构组件。
  • Parrot: Parrot 是一种虚拟机,旨在高效地执行动态语言; 交叉转换器,即 Pipp,将 PHP 的源代码转换为 Parrot 中间表示,然后将其转换为 Parrot 的字节码并由虚拟机运行。
  • Phalanger: 它将 PHP 编译为 .NET CIL 字节码,PeachPie 的前身。
  • Quercus: 它将 PHP 编译为 Java 字节码。

PHP 的用途

特别是,PHP 与服务器端 Web 开发兼容,其中 PHP 通常在 Web 服务器上执行。 在请求的文件中,PHP 代码由 PHP 运行时运行。 此外,它还可用于客户端 GUI 和命令行脚本应用程序。 PHP 几乎可以在每个 Web 服务器、各种平台和操作系统上进行设置,并且可以与多个 RDBMS(关系数据库管理系统)一起使用。

  • 几乎每个 Web 托管提供商都支持其客户使用 PHP。
  • 它是免费提供的,PHP Group 为用户提供了整个源代码,供他们创建、自定义和开发供自己使用。
  • 现在,PHP 主要专注于服务器端脚本,它与其他服务器端语言(包括 mod_perl、Sun Microsystem 的 JavaServer Pages 和 Microsoft 的 NET)相同,这些语言通过 Web 服务器向任何客户端提供动态内容,最初是为构建动态网页而开发的。
  • 此外,PHP 还带来了几种软件框架的开发,这些框架提供了一个设计结构和构建块来开发 RAD(快速应用程序开发)。 其中一些是 Laminas、Phalcon、Yii Framework、Laravel、Codelgniter、Symfony、CakePHP 和 PRADO,它们提供的功能与其他 Web 框架相同。
  • 在 Web 行业中,LAMP 架构作为扩展 Web 应用程序的一种方式而闻名。

通常,PHP 用作此数组中的 P,其中包含 MySQL、Apache 和 Linux。 但是,此 P 可能指的是 Perl、Python 或三者的某种组合。 相同的软件包 MAMP 和 WAMP 也适用于 macOS 和 Windows,并且首字母缩写表示相关的操作系统。 Apache 和 PHP 都作为 macOS 基本安装的组件提供; 这些软件包的最终用户探索一种更简单的安装方法,可以更轻松地保持更新。

PHP 的安装

在本教程中,我们将安装和配置 PHP7,以便我们可以开发基于 PHP 的 Web 应用程序。

此过程包括以下步骤。

1) 检查 PHP 是否可用


Software Php 1

它表明 PHP 尚未安装。

2) 安装 PHP

现在,使用以下命令安装它。它将默认安装PHP的最新版本。


Software Php 2

3) 验证 PHP

使用以下命令检查 PHP 版本。它只有在安装后才会显示 PHP 版本详情。


Software Php 3

现在,它显示了 PHP 版本。这意味着我们已成功安装了 PHP。


额外信息

为了测试PHP是否正常工作,我们可以使用 Apache 服务器在浏览器上执行它。

/var/www/html 目录下创建一个名为 first.php 的文件,其中包含以下代码。

// first.php

现在,使用浏览器通过 localhost/first.php 执行此文件。它将在浏览器上产生以下输出。

Software Php 4