如何在Ubuntu18.04上安装PHP7.4并设置本地开发环境
作者选择 Open Sourcing Mental Illness Ltd 作为 Write for DOnations 计划的一部分接受捐赠。
介绍
PHP 是一种流行的服务器脚本语言,以创建动态和交互式网页而闻名。 使用您选择的语言开始并运行是学习编程的第一步。
本教程将指导您在 Ubuntu 上安装 PHP 7.4 并通过命令行设置本地编程环境。 您还将安装一个依赖管理器 Composer,并通过运行脚本来测试您的安装。
先决条件
要完成本教程,您将需要一台安装了 Ubuntu 18.04 的本地或虚拟机,并具有管理访问权限以及与该机器的 Internet 连接。 您可以通过 Ubuntu 发布页面 下载此操作系统。
第 1 步 — 设置 PHP 7.4
您将在命令行上完成安装和设置,这是一种与计算机交互的非图形方式。 也就是说,您将输入文本并通过文本从计算机接收反馈,而不是单击按钮。
命令行,也称为 shell 或终端,可以帮助您修改和自动化您每天在计算机上执行的许多任务,并且是软件开发人员必不可少的工具。 有许多终端命令需要学习,可以让你做更强大的事情。 文章 An Introduction to the Linux Terminal 可以让您更好地了解终端。
在 Ubuntu 上,您可以通过单击屏幕左上角的 Ubuntu 图标并在搜索栏中输入 terminal
来找到终端应用程序。 单击终端应用程序图标将其打开。 或者,您可以同时按下键盘上的 CTRL
、ALT
和 T
键以自动打开终端应用程序。
您将希望避免依赖 PHP 的默认版本,因为该默认版本可能会根据您运行代码的位置而改变。 您可能还希望安装不同的版本以匹配您正在使用的应用程序或升级到较新的版本,例如 PHP 8。
运行以下命令来更新 apt-get
本身,这确保您可以访问要安装的任何内容的最新版本:
sudo apt-get update
接下来,安装 software-properties-common
,它添加了对其他软件源的管理:
sudo apt -y install software-properties-common
-y
标志将自动同意安装。 没有它,您将在终端窗口中收到每次安装的提示。
接下来,安装存储库 ppa:ondrej/php
,它将为您提供所有 PHP 版本:
sudo add-apt-repository ppa:ondrej/php
最后,您再次更新 apt-get
以便您的包管理器可以看到新列出的包:
sudo apt-get update
现在您已准备好使用以下命令安装 PHP 7.4:
sudo apt -y install php7.4
检查安装的版本:
php -v
您将收到类似于以下内容的信息:
OutputPHP 7.4.0beta4 (cli) (built: Aug 28 2019 11:41:49) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies with Zend OPcache v7.4.0beta4, Copyright (c), by Zend Technologies
除了 PHP 本身,您可能还想安装一些额外的 PHP 模块。 您可以使用此命令安装其他模块,将 PACKAGE_NAME
替换为您要安装的软件包:
sudo apt-get install php7.4-PACKAGE_NAME
您还可以一次安装多个软件包。 以下是您最可能要安装的最常见模块的一些建议:
sudo apt-get install -y php7.4-cli php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath
此命令将安装以下模块:
php7.4-cli
- 命令解释器,用于从 shell 测试 PHP 脚本或执行一般 shell 脚本任务php7.4-json
- 用于处理 JSON 数据php7.4-common
- PHP 的文档、示例和常用模块php7.4-mysql
- 用于处理 MySQL 数据库php7.4-zip
- 用于处理压缩文件php7.4-gd
- 用于处理图像php7.4-mbstring
- 用于管理非 ASCII 字符串php7.4-curl
- 让您在 PHP 中发出 HTTP 请求php7.4-xml
- 用于处理 XML 数据php7.4-bcmath
- 使用精度浮点数
Apache 相关的 PHP 配置存储在 /etc/php/7.4/apache2/php.ini
中。 您可以使用以下命令列出所有已加载的 PHP 模块:
php -m
您已经安装了 PHP 并验证了您正在运行的版本。 您还安装了所有必需的 PHP 模块,并且能够列出您已加载的模块。
您现在可以开始使用 PHP,但您可能希望使用各种库来快速构建 PHP 应用程序。 在测试您的 PHP 环境之前,首先为您的项目设置一个依赖项管理器。
第 2 步 — 为依赖管理设置 Composer(可选)
库是代码的集合,可以帮助您解决常见问题,而无需自己编写所有内容。 由于有许多库可用,使用依赖管理器将帮助您管理多个库,因为您在编写 PHP 方面变得更有经验。
Composer 是 PHP 中用于依赖管理的工具。 它允许您声明您的项目所依赖的库,并将管理安装和更新这些包。
尽管相似,但 Composer 与 yum
或 apt
的意义不同。 它处理“包”或库,但它基于每个项目管理它们,将它们安装在一个目录中(例如 vendor
) 在你的项目中。 默认情况下,它不会全局安装任何东西。 因此,它是一个 依赖管理器。 但是,为了方便起见,它确实通过 global
命令支持全局项目。
这个想法并不新鲜,Composer 受到 Node 的 npm
和 Ruby 的 bundler
的强烈启发。
认为:
- 您有一个依赖于多个库的项目。
- 其中一些库依赖于其他库。
作曲家:
- 使您能够声明所依赖的库。
- 找出可以并且需要安装哪些软件包的哪些版本,并通过将它们下载到您的项目中来安装它们。
- 使您能够在一个命令中更新所有依赖项。
- 使您能够查看基本用法一章以了解有关声明依赖项的更多详细信息。
简而言之,有两种安装 Composer 的方法:作为项目的一部分在本地安装,或者作为系统范围的可执行文件在全局安装。 无论哪种方式,您都将从本地安装开始。
本地
要在当前目录中快速安装 Composer,请在终端中运行此脚本:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
此安装程序脚本会检查一些 php.ini
设置,如果设置错误会警告您,然后在当前目录下载最新的 composer.phar
。 这四行将按顺序:
- 下载安装程序到当前目录
- 验证安装程序 SHA-384,您也可以在此处 交叉检查
- 运行安装程序
- 删除安装程序
安装程序将检查一些 PHP 设置,然后将 composer.phar
下载到您的工作目录。 该文件是 Composer 二进制文件。 它是一个 PHAR(PHP 存档),它是 PHP 的一种存档格式,可以在命令行上运行,等等。
为了运行 Composer,您使用 php composer.phar
。 例如,运行以下命令来查看您安装的 Composer 版本:
php composer.phar --version
要在本地使用 Composer,您需要将 composer.phar
文件放在项目的根目录中。 您可以在安装 Composer 之前从您的项目目录开始。 您也可以在安装后移动文件。 您还可以使用 --install-dir
选项将 Composer 安装到特定目录,并使用 --filename
选项另外(重新)命名它。
由于 Composer 是跨项目使用的东西,因此建议您继续下一部分并将 Composer 设置为全局运行。
全球范围内
您可以将 Composer PHAR 放置在您希望的任何位置。 如果你把它放在一个属于你的 $PATH
的目录中,你可以全局访问它。 您甚至可以使其在 Ubuntu(和其他 Unix 系统)上可执行并在不直接使用 PHP 解释器的情况下调用它。
本地安装后,运行以下命令将 composer.phar
移动到您的路径中的目录:
sudo mv composer.phar /usr/local/bin/composer
如果您只想为您的用户安装它并避免需要 root 权限,您可以使用 ~/.local/bin
代替,它在某些 Linux 发行版上默认可用:
mv composer.phar ~/.local/bin/composer
现在要运行 Composer,请使用 composer
而不是 php composer.phar
。 要检查您的 Composer 版本,请运行:
composer --version
作为最后一步,您可以选择使用 composer init
初始化您的项目。 这将创建 composer.json
文件来管理您的项目依赖项。 初始化项目还将让您定义项目详细信息,例如作者和许可证,并使用 Composer 的自动加载功能 。 您可以现在定义依赖项或稍后添加它们。
运行以下命令来初始化项目:
composer init
运行此命令将启动设置向导。 您在向导中输入的详细信息可以稍后更新,因此请随时保留默认设置,只需按 ENTER
。 如果您还没有准备好安装任何依赖项,您可以选择 no
。 在每个提示符处输入您的详细信息:
OutputThis command will guide you through creating your composer.json config. Package name (sammy/php_install): sammy/project1 Description []: Author [Sammy <sammy@digitalocean.com>, n to skip]: Minimum Stability []: Package Type (e.g. library, project, metapackage, composer-plugin) []: project License []: Define your dependencies. Would you like to define your dependencies (require) interactively [yes]? no Would you like to define your dev dependencies (require-dev) interactively [yes]? no { "name": "sammy/project1", "type": "project", "authors": [ { "name": "Sammy", "email": "sammy@digitalocean.com" } ], "require": {} } Do you confirm generation [yes]? yes
在确认生成之前,您将看到向导将创建的 composer.json
文件的示例。 如果一切正常,您可以确认 yes
的默认值。 如果需要重新开始,请选择 no
。
第一次定义任何依赖项时,Composer 将创建一个 vendor
文件夹。 所有依赖项都安装到此 vendor
文件夹中。 Composer 还会创建一个 composer.lock
文件。 此文件指定项目中使用的每个依赖项和子依赖项的 exact 版本。 这确保了运行程序的任何机器都将使用每个包的完全相同的版本。
注意: 永远不要将 vendor
文件夹提交到您的版本控制系统 (VCS)。 vendor
文件夹仅包含您从其他供应商处安装的软件包。 这些单独的供应商将在自己的版本控制系统中维护自己的代码。 您应该只跟踪您编写的代码。 无需提交 vendor
文件夹,您只需提交 composer.json
和 composer.lock
文件。 您可以在 如何使用 Git:参考指南 中了解有关忽略特定文件的更多信息。
现在您已经安装了 PHP,并且可以使用 Composer 管理您的项目依赖项,您已经准备好测试您的环境了。
第 3 步 — 测试 PHP 环境
要测试您的系统是否为 PHP 正确配置,您可以创建并运行一个基本的 PHP 脚本。 调用此脚本 hello.php
:
sudo nano hello.php
这将打开一个空白文件。 将以下文本(有效的 PHP 代码)放入文件中:
你好.php
<?php echo 'Hello World!'; ?>
添加文本后,保存并关闭文件。 您可以通过按住 CTRL
键并按下 x
键来执行此操作。 然后选择y
并按ENTER
。
现在您可以进行测试以确保 PHP 正确处理您的脚本。 输入 php
告诉 PHP 处理文件,后跟文件名:
php hello.php
如果 PHP 处理正确,您将只看到引号内的字符:
OutputHello World!
PHP 已成功处理脚本,这意味着您的 PHP 环境已成功安装,您已准备好继续您的编程之旅。
结论
此时,您已经在本地 Ubuntu 机器上设置了 PHP 7.4 编程环境,并且可以开始编码项目。
在开始编码之前,您可能需要设置一个集成开发环境 (IDE)。 虽然有许多 IDE 可供选择,但 VS Code 是一个受欢迎的选择,因为它提供了许多强大的功能,例如图形界面、语法高亮和调试。
在您的本地机器准备好进行软件开发后,您可以按照 如何在 PHP 中使用字符串 继续了解有关 PHP 编码的更多信息。