2026年9月7日月曜日

debian12.15で、最も、最新のphpと、依存関係とか、必要な、ものを、入れるには、?、

同じGNOMEデスクトップで、Debian13もFedora44もUIは、そっくりです、

hiroppy123@debian:~/schedule_manager$ php artisan optimize:clear Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.4.0". You are running 8.2.33. PHP Fatal error: Uncaught RuntimeException: Composer detected issues in your platform: Your Composer dep
pasted

debian12.15で、最も、最新のphpと、依存関係とか、必要な、ものを、入れるには、?、

Debian 12(bookworm)の公式リポジトリはPHP 8.2が最新で、PHP 8.4は含まれていません(Debian 13 trixieなら公式で8.4が入ります)。Debian 12でPHP 8.4を使うには、Ondřej Surý氏が管理するSury(deb.sury.org)リポジトリを追加する必要があります。SURYはDebianのPHPパッケージメンテナが管理していて、広く信頼されているリポジトリです。 Vultr

手順

  1. 必要なパッケージを準備
bash
sudo apt update
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 curl
  1. Sury GPGキーを追加
bash
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sury-php.gpg
  1. リポジトリを追加
bash
echo "deb [signed-by=/usr/share/keyrings/sury-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
  1. パッケージリストを更新して確認
bash
sudo apt update
apt policy php

packages.sury.org/php bookworm/main からPHP 8.4系が候補として出てくるはずです。

  1. PHP 8.4とスクリプトが必要とする拡張をインストール
bash
sudo apt install -y php8.4 php8.4-cli php8.4-common php8.4-mbstring php8.4-xml php8.4-curl php8.4-zip php8.4-bcmath php8.4-intl php8.4-mysql

(先ほどのapt installが失敗していたのはこのリポジトリが未追加だったためです)

  1. CLIのデフォルトを8.4に切り替え(複数バージョン共存時)
bash
sudo update-alternatives --set php /usr/bin/php8.4
php -v

mysql-serverについて

mysql-serverはDebian公式には無く(MariaDBが標準です)、代わりに以下のどちらかを使ってください:

bash
sudo apt install mariadb-server

または、Oracle公式のMySQL APTリポジトリを別途追加する必要があります。Laravelなら通常MariaDBで問題なく動きます。

Apache連携の再設定

PHP 8.2用のlibapache2-mod-php8.2が有効になっているので、8.4に切り替える場合はmod_phpではなくPHP-FPM運用が推奨です(Suryのmod_php8.4も存在しますが、FPMの方が今どきの構成です)。


この後 composer install を再実行すれば、platform_check.phpのエラーは解消するはずです。進め方(FPM+Apache連携の設定まで)も必要であれば教えてください。

いっそのこと、13にアップグレードは、出来ますか?それから、すべての手順を、

はい、Debian 12(bookworm)から13(trixie)へのアップグレードは公式にサポートされています。trixieは2025年8月9日に安定版としてリリース済みで、PHP 8.4が標準リポジトリに含まれるようになるので、Suryリポジトリを使わずにPHP 8.4を導入できます。ただしメジャーアップグレードなので、事前バックアップは必須です。

手順

1. 事前準備・バックアップ

bash
# 念のためユーザーで実行(rootでも可)
sudo su
cd /home/hiroppy123/schedule_manager

# アプリのバックアップ(DBとコードごと)
tar czf /root/schedule_manager_backup_$(date +%F).tar.gz /home/hiroppy123/schedule_manager
mysqldump -u root -p --all-databases > /root/all_databases_backup_$(date +%F).sql

仮想マシンなら、可能ならスナップショットも取っておいてください。

2. 現在のシステムを完全に最新化

bash
apt update
apt upgrade -y
apt full-upgrade -y
apt autoremove -y

ここで保留パッケージがないか確認してから進めます。

3. ディスク容量の確認

/bootに十分な空き(目安1GB以上)、ルートに5GB以上の空きがあることを確認してください。

bash
df -h

4. sources.list を bookworm → trixie に書き換え

bash
# ファイルの中身を確認
cat /etc/apt/sources.list
ls /etc/apt/sources.list.d/

/etc/apt/sources.list(または.sources形式のDEB822ファイル)内のbookwormをすべてtrixieに置換します。

bash
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
# sources.list.d 配下に別ファイルがあれば同様に置換
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*.list 2>/dev/null
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*.sources 2>/dev/null

先ほど追加したSuryリポジトリ(sury-php.list)は、trixieでは不要になるので無効化・削除しておいてください(trixie標準でPHP8.4が入るため、Suryが残っていると競合の可能性があります)。

bash
rm -f /etc/apt/sources.list.d/sury-php.list

5. パッケージ一覧の更新

bash
apt update

ここでエラーが出ないか確認してください。

6. 最小限のアップグレード(依存関係の衝突回避)

bash
apt upgrade --without-new-pkgs -y

「保留されました」というパッケージが出ても、この段階では正常です。

7. 本アップグレード

bash
apt full-upgrade -y

途中で設定ファイルの差分(.dpkg-distなど)について聞かれることがあります。基本的にはメンテナ版を維持するか、自分の変更を残すか確認しながら進めてください(Apache/MySQL/PHP関連の設定は特に注意)。

8. 不要パッケージの削除と再起動

bash
apt autoremove -y
apt autoclean
reboot

9. 再起動後の確認

bash
cat /etc/debian_version    # 13.x になっているはず
php -v                     # 標準でPHP 8.4系になっているはず
lsb_release -a

10. アプリ側の再セットアップ

bash
cd /home/hiroppy123/schedule_manager
php -v
composer install
php artisan optimize:clear

MySQLについては、公式リポジトリにもmariadb-serverはあるはずなので:

bash
apt install mariadb-server

注意点

  • RabbitMQを使っている場合はbookworm→trixieの直接アップグレードに対応していないので、事前に別対応が必要です。 Debian
  • MariaDBのメジャーバージョンアップグレードは、クリーンシャットダウン後でないと確実に動作しないことがあります。 Debian
  • リモート(SSH)でアップグレードしている場合、接続が切れることがあるので、tmuxscreenの中で作業することを強く推奨します。 LinuxConfig

進めてみて、途中でエラーが出たら貼ってください。一緒に見ていきます。

今のブラウザでの状況を教えてください——例えば「真っ白なページが出る」「エラーメッセージが出る」「そもそもURLにアクセスできない」など、実際に何が起きているかで対応が変わります。

ローカルのWordPress環境は今どんな状態ですか?先程の、phpコードが、そのまま、ひょうじされ、つまり、アパッチや、PHPの設定が、必要ですか?、

その症状は典型的な「PHPが実行されずソースコードがそのまま出力されている」状態です。原因はだいたい以下のどれかです。

まず教えてください

  1. どうやってアクセスしましたか?
  • ブラウザのアドレスバーに file:///home/.../wp-login.php のように直接パスを入力した → これが原因です(PHPはWebサーバー経由でないと実行されません)
  • http://localhost/...http://IPアドレス/... でアクセスした → サーバー側の設定問題です
  1. Webサーバー(Apache)は起動していますか?
bash
systemctl status apache2
  1. PHPモジュールはApacheに読み込まれていますか?
bash
apache2ctl -M | grep php

何も出なければ、これが直接の原因です。


想定される原因と対処

ケースA: file://で直接開いている

ブラウザURLバーがfile://から始まっている場合、必ずhttp://localhost/...のようにApache経由でアクセスし直してください。

ケースB: mod_phpが有効になっていない

今回Debian 13にアップグレードした際、PHPが8.2→8.4に上がったので、Apacheに紐づくlibapache2-mod-phpが更新後もPHP8.4用に正しく設定されていない可能性が高いです。

bash
# 現在有効なPHPモジュールを確認
apache2ctl -M | grep php

# PHP8.4のApacheモジュールをインストール
sudo apt install libapache2-mod-php8.4

# 有効化して再起動
sudo a2enmod php8.4
sudo systemctl restart apache2

ケースC: WordPressをファイルとしてどこに置いているか

bash
# ドキュメントルート配下にwp-login.phpを含むWordPress一式があるか確認
ls /var/www/html/
cat /etc/apache2/sites-enabled/000-default.conf | grep DocumentRoot

WordPress本体が正しいドキュメントルートに置かれていないと、Apache経由でも見つけられません。


まずは systemctl status apache2apache2ctl -M | grep php の結果、そしてブラウザのアドレスバーに実際に何と入力しているか教えてもらえますか?それで原因を絞り込みます。

0 件のコメント: