このドキュメントは PHP tracer v0.x 用です。PHP tracer v1.x のドキュメントをお探しの場合は、最新の
PHP 互換性要件 のドキュメントをご覧ください。
PHP APM のランタイムサポートポリシー
PHP Datadog Trace ライブラリはオープンソースです。詳細については、GitHub リポジトリをご覧ください。
Datadog APM for PHP は、ホスト OS や PHP ランタイム、特定の PHP ライブラリ、 Datadog Agent や API の特定のバージョンで定義される依存関係に基づいて構築されています。
これらのバージョンがメンテナによってサポートされなくなった場合、 Datadog APM for PHP はこれらのサポートにも制限をかけます。
サポートレベル
| レベル | サポート内容 |
|---|
| 非対応 | 実装していません。特別なご要望はカスタマーサポートチームにお問い合わせください。 |
| プレビュー | 初期実装です。まだすべての機能が含まれていない可能性があります。新機能のサポート、バグやセキュリティの修正は、ベストエフォートで提供されます。 |
| 一般提供 (GA) | 全機能の完全実装。新機能、バグ、セキュリティフィックスを完全サポート。 |
| メンテナンス | 既存機能の完全実装。新機能は受けません。バグフィックス、セキュリティフィックスのみの対応となります。 |
| レガシー | レガシーな実装。機能は限定されますが、メンテナンスは提供されません。[特別なご要望がある場合は、サポートチームにお問い合わせください。 |
| サポート終了 (EOL) | サポートなし。このバージョンはまだ使用可能ですが、バグ修正は提供されません。 |
PHP APM は次の PHP バージョン (ZTS と NTS の両方) をサポートしています:
注:
PHP 5.x はバージョン 0.75.0 まで完全にサポートされています。現在はメンテナンスモードに移行しており、2023 年 12 月 31 日までセキュリティや重要なバグの修正でサポートされています。
もし、アプリケーションで PHP 5.x バージョンを使用していて、ビジネスニーズにとって重要な機能要求がある場合は、
Datadog サポートにご連絡ください。
PHP は公式にサポートされているバージョン、特に 7.4、8.0、8.1 を使用することが推奨されています。
| PHP バージョン | サポートレベル | パッケージバージョン |
|---|
| 8.3.x | プレビュー (正式な PHP リリースまで) | > 0.93.0+ |
| 8.2.x | 一般提供 | > 0.82.0+ |
| 8.1.x | 一般提供 | > 0.66.0+ |
| 8.0.x | 一般提供 | > 0.52.0+ |
| 7.4.x | 一般提供 | All |
| 7.3.x | 一般提供 | All |
| 7.2.x | 一般提供 | All |
| 7.1.x | 一般提供 | All |
| 7.0.x | 一般提供 | All |
| 5.6.x | メンテナンス (2023 年 12 月 31 日まで) | All |
| 5.5.x | メンテナンス (2023 年 12 月 31 日まで) | All |
| 5.4.x | メンテナンス (2023 年 12 月 31 日まで) | All |
PHP APM は以下の SAPI に対応しています。
| SAPI | サポートの種類 |
|---|
| apache2handler | 完全対応 |
| cli | 完全対応 |
| fpm-fcgi | 完全対応 |
| cgi-fcgi | 完全対応 |
対応プロセッサアーキテクチャー
PHP APM は以下のアーキテクチャに対応しています。
| プロセッサアーキテクチャー | サポートレベル | パッケージバージョン | サポートの種類 |
|---|
Linux GNU amd64 (x86-64-linux-gnu) | GA | All | サポートされているすべての PHP バージョン |
Linux MUSL amd64 (x86-64-linux-musl) | GA | All | サポートされているすべての PHP バージョン |
Linux GNU arm64 (aarch64-linux-gnu) | GA | > 0.78.0 | サポートされているすべての PHP バージョン |
Linux MUSL arm64 (aarch64-linux-musl) | GA | > 0.78.0 | サポートされているすべての PHP バージョン |
Windows amd64 (x86_64-windows) | GA | > 0.98.0 | PHP 7.20 |
インテグレーション
Web フレームワークの互換性
Datadog はデフォルトで、すべての PHP Web フレームワークをサポートし、フレームワークレベルのインスツルメンテーション、または一般的な Web トレースを行うことができます。
フレームワークレベルのインスツルメンテーションには、内部メソッドのトレースとフレームワーク固有のタグ付けが含まれます。
一般的な Web トレースには、データベースや HTTP クライアントなどのサポートされたライブラリのスパンに加えて、コールから発生したレイテンシーやエラーを追跡するための web.request スパンが含まれています。
次の表は、Datadog が正常にトレースするフレームワークとバージョンの一部を示しています。
ウェブフレームワーク:
| モジュール | バージョン | サポートの種類 | インスツルメンテーションレベル |
|---|
| CakePHP | 2.x, 3.x, 4.x, 5.x | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| CodeIgniter | 2.x、3.x | PHP 7+ | フレームワークレベルのインスツルメンテーション |
| Drupal | | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| FuelPHP | 1.1 | PHP 7+ | 一般的な Web トレース |
| Laminas | | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| Laravel | 4.2、5.x、6.x | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| Laravel 8+ | 8.x, 9.x, 10.x, 11.x (tracer 0.52.0+) | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| Lumen | 5.2+ | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| Magento | 1 | サポートされているすべての PHP バージョン | 一般的な Web トレース |
| Magento | 2 | PHP 7+ | フレームワークレベルのインスツルメンテーション |
| Neos Flow | 1.1 | サポートされているすべての PHP バージョン | 一般的な Web トレース |
| Phalcon | 1.3、3.4 | サポートされているすべての PHP バージョン | 一般的な Web トレース |
| RoadRunner | 2.x | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| Slim | 2.x、3.x、4.x | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| Symfony | 2.x, 3.3, 3.4, 4.x, 5.x, 6.x, 7.x | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| WordPress | 4.x、5.x、6.x | PHP 7+ | フレームワークレベルのインスツルメンテーション |
| Yii | 1.1、2.0 | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| Zend Framework | 1.12, 1.21 | サポートされているすべての PHP バージョン | フレームワークレベルのインスツルメンテーション |
| Zend Framework | 2.x | サポートされているすべての PHP バージョン | 一般的な Web トレース |
このリストにウェブフレームワークがない場合でも、トレーサーの最新リリースではそのまま使用できます。
Datadog は PHP Web フレームワーク用の詳細なトレーシング サポートを継続的に追加しています。追加のスパン メタデータやフレームワーク内部のサポートをリクエストする場合は、当社の素晴らしい サポート チーム までご連絡ください。
CLI ライブラリの互換性
デフォルトで、CLI SAPI からのトレースは無効になっています。PHP CLI スクリプトのトレースを有効にするには、DD_TRACE_CLI_ENABLED=true とします。
| モジュール | バージョン | サポートの種類 |
|---|
| CakePHP Console | 2.x | 完全対応 |
| Laravel Artisan | 5.x、8.x、9.x、10.x | 完全対応 |
| Symfony CLI | 4.x、5.x、6.x | 完全対応 |
追加 CLI ライブラリに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。
データストアの互換性
| モジュール | バージョン | サポートの種類 |
|---|
| Amazon RDS (PDO または MySQLi 使用) | (対応する PHP) | 完全対応 |
| Elasticsearch | 1+ | 完全対応 |
| Eloquent | Laravel 対応バージョン | 完全対応 |
| Laravel Queues | Laravel 対応バージョン | 完全対応 |
| Memcache | (対応する PHP) | 完全対応 |
| Memcached | (対応する PHP) | 完全対応 |
| MongoDB - [mongo][4] 拡張機能を使用 | 1.4.x | 完全対応 |
| MySQLi | (対応する PHP) | 完全対応 |
| PDO | (対応する PHP) | 完全対応 |
| PhpRedis | 3、4、5 | PHP 7、8 |
| Predis | 1.1 | 完全対応 |
| SQLSRV | (対応する PHP) | 完全対応 |
追加データストアに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。
ライブラリの互換性
| モジュール | バージョン | サポートの種類 |
|---|
| [php-amqplib][10] | 2.x、3.x | PHP 7.1+ |
| Curl | (対応する PHP) | 完全対応 |
| Guzzle | 5.x, 6.x, 7.x | 完全対応 |
ライブラリに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。
PHP 5 の深いコールスタック
コールスタックは PHP 5 のみに限定されます。詳細は[深いコールスタックのトラブルシューティングページ][5]を参照してください。
ジェネレータ
[ジェネレータ][6]のインスツルメントは、PHP 5 および PHP 7 ではサポートされていません。
PCNTL
Datadog は [pcntl][7] を使用したフォーク プロセスのトレーシングをサポートしています。pcntl_fork の呼び出しを検出すると、専用のスパンが作成され、フォーク プロセスがインスツルメントされます。これは DD_TRACE_FORKED_PROCESS で無効化できます。詳細は [ライブラリ設定ページ][9] を参照してください。
アプリケーションが pcntl_unshare(CLONE_NEWUSER); を実行し、トレーサーがインストールされている場合、アプリケーションは致命的にクラッシュします。これは、CLONE_NEWUSER を持つ unshare がプロセスを[スレッド化しない][8]ことを要求し、PHP トレーサーが別スレッドを使用してメインプロセスをブロックせずに Datadog Agent にトレースを送信するために起こります。
その他の参考資料