本記事は、めんどい太郎の Advent Calendar 2025 21日目の記事です。
はじめに
今回はRaspberry PiにNginx環境でPHPをインストールします。
17日の記事でうまくいかなかったと書きましたが、ようやくできたので別記事となってしまって申し訳ないのですが方法を紹介します。
なお、Ubuntuでも同じようにできます。
環境
- Raspberry Pi 4 Model B (8GB)
- OS: Raspberry Pi OS Lite (64-bit)
PHPをインストール
さっそくインストールします。
sudo apt update
sudo apt install php php-fpm
次に、php-fpmのソケットファイルを探します。
前回はここがうまくいっておらず、動かなかったようです。
ちゃんとNginxのエラーメッセージを見たら書いてました。
ちゃんとログは見ようね()
そして、Debian系はaptでインストールするとなにやら/run/phpに作成されるようです。
ちょっと見てみましょう。
$ ls /run/php
php8.4-fpm.pid php8.4-fpm.sock php-fpm.sock
ありましたね。
ここではphp-fpm.sockを選びます。
なぜphp8.4-fpm.sockを選ばないかというとこれはバージョン変更に対応していないからです。
ls -laしてみるとよくわかります。
$ ls -la /run/php
total 4
drwxr-xr-x 2 www-data www-data 100 Dec 16 23:14 .
drwxr-xr-x 27 root root 740 Dec 20 22:02 ..
-rw-r--r-- 1 root root 6 Dec 16 23:14 php8.4-fpm.pid
srw-rw---- 1 root root 0 Dec 16 23:14 php8.4-fpm.sock
lrwxrwxrwx 1 root root 30 Dec 16 23:14 php-fpm.sock -> /etc/alternatives/php-fpm.sock
php-fpm.sockは/etc/alternatives/php-fpm.sockを参照しているっぽいです。
なので、バージョン変更したいときでもNginxのコンフィグを変える必要がないため、こちらを使うのが良いでしょう。
では、Nginxの設定を変更します。
# server内に以下を追記
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Nginxを再起動します。
sudo systemctl restart nginx.service
これでPHPが動作するようになります。
PHPを動かしてみる
では、動かしてみましょう。
/usr/share/nginx/html/にinfo.phpを作成します。
<?php
echo "Hello, World!";
?>
結果を示しやすいようにcurlでアクセスしてみます。
作業用PCで実行します。
$ curl http://<Raspberry_PiのIPアドレス>/test.php
Hello, World!
ちゃんと実行されていますね!
おわりに
今回はRaspberry PiにNginx環境でPHPをインストールする方法を紹介しました。
これでNginx環境でPHPを動かせるようになりました。
実は一度やったことがあったのですが、方法を忘れてしまっていました...
つまりですね、この記事は将来の自分のために書いたというのもあるんですよね()
誰かの参考になれば幸いです。
それでは!