南昌汉邦网站建设,网站怎么优化推荐,重庆网站建设哪个好,网站如何防止恶意注册引言
PHP是一种流行的服务器脚本语言#xff0c;用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 8.1#xff0c;并通过命令行设置本地编程环境。您还将安装依赖管理器Composer#xff0c;并通过运行脚本来测试您…引言
PHP是一种流行的服务器脚本语言用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 8.1并通过命令行设置本地编程环境。您还将安装依赖管理器Composer并通过运行脚本来测试您的安装。
前期准备
要完成本教程您需要安装Ubuntu 22.04的本地或虚拟机并具有管理权限和到该机器的互联网连接。您可以通过Ubuntu发布页面下载操作系统。
第1步 设置PHP 8.1
你将在命令行中完成安装和设置这是一种与计算机交互的非图形化方式。也就是说你不需要点击按钮而是需要输入文本并通过文本从计算机接收反馈。 命令行也称为shell或终端可以帮助您修改和自动化您每天在计算机上执行的许多任务是软件开发人员的一个重要工具。要学习许多终端命令它们可以让你做更强大的事情。Linux终端简介这篇文章可以让您更好地适应终端。 在Ubuntu上你可以通过点击屏幕左上角的Ubuntu图标在搜索栏中输入terminal来找到Terminal应用程序。单击终端应用程序图标来打开它。或者您可以同时按下键盘上的CTRL、ALT和T键来自动打开终端应用程序。
注意 在Ubuntu 22.04仓库中附带了PHP 8.1。这意味着如果您尝试安装没有指定PHP版本情况下它将默认使用PHP 8.1版本。
如果您想在您的Ubuntu 22.04服务器上使用不同版本的PHP您可以使用phpenv项目来安装和管理不同版本的PHP。 运行以下命令更新可用包列表然后安装PHP 8.1
sudo apt updatesudo apt install --no-install-recommends php8.1--no-install-recommends参数将确保Apache web服务器等其他包没有安装。
使用以下命令检查PHP版本信息
php -v你看到类似下面的内容
OutputPHP 8.1.2 (cli) (built: Apr 7 2022 17:46:26) (NTS)ight (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologieswith Zend OPcache v8.1.2, Copyright (c), by Zend Technologies除了PHP本身您可能还需要安装一些额外的PHP模块。你可以使用这个命令来安装其他模块用你想要安装的包替换PACKAGE_NAME
sudo apt-get install php8.1-PACKAGE_NAME你也可以一次安装多个包。以下是一些你最可能需要安装的常用模块
sudo apt-get install -y php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath该命令将安装以下模块
php8.1-cli - 命令解释器用于从shell中测试PHP脚本或执行一般的shell脚本任务php8.1-common - PHP文档、示例和通用模块php8.1-mysql - 用于使用MySQL数据库php8.1-zip - 用于处理压缩文件php8.1-gd - 用于处理图像php8.1-mbstring - 用于管理非ascii字符串php8.1-curl - 允许你用PHP发起HTTP请求php8.1-xml - 用于处理XML数据php8.1-bcmath - 在处理浮点精度时使用
与Apache相关的PHP配置存储在/etc/php/8.1/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首先使用以下curl命令下载安装程序
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php接下来验证下载的安装程序与Composer Public Keys / Signatures页面上找到的最新安装程序的SHA-384哈希值是否匹配。为了简化验证步骤您可以使用以下命令以编程方式从Composer页面获取最新的哈希值并将其存储在shell变量中
HASHcurl -sS https://composer.github.io/installer.sig要验证得到的值可以运行
echo $HASHOutput55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae现在执行Composer下载页面中提供的以下PHP代码以验证安装脚本可以安全运行
php -r if (hash_file(SHA384, /tmp/composer-setup.php) $HASH) { echo Installer verified; } else { echo Installer corrupt; unlink(composer-setup.php); } echo PHP_EOL;输出如下
Installer verified如果输出说Installer corrupt那么您需要再次下载安装脚本并双击您正在使用的正确的散列。然后重复验证过程。当你有一个经过验证的过程时你可以继续。
要在全球安装composer,请使用以下命令下载并安装作曲家作为一个全系统的composer,在/usr/local/bin目录下
sudo php /tmp/composer-setup.php --install-dir/usr/local/bin --filenamecomposer你会得到类似下面的输出
OutputAll settings correct for using Composer
Downloading...Composer (version 2.3.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer要测试你的安装运行
composer你会得到如下输出
Output ______/ ____/___ ____ ___ ____ ____ ________ _____/ / / __ \/ __ __ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_//_/
Composer version 2.3.5 2022-04-13 16:43:00Usagecommand [options] [arguments]Options-h, --help Display help for the given command. When no command is given display help for the list command-q, --quiet Do not output any message-V, --version Display this application version--ansi|--no-ansi Force (or disable --no-ansi) ANSI output-n, --no-interaction Do not ask any interactive question--profile Display timing and memory usage information--no-plugins Whether to disable plugins.--no-scripts Skips the execution of all scripts defined in composer.json file.-d, --working-dirWORKING-DIR If specified, use the given directory as working directory.--no-cache Prevent use of the cache-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
. . .这将验证Composer是否已成功安装在您的系统上并且在整个系统范围内可用。
**注意**如果您喜欢为服务器上托管的每个项目都有单独的Composer可执行文件则可以基于每个项目在本地安装它。当您的系统用户没有系统范围内安装软件的权限时此方法也很有用。
要做到这一点请使用不带任何参数的命令php /tmp/composer-setup.php。该命令将在当前目录中生成一个composer.phar文件你可以使用php composer.phar来运行它。
第3步 在PHP项目中使用Composer
作为最后一步你可以选择使用composer init初始化你的项目。这将创建composer.json文件来管理你的项目依赖项。初始化项目还将允许您定义项目细节如作者和许可证并使用Composer的自动加载功能。您可以现在定义依赖项也可以稍后添加它们。 首先创建一个目录并在其中保存项目文件
cd ~
mkdir example-project
cd example-project现在初始化你的项目
composer init运行此命令将启动安装向导。您在向导中输入的详细信息稍后可以更新因此可以保留默认值只需按ENTER。如果你不准备安装任何依赖项你可以选择no。在每个提示框中输入你的详细信息
OutputWelcome to the Composer config generator This command will guide you through creating your composer.json config.Package name (vendor/name) [sammy/example-project]: sammy/project1
Description []
Author [n to skip]: Sammy sammydigitalocean.com
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]? noAdd PSR-4 autoload mapping? Maps namespace Sammy\Project1 to the entered relative path. [src/, n to skip]: n{name: sammy/project1,type: project,authors: [{name: Sammy,email: sammydigitalocean.com}],require: {}
}Do you confirm generation [yes]? yes在确认生成之前你会看到向导将要创建的composer.json文件的示例。如果一切看起来都不错你可以确认默认值为yes。如果你需要重新开始选择no。
第一次定义依赖时Composer会创建一个vendor文件夹。所有依赖都安装到这个vendor文件夹中。Composer还会创建一个composer.lock文件。此文件指定了项目中使用的每个依赖项和子依赖项的确切版本。这可以确保运行程序的任何机器上的每个包都使用完全相同的版本。
注意 vendor文件夹永远不应该提交到你的版本控制系统(VCS)。vendor文件夹只包含您从其他供应商安装的软件包。这些供应商将在自己的版本控制系统中维护自己的代码。您应该只跟踪您编写的代码。你只需要提交你的composer. js文件而不是提交vendor文件夹。composer.json和composer.lock文件。
现在你已经安装了PHP并且可以使用Composer管理项目依赖项现在可以测试你的环境了。
第4步 测试PHP环境
要测试您的系统是否正确配置了PHP您可以创建并运行一个基本的PHP脚本。将这个脚本命名为hello.php
sudo nano hello.php这将打开一个空白文件。将以下文本(有效的PHP代码)放入文件中
hello.php
?php
echo Hello World!;
?一旦添加了文本,保存并关闭文件。你可以按住CTRL键,按下x键。然后选择y和ENTER。 现在您可以测试,以确保PHP正确地处理您的脚本。键入php来告诉php处理文件,然后是文件的名称
php hello.php如果PHP处理正确您将只看到引号内的字符
OutputHello World!PHP已经成功地处理了脚本这意味着您的PHP环境已经成功安装您已经准备好继续您的编程之旅。
总结
至此您已经在Ubuntu系统上设置了PHP 8.1编程环境可以开始编码项目了。
在开始编码之前您可能需要设置一个集成开发环境(IDE)。虽然有许多ide可供选择但VS Code是一个流行的选择因为它提供了许多强大的功能如图形界面、语法高亮和调试。