検索
ホームページバックエンド開発PHPチュートリアルUbuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 8.4 には、いくつかの新機能、セキュリティの改善、および 適切な量​​の機能の非推奨によるパフォーマンスの向上

このガイドでは、PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。 Ubuntu、Debian、またはその派生製品。 PHPをソースからコンパイルすることも可能ですが、 多くの場合、以下で説明するように APT リポジトリからインストールする方が高速です。 これらのリポジトリは最新のバグを提供するため、より安全です

PHP 8.4 は、現在の Debian および Ubuntu ソフトウェア リポジトリでは利用できません。このガイドでは、Ondřej Surý によって管理されているリポジトリを使用します。 Ondrej の PHP リポジトリは、PHP の事実上のリポジトリです。

截屏2024-12-24 16.35.26.png

PHP 8.4 における下位互換性への潜在的な影響

PHP 8.4 には、プロパティ フックなどのいくつかの新機能が導入されています、 非対称可視性、DOM、Curl、PCRE 拡張機能の改善、

ただし、PHP 8.4 では一部の PHP 機能も廃止され、次の機能が削除されています。 PHP コアから PECL までの 4 つの PHP 拡張機能。これは既存の PHP に影響を与える可能性があります アプリケーションが追加の PHP 通知/警告を発行したり、特定の処理に失敗したりする

既存のアプリケーションに影響を与える可能性のある注目すべき変更には次のものがあります。

  • 暗黙的に null 許容パラメータ宣言が非推奨になりました
  • E_STRICT 定数が非推奨になりました
  • PHP コアから PECL に移行された拡張機能: Pspell、IMAP、 OCI8、および PDO_OCI。

PHP 拡張機能が PHP コアから PECL に移動されると、拡張機能 独自のリリースサイクルに従います。このガイドで使用されるリポジトリ その拡張機能の PECL プロジェクトが存在する場合、更新プログラムが提供されます。 アップデートをリリースします。ただし、これは PECL 拡張機能が可能であることも意味します (そして

続行する前に、必ずシステムをバックアップしてください。このガイド PHP 8.4 を既存の PHP インストールと並行してインストールします。 これにより、次の場合に他の PHP インストールに簡単に切り替えることができます。 必要です。


この手順は、既存の PHP セットアップをアップグレードする場合にのみ適用されます。次のコマンドは、名前にテキスト php が含まれるインストールされているすべての PHP パッケージを一覧表示し、画面に表示して、packages.txt というファイルに書き込みます。このファイルは、後の手順で PHP 8.4 パッケージをインストールするときに役立ち、PHP 8.4 バージョンの拡張機能の同じリストが確実にインストールされるようにします。

dpkg -l | grep php | tee packages.txt

2. ondrej/php PPA/DPA を追加

PHP 8.4 パッケージは現在のどのバージョンでも利用できないため Debian または Ubuntu ソフトウェア リポジトリ。PHP パッケージは次の場所から取得する必要があります。 別のリポジトリ

オンドジェ・スリ すべてのコンパイル済みバイナリを含むパッケージ アーカイブを維持します。 Ubuntu および Debian の現在の PHP バージョン。いくつかの PECL も出荷されます PHP コア拡張機能の PECL 拡張機能を含む拡張機能がバンドルされていない PHP 8.4 では。

このリポジトリが追加されると、標準の apt コマンドを使用して初期インストールと更新を実行できます。


Ubuntu PPA

dpkg -l | grep php | tee packages.txt

Debian DPA

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update

3. PHP 8.4 サーバー API パッケージをインストールします

Ondrej の PPA および DPA では、PHP 8.4 パッケージは php8.1-NAME パターンに従います。 PECL および共有 PHP 拡張機能も同じパターンに従います。

PHP 拡張機能をインストールする前に、必ず次の PHP Server API (SAPI) パッケージのいずれかをインストールしてください:

PHP-CLI のみをインストールします

PHP CLI をインストールするには、拡張機能とともに php8.1-cli パッケージをインストールします。

sudo apt-get updatesudo apt-get -y install lsb-release ca-certificates curl apt-transport-httpssudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.debsudo dpkg -i /tmp/debsuryorg-archive-keyring.debsudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'sudo apt-get update

PHP-CLI および Apache モジュールとしての PHP

PHP CLI および PHP 8.4 を Apache モジュールとしてインストールするには、libapache2-mod-php8.4 パッケージをインストールします。

sudo apt install php8.4-cli

PHP アプリケーションが PHP を Apache モジュールとしてインストールする必要がない限り、代わりに PHP-FPM のインストールを検討してください。

PHP CLI および PHP-FPM (推奨)

PHP を Apache、Nginx、および Web サーバーと統合するには、PHP-FPM をインストールすることをお勧めします。 Caddy.

sudo apt install php8.4-cli libapache2-mod-php8.4

これにより、php8.4-fpm サービスがインストールされ、自動的に有効になります。後で必要となる追加手順については、「FPM Web サーバーの統合」セクションを参照してください。

5.インストールの確認

PHP のインストールを簡単に確認するには、次のコマンドを実行します:

sudo apt install php8.4-cli php8.4-fpm

PHP のバージョン、ビルド時間、その他の情報が表示されます:

`php -v` output
`php -v` 出力

PHP-FPM サービスの場合がインストールされている場合、そのステータスは次のように確認できます:

php -v

PHP-FPM サーバーが正常に実行されている場合は、次のような出力が表示されるはずです:


php-fpm status
`systemctl status php8.4-fpm`出力

4. PHP 拡張機能をインストールします

すべての共有 PHP 拡張機能と PECL 拡張機能は php8.4-EXTNAME パターンに従います。ここで、extname は拡張機能の名前です。

既存のシステムをアップグレードする場合は、次を参照してください。既存の PHP 8.3 以前の PHP を確認するための最初のステップで作成された package.txt ファイルextensions.

PHP 拡張機能をインストールするには、php-8.4- プレフィックスを付けた PHP 拡張機能名を指定して apt install コマンドを使用します。たとえば、gd 拡張機能は php8.4-gd パッケージとともにインストールされます。

sudo systemctl status php8.4-fpm

次のコマンドは、大部分の PHP ライブラリおよびフレームワークで必要とされる最も一般的な PHP 拡張機能のセットをインストールします。

sudo apt install php8.4-gd

追加の PHP 拡張機能を検索するには、apt search コマンドを使用します。

dpkg -l | grep php | tee packages.txt

開発ツール

Xdebug やコード カバレッジ ツールなどの開発ツールも、同じパッケージ命名規則に従ってインストールできます。

この手順は運用環境では推奨されません。サーバー。

Xdebug

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update

PCOV

sudo apt-get updatesudo apt-get -y install lsb-release ca-certificates curl apt-transport-httpssudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.debsudo dpkg -i /tmp/debsuryorg-archive-keyring.debsudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'sudo apt-get update

5. Web サーバーの統合

手順 3 でインストールしたサーバー API によっては、PHP 8.4 アップグレードを有効にするために Web サーバーの統合に追加の構成が必要になる場合があります。

PHP-FPM

PHP-FPM を使用する場合 (php8.4-fpm パッケージをインストールすることにより)、PHP と通信できるように Web サーバーを再構成する必要があります。更新されたソケット パス上の 8.4 FPM サーバー。


Apache: この設定変更は、PHP 8.4 設定ファイルをオンにすることで簡単に行えます:

sudo apt install php8.4-cli

Nginx: fastcgi_pass ディレクティブを古い PHP FPM ソケット パスから新しい PHP 8.4 に更新します。パス:

sudo apt install php8.4-cli libapache2-mod-php8.4

詳細については、Nginx ドキュメントを参照してください


Caddy サーバー: 新しい PHP 8.4 FPM サーバー ソケット パスを使用するように reverse_proxy ディレクティブを更新します:

sudo apt install php8.4-cli php8.4-fpm

詳細な設定については、「PHP で Caddy Server を使用する方法」を参照してください。詳細。

Apache モジュールとしての PHP

PHP が Apache モジュールとしてインストールされている場合、次のコマンドは以前の PHP モジュール (この例では 8.3) を無効にし、新しい PHP バージョンを有効にします。

php -v

以上がUbuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はphp.watchで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?Apr 23, 2025 am 12:16 AM

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?Apr 23, 2025 am 12:13 AM

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

session.gc_maxlifetime構成設定とは何ですか?session.gc_maxlifetime構成設定とは何ですか?Apr 23, 2025 am 12:10 AM

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでセッション名をどのように構成しますか?PHPでセッション名をどのように構成しますか?Apr 23, 2025 am 12:08 AM

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。

セッションIDをどのくらいの頻度で再生する必要がありますか?セッションIDをどのくらいの頻度で再生する必要がありますか?Apr 23, 2025 am 12:03 AM

セッションIDは、機密操作の前、30分ごとにログイン時に定期的に再生する必要があります。 1.セッション固定攻撃を防ぐためにログインするときにセッションIDを再生します。 2。安全性を向上させるために、敏感な操作の前に再生します。 3.定期的な再生は長期的な利用リスクを減らしますが、ユーザーエクスペリエンスの重量を量る必要があります。

PHPでセッションCookieパラメーターをどのように設定しますか?PHPでセッションCookieパラメーターをどのように設定しますか?Apr 22, 2025 pm 05:33 PM

PHPのセッションCookieパラメーターの設定は、session_set_cookie_params()関数を通じて達成できます。 1)この関数を使用して、有効期限、パス、ドメイン名、セキュリティフラグなどのパラメーターを設定します。 2)session_start()を呼び出して、パラメーターを有効にします。 3)ユーザーログインステータスなど、ニーズに応じてパラメーターを動的に調整します。 4)セキュリティを改善するために、セキュアとhttponlyフラグを設定することに注意してください。

PHPでセッションを使用する主な目的は何ですか?PHPでセッションを使用する主な目的は何ですか?Apr 22, 2025 pm 05:25 PM

PHPでセッションを使用する主な目的は、異なるページ間でユーザーのステータスを維持することです。 1)セッションはsession_start()関数を介して開始され、一意のセッションIDを作成し、ユーザーCookieに保存します。 2)セッションデータはサーバーに保存され、ログインステータスやショッピングカートのコンテンツなど、さまざまなリクエスト間でデータを渡すことができます。

サブドメイン間でセッションをどのように共有できますか?サブドメイン間でセッションをどのように共有できますか?Apr 22, 2025 pm 05:21 PM

サブドメイン間でセッションを共有する方法は?一般的なドメイン名にセッションCookieを設定することにより実装されます。 1.セッションCookieのドメインをサーバー側の.example.comに設定します。 2。メモリ、データベース、分散キャッシュなど、適切なセッションストレージ方法を選択します。 3. Cookieを介してセッションIDを渡すと、サーバーはIDに基づいてセッションデータを取得および更新します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません