制限事項
OpenTelemetry PHP Distro の既知の制限事項と制約。
このページでは、OpenTelemetry PHP Distro の既知の制限事項と制約について説明します。
他の PHP テレメトリーエージェントとの併用
OpenTelemetry PHP Distro を、他の PHP APM や OpenTelemetry エージェントと同じプロセス内で同時に実行しないでください。 両方を実行すると、競合、重複した計装、不安定な動作の原因になります。
open_basedir
php.ini で open_basedir が有効な場合、distro のインストールパスを許可されたパスに含める必要があります。
含めない場合、エージェントの読み込みに失敗する可能性があります。
xdebug
xdebug との併用は本番環境では推奨されず、計装されたプロセスで安定性やメモリの問題を引き起こす可能性があります。
ファイルベース設定(OTEL_CONFIG_FILE)
ファイルベース(宣言的)設定を使用する場合:
- リモート設定(OpAMP)は利用できません。 ファイルベース設定とリモート設定は相互に排他的です。
Registry::registerResourceDetector()で登録されたリソースディテクター(たとえばopentelemetry-php-contribのクラウドプロバイダーディテクター)は自動的には有効になりません。ComponentProviderを提供し、YAML のresource.detection/development.detectorsセクションに明示的にリストする必要があります。- distro には
telemetry.distro.nameとtelemetry.distro.version属性のためのビルトインdistroディテクターが付属しています。 使い方については設定を参照してください。 - YAML ファイル内の環境変数の置換(
${VAR_NAME})は、値の読み取りに$_SERVERを使用します。 ウェブサーバーコンテキスト(Apache、nginx+FPM)では、プロセス環境変数は自動的に$_SERVERで利用可能にはなりません。 YAML 設定で${VAR_NAME}置換を使用するには、変数が PHP に公開されていることを確認してください:- Apache (mod_php): バーチャルホスト設定で
PassEnv VAR_NAMEまたはSetEnv VAR_NAME valueを使用してください。 - PHP-FPM: FPM プール設定で
env[VAR_NAME] = valueを設定するか、clear_env = noを設定してすべてのプロセス環境変数を渡してください。 - または、
${VAR_NAME}置換を使用するかわりに、YAML ファイルに値を直接ハードコードしてください。
- Apache (mod_php): バーチャルホスト設定で
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!