引言
PHP是一種流行的服務(wù)器腳本語言,用于創(chuàng)建動態(tài)和交互式web頁面。開始使用你選擇的語言是學習編程的第一步。
本教程將指導您在Ubuntu上安裝PHP 8.1,并通過命令行設(shè)置本地編程環(huán)境。您還將安裝依賴管理器Composer,并通過運行腳本來測試您的安裝。
前期準備
要完成本教程,您需要安裝Ubuntu 22.04的本地或虛擬機,并具有管理權(quán)限和到該機器的互聯(lián)網(wǎng)連接。您可以通過Ubuntu發(fā)布頁面下載操作系統(tǒng)。
第1步 設(shè)置PHP 8.1
你將在命令行中完成安裝和設(shè)置,這是一種與計算機交互的非圖形化方式。也就是說,你不需要點擊按鈕,而是需要輸入文本,并通過文本從計算機接收反饋。
命令行,也稱為shell或終端,可以幫助您修改和自動化您每天在計算機上執(zhí)行的許多任務(wù),是軟件開發(fā)人員的一個重要工具。要學習許多終端命令,它們可以讓你做更強大的事情。Linux終端簡介這篇文章可以讓您更好地適應(yīng)終端。
在Ubuntu上,你可以通過點擊屏幕左上角的Ubuntu圖標,在搜索欄中輸入terminal
來找到Terminal應(yīng)用程序。單擊終端應(yīng)用程序圖標來打開它?;蛘?,您可以同時按下鍵盤上的CTRL
、ALT
和T
鍵來自動打開終端應(yīng)用程序。
注意: 在Ubuntu 22.04倉庫中附帶了PHP 8.1。這意味著如果您嘗試安裝沒有指定PHP版本情況下,它將默認使用PHP 8.1版本。
如果您想在您的Ubuntu 22.04服務(wù)器上使用不同版本的PHP,您可以使用phpenv項目來安裝和管理不同版本的PHP。
運行以下命令更新可用包列表,然后安裝PHP 8.1:
sudo apt update
sudo apt install --no-install-recommends php8.1
--no-install-recommends
參數(shù)將確保Apache web服務(wù)器等其他包沒有安裝。
使用以下命令檢查PHP版本信息:
php -v
你看到類似下面的內(nèi)容:
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 Technologies
with 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腳本或執(zhí)行一般的shell腳本任務(wù) -
php8.1-common
- PHP文檔、示例和通用模塊 -
php8.1-mysql
- 用于使用MySQL數(shù)據(jù)庫 -
php8.1-zip
- 用于處理壓縮文件 -
php8.1-gd
- 用于處理圖像 -
php8.1-mbstring
- 用于管理非ascii字符串 -
php8.1-curl
- 允許你用PHP發(fā)起HTTP請求 -
php8.1-xml
- 用于處理XML數(shù)據(jù) -
php8.1-bcmath
- 在處理浮點精度時使用
與Apache相關(guān)的PHP配置存儲在/etc/php/8.1/apache2/php.ini
中。你可以使用以下命令列出所有加載的PHP模塊:
php -m
您已經(jīng)安裝了PHP并驗證了正在運行的版本。您還安裝了所需的PHP模塊,并能夠列出已加載的模塊。
您可以現(xiàn)在就開始使用PHP,但您可能希望使用各種庫來快速構(gòu)建PHP應(yīng)用程序。在測試PHP環(huán)境之前,首先為項目設(shè)置一個依賴管理器。
第2步 設(shè)置Composer進行依賴管理(可選)
庫是一組代碼,可以幫助你解決常見問題,而不需要自己編寫所有內(nèi)容。由于有許多可用的庫,使用依賴管理器將幫助您管理多個庫,從而提高編寫PHP的經(jīng)驗。
Composer是一個用于PHP依賴管理的工具。它允許你聲明項目所依賴的庫,并管理這些包的安裝和更新。
盡管類似,但Composer不是與yum
或apt
相同意義上的包管理器。它處理包或庫,但它以每個項目為基礎(chǔ)管理它們,將它們安裝在一個目錄中(例如:vendor
)。默認情況下,它不會全局安裝任何東西。因此,它是一個依賴管理器。但是,為了方便,它通過global
命令支持全局項目。
這個想法并不新鮮,Composer深受Node的npm
和Ruby的bundler
的啟發(fā)。
設(shè)想:
- 你有一個項目依賴于幾個庫。
- 其中一些庫依賴于其他庫。
Composer:
- 允許你聲明所依賴的庫。
- 找出哪些包的版本可以并且需要安裝,并通過下載它們到你的項目中來安裝它們。
- 使您能夠在一個命令中更新所有依賴項。
- 允許您查看基本用法章節(jié)以了解更多關(guān)于聲明依賴項的詳細信息。
要安裝Composer,首先使用以下curl
命令下載安裝程序:
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
接下來,驗證下載的安裝程序與Composer Public Keys / Signatures頁面上找到的最新安裝程序的SHA-384哈希值是否匹配。為了簡化驗證步驟,您可以使用以下命令以編程方式從Composer頁面獲取最新的哈希值,并將其存儲在shell變量中:
HASH=`curl -sS https://composer.github.io/installer.sig`
要驗證得到的值,可以運行:
echo $HASH
Output55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae
現(xiàn)在執(zhí)行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
,那么您需要再次下載安裝腳本,并雙擊您正在使用的正確的散列。然后,重復驗證過程。當你有一個經(jīng)過驗證的過程時,你可以繼續(xù)。
要在全球安裝composer
,請使用以下命令下載并安裝作曲家作為一個全系統(tǒng)的composer
,在/usr/local/bin
目錄下:
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
你會得到類似下面的輸出:
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:00
Usage:
command [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-dir=WORKING-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是否已成功安裝在您的系統(tǒng)上,并且在整個系統(tǒng)范圍內(nèi)可用。
**注意:**如果您喜歡為服務(wù)器上托管的每個項目都有單獨的Composer可執(zhí)行文件,則可以基于每個項目在本地安裝它。當您的系統(tǒng)用戶沒有系統(tǒng)范圍內(nèi)安裝軟件的權(quán)限時,此方法也很有用。
要做到這一點,請使用不帶任何參數(shù)的命令php /tmp/composer-setup.php
。該命令將在當前目錄中生成一個composer.phar
文件,你可以使用php composer.phar
來運行它。
第3步 在PHP項目中使用Composer
作為最后一步,你可以選擇使用composer init
初始化你的項目。這將創(chuàng)建composer.json
文件來管理你的項目依賴項。初始化項目還將允許您定義項目細節(jié),如作者和許可證,并使用Composer的自動加載功能。您可以現(xiàn)在定義依賴項,也可以稍后添加它們。
首先,創(chuàng)建一個目錄,并在其中保存項目文件:
cd ~
mkdir example-project
cd example-project
現(xiàn)在初始化你的項目:
composer init
運行此命令將啟動安裝向?qū)?。您在向?qū)е休斎氲脑敿毿畔⑸院罂梢愿拢虼丝梢员A裟J值,只需按ENTER
。如果你不準備安裝任何依賴項,你可以選擇no
。在每個提示框中輸入你的詳細信息:
Output
Welcome 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 <sammy@digitalocean.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]? no
Add 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": "sammy@digitalocean.com"
}
],
"require": {}
}
Do you confirm generation [yes]? yes
在確認生成之前,你會看到向?qū)⒁獎?chuàng)建的composer.json
文件的示例。如果一切看起來都不錯,你可以確認默認值為yes
。如果你需要重新開始,選擇no
。
第一次定義依賴時,Composer會創(chuàng)建一個vendor
文件夾。所有依賴都安裝到這個vendor
文件夾中。Composer還會創(chuàng)建一個composer.lock
文件。此文件指定了項目中使用的每個依賴項和子依賴項的確切版本。這可以確保運行程序的任何機器上的每個包都使用完全相同的版本。
注意: vendor
文件夾永遠不應(yīng)該提交到你的版本控制系統(tǒng)(VCS)。vendor
文件夾只包含您從其他供應(yīng)商安裝的軟件包。這些供應(yīng)商將在自己的版本控制系統(tǒng)中維護自己的代碼。您應(yīng)該只跟蹤您編寫的代碼。你只需要提交你的composer. js文件,而不是提交vendor
文件夾。composer.json
和composer.lock
文件。
現(xiàn)在你已經(jīng)安裝了PHP,并且可以使用Composer管理項目依賴項,現(xiàn)在可以測試你的環(huán)境了。
第4步 測試PHP環(huán)境
要測試您的系統(tǒng)是否正確配置了PHP,您可以創(chuàng)建并運行一個基本的PHP腳本。將這個腳本命名為hello.php
:
sudo nano hello.php
這將打開一個空白文件。將以下文本(有效的PHP代碼)放入文件中:
hello.php
<?php
echo 'Hello World!';
?>
一旦添加了文本,保存并關(guān)閉文件。你可以按住CTRL
鍵,按下x
鍵。然后選擇y
和ENTER
。
現(xiàn)在您可以測試,以確保PHP正確地處理您的腳本。鍵入php
來告訴php處理文件,然后是文件的名稱:
php hello.php
如果PHP處理正確,您將只看到引號內(nèi)的字符:
OutputHello World!
PHP已經(jīng)成功地處理了腳本,這意味著您的PHP環(huán)境已經(jīng)成功安裝,您已經(jīng)準備好繼續(xù)您的編程之旅。
總結(jié)
至此,您已經(jīng)在Ubuntu系統(tǒng)上設(shè)置了PHP 8.1編程環(huán)境,可以開始編碼項目了。文章來源:http://www.zghlxwxcb.cn/news/detail-677615.html
在開始編碼之前,您可能需要設(shè)置一個集成開發(fā)環(huán)境(IDE)。雖然有許多ide可供選擇,但VS Code是一個流行的選擇,因為它提供了許多強大的功能,如圖形界面、語法高亮和調(diào)試。文章來源地址http://www.zghlxwxcb.cn/news/detail-677615.html
到了這里,關(guān)于如何在Ubuntu 22.04上安裝PHP 8.1并設(shè)置本地開發(fā)環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!