この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2025年09月04日(木)
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 8.1) および 2026 年末 (PHP 8.2) に完全にサポートが終了します。これらのリリースシリーズでは、重大なセキュリティ修正のみが PHP メンテナンスにより提供されます。 アプリケーションを PHP 8.3 または PHP 8.4 に更新することをお勧めします。 PHP リリースのサポートタイムラインの詳細は、公式 PHP Web サイトのサポート対象バージョンページを参照してください。
利用可能なバージョン
次の表に、各スタックのビルドで利用可能なランタイムバージョンの一覧を示します。
| ランタイム/シリーズ | heroku-22 |
heroku-24 |
|---|---|---|
| PHP 8.1 | 8.1.33 | - |
| PHP 8.2 | 8.2.29 | 8.2.29 |
| PHP 8.3 | 8.3.25 | 8.3.25 |
| PHP 8.4 | 8.4.12 | 8.4.12 |
黄色のテキストと背景でマークアップされている行は、上流の保守担当からセキュリティアップデートのみ受け取っている PHP リリースシリーズを示しています。赤色のテキストと背景でマークアップされている行は、サポートが完全に終了し、上流の保守担当からいかなる種類のアップデートも受け取っておらず、Heroku によるサポートが終了している PHP リリースシリーズを示しています。
デフォルトランタイム
composer.json を使用しないアプリケーション、またはどの依存パッケージにも composer.lock に php パッケージの要件が含まれていないアプリケーションは、最新バージョンの PHP を取得します。
拡張機能
利用可能な組み込み拡張機能
PHP にバンドルされている次の組み込み拡張機能は、記載されているリリースシリーズで使用できます。✔ は拡張機能がデフォルトで読み込まれることを意味し、✱ は明示的に拡張機能を composer.json 経由で有効化する必要があることを意味します。
| 拡張機能 | 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-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 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
|---|---|---|---|---|
ext-amqp (1.x) |
1.11.0 | 1.11.0[2] | - | - |
ext-amqp (2.x) |
2.1.2 | 2.1.2 | 2.1.2 | 2.1.2 |
ext-apcu |
5.1.27 | 5.1.27 | 5.1.27 | 5.1.27 |
ext-blackfire |
1.92.42 | 1.92.42 | 1.92.42 | 1.92.42 |
ext-ev |
1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 |
ext-event |
3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 |
ext-grpc |
1.74.0 | 1.74.0 | 1.74.0 | 1.74.0 |
ext-imagick |
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 |
ext-mongodb (1.x) |
1.21.1 | 1.21.1 | 1.21.1 | 1.21.1 |
ext-mongodb (2.x) |
2.1.1 | 2.1.1 | 2.1.1 | 2.1.1 |
ext-newrelic (9.x) |
9.21.0.311 | - | - | - |
ext-newrelic (10.x) |
10.22.0.12 | 10.22.0.12 | 10.22.0.12 | - |
ext-newrelic (11.x) |
11.10.0.24 | 11.10.0.24 | 11.10.0.24 | 11.10.0.24 |
ext-newrelic (12.x) |
12.0.0.25 | 12.0.0.25 | 12.0.0.25 | 12.0.0.25 |
ext-oauth |
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 |
ext-phalcon |
5.9.3 | 5.9.3 | 5.9.3 | 5.9.3 |
ext-pq |
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 |
ext-raphf |
2.0.2 | 2.0.2 | 2.0.2 | 2.0.2 |
ext-rdkafka |
6.0.5 | 6.0.5 | 6.0.5 | 6.0.5 |
ext-redis (5.x) |
5.3.7 | 5.3.7[2] | - | - |
ext-redis (6.x) |
6.2.0 | 6.2.0 | 6.2.0 | 6.2.0 |
ext-uuid |
1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 |
[1]: この拡張機能は heroku-22 スタックでは利用できません。[2]: この拡張機能は heroku-24 スタックでは利用できません。
|
||||
黄色のテキストと背景でマークアップされている列は、上流の保守担当からセキュリティアップデートのみ受け取っている PHP リリースシリーズを示しています。赤色のテキストと背景でマークアップされている列は、サポートが完全に終了し、上流の保守担当からいかなる種類のアップデートも受け取っておらず、Heroku によるサポートが終了している PHP リリースシリーズを示しています。
オプションの拡張機能の使用
オプションの拡張機能の使用については、「PHP 拡張機能の管理」を参照してください。
Composer
使用可能な Composer バージョン
次の Composer バージョンが利用できます。
| Composer / シリーズ | heroku-22 |
heroku-24 |
|---|---|---|
| Composer 2 LTS | 2.2.25 | 2.2.25 |
| Composer 2.x | 2.8.11 | 2.8.11 |
Composer 2.2 は、Composer の長期サポート (LTS) シリーズであり、Composer 2.0、2.1、または 2.2 で生成されたロックファイルを使用したアプリケーションのビルドに使用されます。
Web サーバー
利用可能な Web サーバー
次の Web サーバーのバージョンがサポートされており、ビルド中に自動的にインストールされます。
| Web サーバー / シリーズ | heroku-22 |
heroku-24 |
|---|---|---|
| Apache 2.x | 2.4.65 | 2.4.65 |
| Nginx 1.x | 1.28.0 | 1.28.0 |
動作
Heroku が PHP アプリケーションを処理する方法についての詳細は、「Heroku PHP の動作」を参照してください。
カスタマーサポート
Heroku サポートチャネルのいずれかを通じて問題を報告できます。