作者选择Open Sourcing Mental Illness Ltd接受捐赠,作为Write for DOnations计划的一部分。
介绍
PHP 是一种流行的服务器脚本语言,以创建动态和交互式网页而闻名。开始使用您选择的语言是学习编程的第一步。
本教程将指导您在 Ubuntu 上安装 PHP 7.4 并通过命令行设置本地编程环境。您还将安装依赖项管理器Composer并通过运行脚本来测试您的安装。
先决条件
要完成本教程,您需要一台安装了 Ubuntu 18.04 的本地或虚拟机,并具有管理访问权限和到该机器的 Internet 连接。您可以通过Ubuntu 版本页面下载该操作系统。
第 1 步 – 设置 PHP 7.4
您将在命令行上完成安装和设置,这是一种与计算机交互的非图形方式。也就是说,您将输入文本并通过文本接收来自计算机的反馈,而不是单击按钮。
命令行,也称为 shell 或终端,可以帮助您修改和自动化您每天在计算机上执行的许多任务,是软件开发人员必不可少的工具。有许多终端命令需要学习,可以让您做更强大的事情。文章Linux 终端简介可以让您更好地了解终端。
在 Ubuntu 上,您可以通过单击屏幕左上角的 Ubuntu 图标并terminal
在搜索栏中键入来找到终端应用程序。单击终端应用程序图标将其打开。或者,你可以打的CTRL
,ALT
以及T
在同一时间你的键盘上的键自动打开终端应用程序。
您将希望避免依赖 PHP 的默认版本,因为该默认版本可能会根据您运行代码的位置而变化。您可能还希望安装不同的版本以匹配您正在使用的应用程序或升级到更新的版本,例如 PHP 8。
运行以下命令来更新apt-get
自身,这可确保您可以访问要安装的任何内容的最新版本:
- sudo apt-get update
接下来, install 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 受到了 Nodenpm
和 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
代替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 <[email protected]>, 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": "[email protected]"
}
],
"require": {}
}
Do you confirm generation [yes]? yes
在确认生成之前,您将看到composer.json
向导将创建的文件示例。如果一切正常,您可以确认默认的yes
. 如果您需要重新开始,请选择no
。
第一次定义任何依赖项时,Composer 将创建一个vendor
文件夹。所有依赖项都安装到此vendor
文件夹中。Composer 还会创建一个composer.lock
文件。此文件指定项目中使用的每个依赖项和子依赖项的确切版本。这可确保运行您的程序的任何机器都将使用每个软件包的完全相同版本。
注意:该vendor
文件夹不应提交到您的版本控制系统 (VCS)。该vendor
文件夹仅包含您从其他供应商处安装的软件包。这些单独的供应商将在他们自己的版本控制系统中维护他们自己的代码。您应该只跟踪您编写的代码。vendor
您只需要提交您的composer.json
和composer.lock
文件,而不是提交文件夹。您可以在How To Use Git: A Reference Guide 中了解有关忽略特定文件的更多信息。
现在您已经安装了 PHP 并使用 Composer 管理项目依赖项的方法,您已准备好测试您的环境。
第 3 步 – 测试 PHP 环境
要测试您的系统是否针对 PHP 进行了正确配置,您可以创建并运行一个基本的 PHP 脚本。调用这个脚本hello.php
:
- sudo nano hello.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 中使用字符串。