본 문서는 PHP 트레이서 v0.x용 지침입니다. PHP 트레이서 v1.x 문서를 찾고 있으시다면 최신 PHP 호환성 요구 사항 문서를 참조하세요.

PHP 애플리케이션 성능 모니터링(APM)용 런타임 지원 정책

PHP Datadog 트레이스 라이브러리는 오픈 소스입니다. 자세한 내용은 GitHub 리포지토리를 참조하세요.

PHP용 Datadog 애플리케이션 성능 모니터링(APM)의 경우 호스트 운영 체제, PHP 런타임, 특정 PHP 라이브러리 , Datadog 에이전트 또는 API에 정의된 종속성을 기반으로 구축됩니다,. 유지 관리자가 해당 버전을 더 이상 지원하지 않는 경우 PHP용 Datadog 애플리케이션 성능 모니터링(APM)은 해당 버전에 대한 지원도 제한합니다.

지원 레벨

레벨제공 지원
지원되지 않음구현 불가. 특별 요청의 경우 고객 지원 팀에 문의하세요.
미리 보기구현 초기 단계입니다. 아직 모든 기능이 포함되지 않을 수도 있습니다. 새로운 기능, 버그 및 보안 수정에 관하여 최대한 지원해 드립니다.
일반 가용성 (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일반 가용성전체
7.3.x일반 가용성전체
7.2.x일반 가용성전체
7.1.x일반 가용성전체
7.0.x일반 가용성전체
5.6.x유지 관리 (2023년 12월 31일까지)전체
5.5.x유지 관리 (2023년 12월 31일까지)전체
5.4.x유지 관리 (2023년 12월 31일까지)전체

PHP 애플리케이션 성능 모니터링(APM)은 다음 SAPI를 지원합니다.

SAPI지원 유형
apache2handler완벽 지원
cli완벽 지원
fpm-fcgi완벽 지원
cgi-fcgi완벽 지원

지원되는 프로세서 아키텍처

PHP 애플리케이션 성능 모니터링(APM)은 다음 아키텍처를 지원합니다.

프로세서 아키텍처지원 레벨패키지 버전지원 유형
Linux GNU amd64 (x86-64-linux-gnu)GA전체지원되는 모든 PHP 버전
Linux MUSL amd64 (x86-64-linux-musl)GA전체지원되는 모든 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+

통합

웹 프레임워크 호환성

기본적으로 Datadog은 프레임워크 레벨 계측 또는 일반 웹 추적 기능을 통해 모든 PHP 웹 프레임워크를 즉시 지원합니다.

프레임워크 레벨 계측에는 내부 메서드 및 프레임워크별 태깅 추적이 포함됩니다.

일반 웹 추적에는 지원 라이브러리에 대한 스팬과 호출에서 발생한 레이턴시 및 오류를 추적하는 web.request 스팬(예: 데이터베이스 및 HTTP 클라이언트)이 포함됩니다.

다음 표에서 Datadog이 추적하는 일부 프레임워크와 버전을 확인할 수 있습니다.

웹 프레임워크:

모듈버전지원 유형계측 레벨
CakePHP2.x, 3.x, 4.x, 5.x지원되는 모든 PHP 버전프레임워크 레벨 계측
CodeIgniter2.x, 3.xPHP 7+프레임워크 레벨 계측
Drupal지원되는 모든 PHP 버전프레임워크 레벨 계측
FuelPHP1.1PHP 7+일반 웹 추적
Laminas지원되는 모든 PHP 버전프레임워크 레벨 계측
Laravel4.2, 5.x, 6.x지원되는 모든 PHP 버전프레임워크 레벨 계측
Laravel 8+8.x, 9.x, 10.x, 11.x (트레이서 0.52.0+)지원되는 모든 PHP 버전프레임워크 레벨 계측
Lumen5.2+지원되는 모든 PHP 버전프레임워크 레벨 계측
Magento1지원되는 모든 PHP 버전일반 웹 추적
Magento2PHP 7+프레임워크 레벨 계측
Neos Flow1.1지원되는 모든 PHP 버전일반 웹 추적
Phalcon1.3, 3.4지원되는 모든 PHP 버전일반 웹 추적
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.xPHP 7+프레임워크 레벨 계측
Yii1.1, 2.0지원되는 모든 PHP 버전프레임워크 레벨 계측
Zend Framework1.12, 1.21지원되는 모든 PHP 버전프레임워크 레벨 계측
Zend Framework2.x지원되는 모든 PHP 버전일반 웹 추적

본 목록에 웹 프레임워크가 없더라도 최신 버전의 트레이서에서는 기본적으로 지원됩니다.

Datadog은 PHP 웹 프레임워크 심층 추적에 관한 지원을 지속적으로 추가하고 있습니다. 추가 스팬(span) 메타데이터 및 내부 프레임워크에 대한 지원을 요청하려면 지원 팀에 문의하세요.

CLI 라이브러리 호환성

CLI SAPI에서의 추적은 기본값으로 비활성화되어 있습니다. PHP CLI 스크립트 추적을 활성화하려면 DD_TRACE_CLI_ENABLED=true을 설정하세요.

모듈버전지원 유형
CakePHP Console2.x완벽 지원
Laravel Artisan5.x, 8.x, 9.x, 10.x완벽 지원
Symfony CLI4.x, 5.x, 6.x완벽 지원

추가 CLI 라이브러리에 대한 지원을 요청하려면 지원 팀에 문의하세요.

데이터스토어 호환성

모듈버전지원 유형
Amazon RDS (PDO 또는 MySQLi 사용)(지원되는 모든 PHP)완벽 지원
Elasticsearch1+완벽 지원
EloquentLaravel 지원 버전완벽 지원
Laravel QueuesLaravel 지원 버전완벽 지원
Memcache(지원되는 모든 PHP)완벽 지원
Memcached(지원되는 모든 PHP)완벽 지원
MongoDB - [mongo][4] 확장자를 통해1.4.x완벽 지원
MySQLi(지원되는 모든 PHP)완벽 지원
PDO(지원되는 모든 PHP)완벽 지원
PhpRedis3, 4, 5PHP 7, 8
Predis1.1완벽 지원
SQLSRV(지원되는 모든 PHP)완벽 지원

추가 데이터스토어에 대한 지원을 요청하려면 지원 팀에 문의하세요.

라이브러리 호환성

모듈버전지원 유형
[php-amqplib][10]2.x, 3.xPHP 7.1+
Curl(지원되는 모든 PHP)완벽 지원
Guzzle5.x, 6.x, 7.x완벽 지원

추가 라이브러리에 대한 지원을 요청하려면 지원 팀에 문의하세요.

PHP 5의 깊은 호출 스택

콜 스택은 PHP 5에서 제한됩니다. 자세한 내용은 [심층 콜 스택 트러블슈팅 페이지][5]를 참조하세요.

Generators

[제너레이터][6] 계측은 PHP 5 및 PHP 7에서 지원되지 않습니다.

PCNTL

Datadog은 [pcntl][7]을 사용하여 포크(fork) 프로세스 추적을 지원합니다. pcntl_fork로의 호출이 감지되면 전용 스팬(span)이 생성되고 포크 프로세스가 계측됩니다. DD_TRACE_FORKED_PROCESS으로 비활성화할 수 있습니다. 자세한 내용은 [라이브러리 설정 페이지][9]를 참조하세요.

애플리케이션이 pcntl_unshare(CLONE_NEWUSER);을 호출하고 트레이서가 설치되면 애플리케이션이 심각하게 충돌합니다. CLONE_NEWUSER을 사용하는 unshare에는 프로세스가 [스레드되지 않아야 하지만][8] PHP 트레이서는 별도의 스레드를 사용하여 메인 프로세스를 차단하지 않고 Datadog 에이전트로 트레이스를 전송하기 때문에 발생합니다.

참고 자료

추가 유용한 문서, 링크 및 기사:

PREVIEWING: sabrenner/llmobs-proxy-service-quickstart-guide