This documentation is for the PHP tracer v1.x. If you are looking for the PHP tracer v0.x documentation, see the legacy PHP Compatibility Requirements documentation.

PHP APM のランタイムサポートポリシー

PHP Datadog Trace ライブラリはオープンソースです。詳細については、GitHub リポジトリをご覧ください。

Datadog APM for PHP は、ホスト OS や PHP ランタイム、特定の PHP ライブラリ、 Datadog Agent や API の特定のバージョンで定義される依存関係に基づいて構築されています。 これらのバージョンがメンテナによってサポートされなくなった場合、 Datadog APM for PHP はこれらのサポートにも制限をかけます。

サポートレベル

レベルサポート内容
非対応実装していません。特別なご要望はカスタマーサポートチームにお問い合わせください
ベータ版初期実装です。まだすべての機能が含まれていない可能性があります。新機能のサポート、バグやセキュリティの修正は、ベストエフォートで提供されます。
一般提供 (GA)全機能の完全実装。新機能、バグ、セキュリティフィックスを完全サポート。
メンテナンス既存機能の完全実装。新機能は受けません。バグフィックス、セキュリティフィックスのみの対応となります。
レガシーレガシーな実装。機能は限定されますが、メンテナンスは提供されません。[特別なご要望がある場合は、サポートチームにお問い合わせください。
サポート終了 (EOL)サポートなし。このバージョンはまだ使用可能ですが、バグ修正は提供されません。

PHP APM supports the following PHP versions (both ZTS and NTS):

Note: PHP 5.x is not supported starting version 1.0.0. If you are using PHP 5, you can still use the PHP tracer up to version 0.99.
If you are using PHP 5.x version in your application and have a feature request which is critical for your business needs, contact Datadog Support.
It's recommended to use officially supported versions of PHP, especially 8.0+.
PHP バージョンサポートレベルパッケージバージョン
8.3.x一般提供> 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.xEOL< 1.0.0
5.5.xEOL< 1.0.0
5.4.xEOL< 1.0.0

PHP APM は以下の SAPI に対応しています。

SAPIサポートの種類
apache2handlerサポートされているすべての PHP バージョン
cliサポートされているすべての PHP バージョン
fpm-fcgiサポートされているすべての PHP バージョン
cgi-fcgiサポートされているすべての PHP バージョン
FrankenPHPサポートされているすべての PHP バージョン

対応プロセッサアーキテクチャー

PHP APM は以下のアーキテクチャに対応しています。

プロセッサアーキテクチャーサポートレベルパッケージバージョンサポートの種類
Linux GNU amd64 (x86-64-linux-gnu)GAAllサポートされているすべての PHP バージョン
Linux MUSL amd64 (x86-64-linux-musl)GAAllサポートされているすべての 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.0PHP 7.2+

インテグレーション

Web フレームワークの互換性

Datadog はデフォルトで、すべての PHP Web フレームワークをサポートし、フレームワークレベルのインスツルメンテーション、または一般的な Web トレースを行うことができます。

フレームワークレベルのインスツルメンテーションには、内部メソッドのトレースとフレームワーク固有のタグ付けが含まれます。

一般的な Web トレースには、データベースや HTTP クライアントなどのサポートされたライブラリのスパンに加えて、コールから発生したレイテンシーやエラーを追跡するための web.request スパンが含まれています。

次の表は、Datadog が正常にトレースするフレームワークとバージョンの一部を示しています。

ウェブフレームワーク:

モジュールバージョンサポートの種類インスツルメンテーションレベル
CakePHP2.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
CodeIgniter2.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
CodeIgniter3.xサポートされているすべての PHP バージョン一般的な Web トレース
Drupalサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
FuelPHP1.1サポートされているすべての PHP バージョン一般的な Web トレース
Laminasサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Laravel4.2、5.x、6.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Laravel 8+8.x, 9.x, 10.x, 11.x (tracer 0.52.0+)サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Lumen5.2+サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Magento1サポートされているすべての PHP バージョン一般的な Web トレース
Magento2サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Neos Flow1.1サポートされているすべての PHP バージョン一般的な Web トレース
Phalcon1.3、3.4サポートされているすべての PHP バージョン一般的な Web トレース
RoadRunner2.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Slim2.x、3.x、4.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Symfony2.x, 3.3, 3.4, 4.x, 5.x, 6.x, 7.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
WordPress4.x、5.x、6.xサポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Yii1.1、2.0サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Zend Framework1.12, 1.21サポートされているすべての PHP バージョンフレームワークレベルのインスツルメンテーション
Zend Framework2.xサポートされているすべての PHP バージョン一般的な Web トレース

このリストにウェブフレームワークがない場合でも、トレーサーの最新リリースではそのまま使用できます。

Datadog is continuously adding more support for in-depth tracing for PHP web-frameworks. To request support for additional span metadata and framework internals, contact our awesome support team.

CLI ライブラリの互換性

デフォルトで、CLI SAPI からのトレースは無効になっています。PHP CLI スクリプトのトレースを有効にするには、DD_TRACE_CLI_ENABLED=true とします。

モジュールバージョンサポートの種類
CakePHP Console2.xサポートされているすべての PHP バージョン
Laravel Artisan5.x、8.x、9.x、10.xサポートされているすべての PHP バージョン
Symfony CLI4.x、5.x、6.xサポートされているすべての PHP バージョン

追加 CLI ライブラリに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。

データストアの互換性

モジュールバージョンサポートの種類
Amazon RDS (PDO または MySQLi 使用)(対応する PHP)サポートされているすべての PHP バージョン
Elasticsearch1+サポートされているすべての PHP バージョン
EloquentLaravel 対応バージョンサポートされているすべての PHP バージョン
Laravel QueuesLaravel 対応バージョンサポートされているすべての PHP バージョン
Memcache(対応する PHP)サポートされているすべての PHP バージョン
Memcached(対応する PHP)サポートされているすべての PHP バージョン
MongoDB - mongo 拡張機能を使用1.4.xサポートされているすべての PHP バージョン
MySQLi(対応する PHP)サポートされているすべての PHP バージョン
PDO(対応する PHP)サポートされているすべての PHP バージョン
PhpRedis3、4、5サポートされているすべての PHP バージョン
Predis1.1サポートされているすべての PHP バージョン
SQLSRV(対応する PHP)サポートされているすべての PHP バージョン

追加データストアに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。

ライブラリの互換性

モジュールバージョンサポートの種類
php-amqplib2.x、3.xPHP 7.1+
Curl(対応する PHP)サポートされているすべての PHP バージョン
Guzzle5.x, 6.x, 7.xサポートされているすべての PHP バージョン
Laravel QueueLaravel 対応バージョンサポートされているすべての PHP バージョン
OpenAIOpenAI supported versionsサポートされているすべての PHP バージョン

ライブラリに関するサポートをご希望の場合は、サポートチームまでお気軽にお問い合わせください。

PHP 5 の深いコールスタック

コールスタックは PHP 5 のみに限定されます。詳細は深いコールスタックのトラブルシューティングページを参照してください。

ジェネレータ

ジェネレータのインスツルメントは、PHP 5 および PHP 7 ではサポートされていません。

PCNTL

Datadog supports tracing forked processes using pcntl. When a call to pcntl_fork is detected, a dedicated span is created, and the forked process is instrumented. This can be disabled with DD_TRACE_FORKED_PROCESS. Refer to the library configuration page for more details.

アプリケーションが pcntl_unshare(CLONE_NEWUSER); を実行し、トレーサーがインストールされている場合、アプリケーションは致命的にクラッシュします。これは、CLONE_NEWUSER を持つ unshare がプロセスをスレッド化しないことを要求し、PHP トレーサーが別スレッドを使用してメインプロセスをブロックせずに Datadog Agent にトレースを送信するために起こります。

その他の参考資料

お役に立つドキュメント、リンクや記事:

PREVIEWING: may/unit-testing