既知のPHPの制限

PHP エージェントの多くの制限は、New Relic の目的と機能に依存するものです。ただし、修正過程にある既知のバグのものもあります。

注: 他の New Relic エージェントと同様に、使える機能は New Relic のサブスクリプションレベルよって異なります。

目次

PHP の制限

ここでは PHP エージェントが現在サポートしていない New Relic の機能の一覧を示します。これらはの「設計による」課題であり、将来のバージョンで解決する予定でいます。

New Relic の機能 PHP エージェントがサポートしていない機能
アプリケーションのパフォーマンス X-Ray セッション
計測 ガーベッジコレクション (GC) の計測
その他の機能 キャパシティプランニング

未解決の問題

以下はバグではない未解決の問題です。今後のアップデートで変更および改善される可能性があります。

32 ビット SmartOS
SmartOS 32ビットの仮想マシンでは、デーモンはメトリックを報告できません。support.newrelic.com でサポートを受けてください。

エージェントのアップグレードに Webサーバー及びデーモンの再起動を必要とする問題

PHP エージェントのアップグレード後は、Web​​ディスパッチャー(Apache、nginx、PHP/FPM 等)と PHP デーモンの両方を再起動する必要があります。これにより、現在実行中のデーモンが、現在実行中のエージェントと同じバージョンであることを保証します。詳細については、トラブルシューティングの手順を参照してください。

Drupal ページキャッシュ

Drupalのいくつかのバージョンでは、キャッシュページの圧縮は、デフォルトでオンになっています。 匿名ユーザー用のキャッシュページを選択している場合は、New Relicのページ読み込みタイミング用のJavaScriptは、匿名ユーザーが表示するページには埋め込まれません。New Relic PHP エージェントは、このHTMLを解析する機会がありません。この状況では、手動計測によって、匿名ユーザーのデータをキャプチャしてください。

Mac OS X の newrelic-daemon init スクリプト

New Relic PHP エージェントがサポートする他の OS とは異なり、Mac OS X は標準の /etc/init.d/newrelic-daemon の init スクリプトを使いません。代わりに、それと同じ方法で /usr/bin/newrelic-daemon-service スクリプトを使用します。

/usr/bin/newrelic-daemon-service restart
pcntl_fork
PHPの pcntl_fork 機能はサポート対象外です。PHPのエージェント内のトランザクション用のデータ構造が重複して、不正確な結果やトランザクションデータの欠落がおこります。推奨: 可能な場合、shell_exec を使って、新しく PHP プロセスを生成などで代替してください。

SUSE

SUSESUSE と openSUSE Linux には、PHP エージェントの機能の一部と非互換性の カスタマイズした PHPバージョンがあります。ページの読み込みタイミング(リアルユーザー監視やRUMとも呼ばれる)の自動計測を無効にすることで、非互換性を軽減します。

自動計測を無効にするには、newrelic.ini ファイルに newrelic.browser_monitoring.auto_instrument = falseを設定します。そして、webserver/PHP コンテナと New Relic PHP デーモンの両方を再起動します。ページ読み込みタイミングを利用するには、アプリケーションの手動計測が使えます。

XDebug

PHPエージェントは、PHPのエラー処理機構をフックしているため、現在PHPエージェントは、Xdebug 拡張モジュールと衝突しています。推奨: PHP エージェントと Xdebug 拡張モジュールを一緒に使用しないでください。