Debian GNU/Linux および関連ディストリビューションのパッケージからのインストール

PHP はソースコードからもインストールできますが、 » Debian GNU/Linux パッケージからもインストール可能です。これは、Ubuntu、Kali Linux、Linux Mint のような Debian ベースの他のディストリビューションにも当てはまります。

警告

サードパーティによるビルドは非公式であり、PHP プロジェクトによって 直接サポートされません。発生したバグは、 » 公式ダウンロードページ からのビルドで再現できなければ、非公式ビルドの提供元に報告してください。

パッケージは、 apt または aptitude コマンドを使用してインストールできます。 このマニュアルでは、どちらのコマンドも同じ意味で使用します。

APT の使用

まず、Apache 2 と統合する場合は libapache2-mod-php、PEAR を使う場合は php-pear などの関連パッケージが必要となることを知っておきましょう。

次に、パッケージをインストールする前にはパッケージ一覧を最新に更新しておくようにしましょう。 これは、apt update コマンドで行います。

例1 Debian で Apache 2 と組み合わせるインストール例

# apt install php-common libapache2-mod-php php-cli

APT により、Apache 2 用の PHP モジュールとその依存モジュールが自動的にインストールされます。 インストール中に Apache を再起動する旨が表示されなかった場合は、手動で再起動する必要があります。

例2 PHP インストール後に Apache を停止・起動させる

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

よりよい設定の管理

ここまでのセクションでは、PHP のコアモジュールだけをインストールしました。 おそらく、さらに MySQLcURLGD などの追加モジュールもインストールしたくなることでしょう。 これらも apt コマンドでインストールすることができます。

例3 追加の PHP パッケージを探す方法

# apt-cache search php
# apt search php | grep -i mysql
# aptitude search php

パッケージのリストには、php-cgiphp-cliphp-dev などの基本的な PHP コンポーネントと多くの PHP 拡張モジュールを含む多数のパッケージが含まれます。 拡張モジュールがインストールされると、それらのパッケージの依存関係を満たすために、 必要に応じて追加のパッケージが自動的にインストールされます。

例4 PHP と MySQL、cURL のインストール

# apt install php-mysql php-curl

APT は自動的に、 /etc/php/7.4/php.ini/etc/php/7.4/conf.d/*.ini などの php.ini に適切な行を追加し、extension=foo.so といった内容が書き込まれます。しかし、これらの変更を有効にするにはウェブサーバー (Apache など) を再起動しなければなりません。

よく起きる問題

  • PHP スクリプトがウェブサーバーで実行されない場合は、 おそらく PHP がウェブサーバーの設定ファイルに追加されていないのでしょう。 Debian の場合、設定ファイルは /etc/apache2/apache2.conf のようになります。詳細は Debian のマニュアルを参照ください。
  • 拡張モジュールをインストールしたのに関数が未定義だと言われたら、 適切な ini ファイルが読み込まれているかどうかと インストール後にウェブサーバーを再起動したかどうかを確認しましょう。