ubuntu22.04にphp-fpm8.2をインストールしたいと思います。
インストール
パッケージのアップデート
まずさ最初にパッケージをアップデートします。
sudo apt updateリポジトリの追加
Ubuntuの標準リポジトリにphp 8系が登録されていないため、
別途ppa:ondrej/phpリポジトリを追加します。
sudo apt install software-properties-common下記のコマンドの途中でEnterボタンを求めてきますので、そのままEnterします。
sudo add-apt-repository ppa:ondrej/phpphp-fpmの追加
リポジトリの追加が終わったら、aptでphp-fpmをインストールします。
sudo apt install -y php-fpm php-curl php-mysqlバージョンの確認
php 8.2.7がインストールできました。
hide@x162-43-18-113:~$ php -v
PHP 8.2.7 (cli) (built: Jun 8 2023 15:27:40) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies
4. php-domのインストール
後でDomエクステンションが必要になってくるので、ここでインストールしておきます。
sudo apt install php8.2-dom初期設定
設定ファイルの場所(php-fpm)
sudo vim /etc/php/8.2/fpm/php-fpm.conf中を確認してみると、最後の行に設定ファイルの場所の記述があります。
; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files from a glob(3) pattern. This directive can be used everywhere in the
; file.
; Relative path can also be used. They will be prefixed by:
; - the global prefix if it's been set (-p argument)
; - /usr otherwise
include=/etc/php/8.2/fpm/pool.d/*.conf

hide@x162-43-18-113:~$ ls -la /etc/php/8.2/fpm/pool.d
合計 32
drwxr-xr-x 2 root root 4096 7月 7 17:39 .
drwxr-xr-x 4 root root 4096 7月 7 17:43 ..
-rw-r--r-- 1 root root 22096 6月 9 00:27 www.conf
www,confファイルが有るので、NginxとPHPがやり取りを行うソケットファイルの場所を探します。
less /etc/php/8.2/fpm/pool.d/www.conflistenで検索すると、ソケットファイルの場所が探せます。

/run/php/php8.2-fpm.sock がPHPとNginxとのやり取りを行うソケットです。これを後でNginxの設定ファイルに記述します。
設定ファイルの場所(php.ini)
ここでPHPの細かい設定を行います。
sudo vim /etc/php/8.2/fpm/php.ini- memory_limitは初期が128M→512Mに変更
- post_max_sizeは初期が8M→32Mに変更
- upload_max_file_sizeは初期2M→16Mに変更
- max_file_uploadsは初期20→30に変更
起動
php-fpmの起動と自動起動設定
systemctlでOS起動時にサービスが開始されるか確認してみます。
systemctl list-unit-files --type=service | grep phpenabledとなっていれば、OKです。
nginxの設定
設定のdefaultファイルを開く
sudo vim /etc/nginx/sites-enabled/defaultphpの箇所を有効化
56行目付近にphp設定のサンプルがコメントアウトされた状態で記載されています。
socketを使用する箇所のコメントを解除し有効化します。
パスを記述
パスを /run/php/php8.2-fpm.sock に変更しましす。
fastcgi_paramの追加
下記の内容をfastcgi_passの下に追加します。
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Nginxの再読込
編集が終わったらnginxの設定ファイルを再読込。
sudo service nginx reload設定の確認
wwwのルートはデフォルトで「/var/www/html」となっています。
/var/www/html/info.phpを作成
sudo vim /var/www/html/info.php下記を記述して保存します。
<?php phpinfo();保存したらブラウザで確認します。
http://[VPSサーバーのIPアドレス]/info.php下記の様にPHPの設定状況が確認できます。

info.phpファイルの削除
尚、確認後は上記info.phpファイルは必ず削除してください。PHP環境の全てが表示されますので、セキュリティ的に危険です。
sudo rm /var/www/html/info.php
コメント