- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
PHP는 사실상 무한한 호출 스택을 지원합니다. 그러나 Zend 엔진에서 제공하는 함수 호출 후크 zend_execute_ex
(PHP 5.4에서 zend_execute
로 이름 지정)는 기본 C 스택을 사용하여 PHP 메서드와 함수를 호출합니다. 이는 PHP의 호출 스택이 더 깊어지면 스택 오버플로를 일으킬 수 있습니다.
ddtrace 버전 0.48.0
부터 PHP 트레이서 프로그램은 PHP 5의 zend_execute_ex
후크를 사용합니다. PHP 트레이서 프로그램은 호출 스택이 512
프레임 깊이에 도달하면 경고를 표시합니다. 환경 변수 DD_TRACE_WARN_CALL_STACK_DEPTH=0
을 설정하여 이 경고를 비활성화할 수 있습니다.
깊은 호출 스택이 있는 PHP 애플리케이션을 수용하려면 호스트 시스템에서 스택 크기 제한을 조정합니다. 기존 스택 크기를 보려면 다음을 실행하세요.
ulimit -s
예를 들어 기존 스택 크기가 8192
면 새 스택 크기를 16384
로 설정하여 두 배로 늘릴 수 있습니다.
sudo ulimit -s 16384