Heroku の PHP サポートリファレンス
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2025年04月23日(水)
Heroku は、Laravel や Symfony などの一般的なフレームワークで構築された PHP アプリケーションを含む、あらゆる PHP アプリケーションをサポートしています。
サンプル PHP アプリをデプロイする方法については、「Heroku スターターガイド (PHP)」チュートリアルを参照してください。Laravel 専用のチュートリアルについては、「Heroku スターターガイド (Laravel)」を参照してください。
PHP ランタイム
Heroku では、公式 PHP ランタイムを使用してご使用のアプリケーションを実行できます。PHP ランタイムについての詳細は、「Heroku での PHP の動作」および「PHP ランタイムの指定」を参照してください。
サポートされているバージョン
Heroku の PHP サポートは、PHP 8.1、PHP 8.2、PHP 8.3、PHP 8.4 シリーズの利用可能な最新リリースを使用するアプリケーションにまで及びます。
Heroku プラットフォームにおける PHP リリースシリーズのサポートは、PHP グループのサポートポリシーに従います。通常、このサポートとは、x.y.0 の最初のバージョンから 2 年間のアクティブアップデートと、その後 1 年間のセキュリティアップデートを意味します。
PHP リリースシリーズのサポートが終了すると、そのバージョンは Heroku でサポートされなくなります。ただし、最新リリースは引き続きビルド用に利用可能であり、顧客はアプリケーションを新しい PHP バージョンにアップグレードできます。
PHP 8.1 および PHP 8.2 はセキュリティのみのメンテナンスモードであり、2025 年末に完全にサポート終了となります。これらのリリースシリーズでは、重大なセキュリティ修正のみが PHP メンテナンスにより提供されます。 アプリケーションを PHP 8.3 または PHP 8.4 に更新することをお勧めします。 PHP リリースのサポートタイムラインの詳細は、公式 PHP Web サイトのサポート対象バージョンページを参照してください。
利用可能なバージョン
次の表に、各スタックのビルドで利用可能なランタイムバージョンの一覧を示します。
PHP 7 および PHP 8.0 はサポートが終了しています。PHP メンテナンスは、これらのバージョンシリーズに対して、重大なセキュリティ修正を含むバグ修正を提供していません。また、Heroku もこれらのリリースを使用するアプリケーションに対するサポートを提供していません。 アプリケーションを PHP 8.3 または PHP 8.4 に更新することをお勧めします。 PHP リリースのサポートタイムラインの詳細は、公式 PHP Web サイトのサポート対象バージョンページを参照してください。
Herokuプラットフォームの Fir 世代で利用可能な PHP の最新バージョンは 8.3.13
です。
ランタイム/シリーズ | heroku-20 |
heroku-22 |
heroku-24 |
---|---|---|---|
PHP 7.3 | 7.3.33 | - | - |
PHP 7.4 | 7.4.33 | - | - |
PHP 8.0 | 8.0.30 | - | - |
PHP 8.1 | 8.1.32 | 8.1.32 | - |
PHP 8.2 | 8.2.28 | 8.2.28 | 8.2.28 |
PHP 8.3 | 8.3.20 | 8.3.20 | 8.3.20 |
PHP 8.4 | - | 8.4.6 | 8.4.6 |
黄色のテキストと背景でマークアップされている行は、上流の保守担当からセキュリティアップデートのみ受け取っている PHP リリースシリーズを示しています。赤色のテキストと背景でマークアップされている行は、サポートが完全に終了し、上流の保守担当からいかなる種類のアップデートも受け取っておらず、Heroku によるサポートが終了している PHP リリースシリーズを示しています。
デフォルトランタイム
composer.json
を使用しないアプリケーション、または composer.lock
に依存パッケージの php
パッケージの要件が含まれていないアプリケーションは、heroku-20
スタックでは PHP 7 または PHP 8 の最新バージョンが選択され、その他のスタックでは PHP 8 が選択されます。
拡張機能
利用可能な組み込み拡張機能
PHP にバンドルされている次の組み込み拡張機能は、記載されているリリースシリーズで使用できます。✔ は拡張機能がデフォルトで読み込まれることを意味し、✱ は明示的に拡張機能を composer.json
経由で有効化する必要があることを意味します。
拡張機能 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
---|---|---|---|---|---|---|---|
ext-bcmath |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-bz2 |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-calendar |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-ctype |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-curl |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-date |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-dom |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-exif |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-fileinfo |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-filter |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-ftp |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-gd |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-gettext |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-gmp |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-hash |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-iconv |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-imap |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | - |
ext-intl |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-json |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-ldap |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-libxml |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-mbstring |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-mysqli |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-mysqlnd |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-openssl |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-pcntl |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-pcre |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-pdo |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-pdo_mysql |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-pdo_pgsql |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-pdo_sqlite |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-pgsql |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-phar |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-posix |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-random |
- | - | - | - | ✔ | ✔ | ✔ |
ext-readline |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-reflection |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-session |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-shmop |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-simplexml |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-soap |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-sockets |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-sodium |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-spl |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-sqlite3 |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-tokenizer |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-xml |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-xmlreader |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-xmlrpc |
✔ | ✱ | - | - | - | - | - |
ext-xmlwriter |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-xsl |
✔ | ✱ | ✱ | ✱ | ✱ | ✱ | ✱ |
ext-zend-opcache |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-zip |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ext-zlib |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
✔: デフォルトで有効化される ✱: オプション。 composer.json 経由で有効化できる |
黄色のテキストと背景でマークアップされている列は、上流の保守担当からセキュリティアップデートのみ受け取っている PHP リリースシリーズを示しています。赤色のテキストと背景でマークアップされている列は、サポートが完全に終了し、上流の保守担当からいかなる種類のアップデートも受け取っておらず、Heroku によるサポートが終了している PHP リリースシリーズを示しています。
利用可能なサードパーティ拡張機能
次の表に、PHP の各リリースで利用できるサードパーティ拡張機能の一覧を示します。これらの拡張機能は PHP ランタイムとは別々に配布されているため、これらのバージョンも一覧で示しています。これらはデフォルトでは読み込まれないため、明示的に composer.json
経由で有効化する必要があります。
現在、ext-blackfire
および ext-newrelic
拡張機能は Fir 世代の Heroku プラットフォームではサポートされていません。
拡張機能 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
---|---|---|---|---|---|---|---|
ext-amqp (1.x) |
1.11.0 | 1.11.0 | 1.11.0 | 1.11.0 | 1.11.0[3] | - | - |
ext-amqp (2.x) |
- | - | 2.1.2 | 2.1.2 | 2.1.2 | 2.1.2 | 2.1.2 |
ext-apcu |
5.1.24 | 5.1.24 | 5.1.24 | 5.1.24 | 5.1.24 | 5.1.24 | 5.1.24 |
ext-blackfire |
1.92.32 | 1.92.32 | 1.92.32 | 1.92.32 | 1.92.32 | 1.92.32 | 1.92.32 |
ext-cassandra |
1.3.2 | - | - | - | - | - | - |
ext-ev |
1.1.5 | 1.1.5 | 1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 |
ext-event (2.x) |
2.5.7 | 2.5.7 | - | - | - | - | - |
ext-event (3.x) |
3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 |
ext-grpc |
- | - | - | 1.71.0[1] | 1.71.0[1] | 1.71.0[1] | 1.71.0 |
ext-imagick |
3.8.0 | 3.8.0 | 3.8.0 | 3.8.0 | 3.8.0 | 3.8.0 | 3.8.0 |
ext-imap |
- | - | - | - | - | - | 1.0.3 |
ext-memcached |
3.3.0 | 3.3.0 | 3.3.0 | 3.3.0 | 3.3.0 | 3.3.0 | 3.3.0 |
ext-mongodb (1.x) |
1.16.2 | 1.20.1 | 1.20.1 | 1.21.0 | 1.21.0 | 1.21.0 | 1.21.0 |
ext-mongodb (2.x) |
- | - | - | 2.0.0 | 2.0.0 | 2.0.0 | 2.0.0 |
ext-newrelic (9.x) |
9.21.0.311 | 9.21.0.311 | 9.21.0.311 | 9.21.0.311 | - | - | - |
ext-newrelic (10.x) |
10.22.0.12 | 10.22.0.12 | 10.22.0.12 | 10.22.0.12 | 10.22.0.12 | 10.22.0.12 | - |
ext-newrelic (11.x) |
11.7.0.21 | 11.7.0.21 | 11.7.0.21 | 11.7.0.21 | 11.7.0.21 | 11.7.0.21 | 11.7.0.21 |
ext-oauth |
2.0.9 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.9 | 2.0.9 |
ext-pcov |
1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 |
ext-phalcon (4.x) |
4.1.3 | 4.1.3 | - | - | - | - | - |
ext-phalcon (5.x) |
- | 5.4.0 | 5.8.0 | 5.9.2 | 5.9.2 | 5.9.2 | 5.9.2 |
ext-pq |
2.2.3 | 2.2.3 | 2.2.3 | 2.2.3 | 2.2.3 | 2.2.3 | 2.2.3 |
ext-psr |
1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 |
ext-raphf |
2.0.1 | 2.0.1 | 2.0.1 | 2.0.1 | 2.0.1 | 2.0.1 | 2.0.1 |
ext-rdkafka (4.x) |
4.1.2 | 4.1.2 | - | - | - | - | - |
ext-rdkafka (5.x) |
5.0.2 | 5.0.2 | 5.0.2 | 5.0.2[2] | - | - | - |
ext-rdkafka (6.x) |
6.0.5 | 6.0.5 | 6.0.5 | 6.0.5 | 6.0.5 | 6.0.5 | 6.0.5 |
ext-redis (5.x) |
5.3.7 | 5.3.7 | 5.3.7 | 5.3.7 | 5.3.7[3] | - | - |
ext-redis (6.x) |
6.0.2 | 6.2.0 | 6.2.0 | 6.2.0 | 6.2.0 | 6.2.0 | 6.2.0 |
ext-uuid |
1.2.1 | 1.2.1 | 1.2.1 | 1.2.1 | 1.2.1 | 1.2.1 | 1.2.1 |
[1]: この拡張機能は heroku-20 スタックでは利用できません。[2]: この拡張機能は heroku-22 スタックでは利用できません。[3]: この拡張機能は heroku-24 スタックでは利用できません。
|
黄色のテキストと背景でマークアップされている列は、上流の保守担当からセキュリティアップデートのみ受け取っている PHP リリースシリーズを示しています。赤色のテキストと背景でマークアップされている列は、サポートが完全に終了し、上流の保守担当からいかなる種類のアップデートも受け取っておらず、Heroku によるサポートが終了している PHP リリースシリーズを示しています。
オプションの拡張機能の使用
オプションの拡張機能の使用については、「PHP 拡張機能の管理」を参照してください。
Composer
使用可能な Composer バージョン
次の Composer バージョンが利用できます。
Composer / シリーズ | heroku-20 |
heroku-22 |
heroku-24 |
---|---|---|---|
Composer 1.x | 1.10.27 | - | - |
Composer 2 LTS | 2.2.25 | 2.2.25 | 2.2.25 |
Composer 2.x | 2.8.8 | 2.8.8 | 2.8.8 |
Composer 2.2 は、Composer の長期サポート (LTS) シリーズであり、Composer 2.0、2.1、または 2.2 で生成されたロックファイルを使用したアプリケーションのビルドに使用されます。
Web サーバー
利用可能な Web サーバー
Heroku プラットフォームの Fir 世代は Nginx をサポートしていません。
次の Web サーバーのバージョンがサポートされており、ビルド中に自動的にインストールされます。
Web サーバー / シリーズ | heroku-20 |
heroku-22 |
heroku-24 |
---|---|---|---|
Apache 2.x | 2.4.63 | 2.4.63 | 2.4.63 |
Nginx 1.x | 1.26.3 | 1.26.3 | 1.26.3 |
動作
Heroku が PHP アプリケーションを処理する方法についての詳細は、「Heroku PHP の動作」を参照してください。
カスタマーサポート
Heroku サポートチャネルのいずれかを通じて問題を報告できます。