同じGNOMEデスクトップで、Debian13もFedora44もUIは、そっくりです、
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
手順
- 必要なパッケージを準備
sudo apt update
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 curl
- Sury GPGキーを追加
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sury-php.gpg
- リポジトリを追加
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
- パッケージリストを更新して確認
sudo apt update
apt policy php
packages.sury.org/php bookworm/main からPHP 8.4系が候補として出てくるはずです。
- PHP 8.4とスクリプトが必要とする拡張をインストール
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が失敗していたのはこのリポジトリが未追加だったためです)
- CLIのデフォルトを8.4に切り替え(複数バージョン共存時)
sudo update-alternatives --set php /usr/bin/php8.4
php -v
mysql-serverについて
mysql-serverはDebian公式には無く(MariaDBが標準です)、代わりに以下のどちらかを使ってください:
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. 事前準備・バックアップ
# 念のためユーザーで実行(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. 現在のシステムを完全に最新化
apt update
apt upgrade -y
apt full-upgrade -y
apt autoremove -y
ここで保留パッケージがないか確認してから進めます。
3. ディスク容量の確認
/bootに十分な空き(目安1GB以上)、ルートに5GB以上の空きがあることを確認してください。
df -h
4. sources.list を bookworm → trixie に書き換え
# ファイルの中身を確認
cat /etc/apt/sources.list
ls /etc/apt/sources.list.d/
/etc/apt/sources.list(または.sources形式のDEB822ファイル)内のbookwormをすべてtrixieに置換します。
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が残っていると競合の可能性があります)。
rm -f /etc/apt/sources.list.d/sury-php.list
5. パッケージ一覧の更新
apt update
ここでエラーが出ないか確認してください。
6. 最小限のアップグレード(依存関係の衝突回避)
apt upgrade --without-new-pkgs -y
「保留されました」というパッケージが出ても、この段階では正常です。
7. 本アップグレード
apt full-upgrade -y
途中で設定ファイルの差分(.dpkg-distなど)について聞かれることがあります。基本的にはメンテナ版を維持するか、自分の変更を残すか確認しながら進めてください(Apache/MySQL/PHP関連の設定は特に注意)。
8. 不要パッケージの削除と再起動
apt autoremove -y
apt autoclean
reboot
9. 再起動後の確認
cat /etc/debian_version # 13.x になっているはず
php -v # 標準でPHP 8.4系になっているはず
lsb_release -a
10. アプリ側の再セットアップ
cd /home/hiroppy123/schedule_manager
php -v
composer install
php artisan optimize:clear
MySQLについては、公式リポジトリにもmariadb-serverはあるはずなので:
apt install mariadb-server
注意点
- RabbitMQを使っている場合はbookworm→trixieの直接アップグレードに対応していないので、事前に別対応が必要です。 Debian
- MariaDBのメジャーバージョンアップグレードは、クリーンシャットダウン後でないと確実に動作しないことがあります。 Debian
- リモート(SSH)でアップグレードしている場合、接続が切れることがあるので、
tmuxやscreenの中で作業することを強く推奨します。 LinuxConfig
進めてみて、途中でエラーが出たら貼ってください。一緒に見ていきます。
今のブラウザでの状況を教えてください——例えば「真っ白なページが出る」「エラーメッセージが出る」「そもそもURLにアクセスできない」など、実際に何が起きているかで対応が変わります。
その症状は典型的な「PHPが実行されずソースコードがそのまま出力されている」状態です。原因はだいたい以下のどれかです。
まず教えてください
- どうやってアクセスしましたか?
- ブラウザのアドレスバーに
file:///home/.../wp-login.phpのように直接パスを入力した → これが原因です(PHPはWebサーバー経由でないと実行されません) http://localhost/...やhttp://IPアドレス/...でアクセスした → サーバー側の設定問題です
- Webサーバー(Apache)は起動していますか?
systemctl status apache2
- PHPモジュールはApacheに読み込まれていますか?
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用に正しく設定されていない可能性が高いです。
# 現在有効な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をファイルとしてどこに置いているか
# ドキュメントルート配下にwp-login.phpを含むWordPress一式があるか確認
ls /var/www/html/
cat /etc/apache2/sites-enabled/000-default.conf | grep DocumentRoot
WordPress本体が正しいドキュメントルートに置かれていないと、Apache経由でも見つけられません。
まずは systemctl status apache2 と apache2ctl -M | grep php の結果、そしてブラウザのアドレスバーに実際に何と入力しているか教えてもらえますか?それで原因を絞り込みます。

0 件のコメント:
コメントを投稿