PHP8.1をインストールしてUbuntu22.04にローカル開発環境をセットアップする方法
このチュートリアルの以前のバージョンはalenaholliganによって書かれました。
序章
PHPは、動的でインタラクティブなWebページを作成することで知られる人気のあるサーバースクリプト言語です。 選択した言語で立ち上げて実行することは、プログラミングを学ぶための最初のステップです。
このチュートリアルでは、UbuntuにPHP 8.1をインストールし、コマンドラインからローカルプログラミング環境をセットアップする方法について説明します。 また、依存関係マネージャー Composer をインストールし、スクリプトを実行してインストールをテストします。
前提条件
このチュートリアルを完了するには、Ubuntu 22.04がインストールされ、そのマシンへの管理アクセスとインターネット接続を備えたローカルマシンまたは仮想マシンが必要です。 このオペレーティングシステムは、Ubuntuリリースページからダウンロードできます。
ステップ1—PHP8.1のセットアップ
コマンドラインでインストールとセットアップを完了します。これは、コンピューターと対話するための非グラフィカルな方法です。 つまり、ボタンをクリックする代わりに、テキストを入力し、テキストを介してコンピューターからフィードバックを受け取ることになります。
シェルまたはターミナルとも呼ばれるコマンドラインは、コンピューターで毎日実行するタスクの多くを変更および自動化するのに役立ち、ソフトウェア開発者にとって不可欠なツールです。 あなたがより強力なことをすることを可能にすることができる学ぶべき多くのターミナルコマンドがあります。 記事Linuxターミナルの紹介を使用すると、ターミナルの方向性をよりよく理解できます。
Ubuntuでは、画面の左上隅にあるUbuntuアイコンをクリックし、検索バーにterminal
と入力すると、ターミナルアプリケーションを見つけることができます。 ターミナルアプリケーションアイコンをクリックして開きます。 または、キーボードのCTRL
、ALT
、およびT
キーを同時に押すと、ターミナルアプリケーションが自動的に開きます。
注: Ubuntu 22.04のリポジトリには、PHP8.1が付属しています。 これは、指定されたバージョンなしでPHPをインストールしようとすると、8.1を使用することを意味します。
Ubuntu 22.04サーバーで異なるバージョンのPHPを使用する場合は、phpenvプロジェクトを使用して異なるバージョンをインストールおよび管理できます。
次のコマンドを実行して利用可能なパッケージのリストを更新してから、PHP8.1をインストールします。
- sudo apt update
- sudo apt install --no-install-recommends php8.1
--no-install-recommends
フラグは、ApacheWebサーバーなどの他のパッケージがインストールされていないことを確認します。
次のコマンドを使用して、PHPのバージョン情報を確認します。
- php -v
次のような出力が表示されます。
OutputPHP 8.1.2 (cli) (built: Apr 7 2022 17:46:26) (NTS)
Copyright (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
-コマンドインタープリター。シェルからのPHPスクリプトのテストや、一般的なシェルスクリプトタスクの実行に役立ちます。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
に強く影響を受けています。
仮定する:
- 複数のライブラリに依存するプロジェクトがあります。
- それらのライブラリのいくつかは他のライブラリに依存しています。
作曲:
- 依存するライブラリを宣言できます。
- どのバージョンのパッケージをインストールできるか、またインストールする必要があるかを調べ、プロジェクトにダウンロードしてインストールします。
- 1つのコマンドですべての依存関係を更新できます。
- 依存関係の宣言の詳細については、「基本的な使用法」の章を参照してください。
Composerをインストールするには、最初に次のcurl
コマンドを使用してインストーラーをダウンロードします。
- curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
次に、ダウンロードしたインストーラーが、 Composer Public Keys /Signaturesページにある最新のインストーラーのSHA-384ハッシュと一致することを確認します。 検証手順を容易にするために、次のコマンドを使用して、Composerページからプログラムで最新のハッシュを取得し、それをシェル変数に格納できます。
- HASH=`curl -sS https://composer.github.io/installer.sig`
得られた値を確認するには、次のコマンドを実行します。
- echo $HASH
Output55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae
次に、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
の下にcomposer
という名前のシステム全体のコマンドとしてダウンロードしてインストールします。
- 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がシステムに正常にインストールされ、システム全体で使用可能であることが確認されます。
注:サーバーでホストするプロジェクトごとに個別の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
を選択できます。 各プロンプトで詳細を入力します。
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 <[email protected]>
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": "[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
ファイルをコミットするだけで済みます。 特定のファイルを無視する方法について詳しくは、 Gitの使用方法:リファレンスガイドをご覧ください。
PHPがインストールされ、Composerを使用してプロジェクトの依存関係を管理する方法ができたので、環境をテストする準備が整いました。
ステップ3—PHP環境のテスト
システムがPHP用に正しく構成されていることをテストするために、基本的なPHPスクリプトを作成して実行できます。 このスクリプトをhello.php
と呼びます。
- 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 8.1プログラミング環境がセットアップされ、コーディングプロジェクトを開始できます。
コーディングを開始する前に、統合開発環境(IDE)をセットアップすることをお勧めします。 選択できるIDEは多数ありますが、 VS Code は、グラフィカルインターフェイス、構文の強調表示、デバッグなどの多くの強力な機能を提供するため、人気のある選択肢です。
ローカルマシンでソフトウェア開発の準備ができたら、 PHPで文字列を操作する方法に従って、PHPでのコーディングについてさらに学習することができます。