ホームページ  >  に質問  >  本文

PHP バージョン 8.1 にロールバックする方法: Docker phpdockerio/php:8.1-fpm ビルドは PHP バージョン 8.2 を使用します

私は PHP-FPM Docker コンテナーでプロジェクトを実行しています (構成ファイルの詳細は以下を参照)。コンテナを構築して Composer を実行しようとすると、PHP 拡張機能が見つからないことを報告するエラーが表示されます。ただし、私のビルド ファイルはこれらの拡張機能をカバーしていると思います (下記の docker/php-fpm/Dockerfile を参照)。

コンテナはデフォルト バージョンとして php8.2 で構築されていることがわかりました。シンボリックリンクを変更してデフォルトのバージョンをphp8.1に戻すことはできましたが、これは正しい解決策ではないようです。誰かがより良い解決策を提案できますか?

コンテナが 8.2 を実行していることを確認するにはどうすればよいですか: コンテナ内で php --version を実行すると、次の結果が得られます:

リーリー

その後、どのphpが私に与えてくれました:

リーリー

/etc/alternatives にリンクされている PHP バイナリへのシンボリックリンクをたどりました:

リーリー

これは私には正しくないようです。それらを 8.1 バージョンに再リンクすることができ、すべてが正常に動作しているように見えますが、コンテナーを再構築するとどうなりますか?

私のファイルの詳細:

docker-compose.yml

リーリー

docker-compose.override.yml

リーリー

docker/php-fpm/Dockerfile

リーリー


P粉757640504P粉757640504372日前762

全員に返信(1)返信します

  • P粉418854048

    P粉4188540482023-11-06 09:14:25

    これは、私がロードしていた拡張機能が原因であることが判明しました。 docker/php-fpm/Dockerfile に php-xdebug をインストールしました。これにより、コンテナーが PHP8.2

    をロードしました。

    バージョン 8.1 を指定してくださいphp8.1-xdebug問題は解決しました。

    GitHub での私の質問に答えてくれた luispabon に感謝します。彼は画像に問題があるに違いないと考えました。 https://github.com/phpdocker-io/base-images/issues/ 62

    返事
    0
  • キャンセル返事