xdebug - リモートログ時間エラー

xdebug - リモートログ時間エラー

xdebugログ時間が常に2時間早くなることを確認しました。たとえば、今は午前9時15分ですが、ログは午前7時15分に作成されたと言われています。

ターミナルで実行するとdate午前9時15分になります。

答え1

現在の状況に対するあなたの意見に基づいて、Thu Aug 1 15:13:26 CEST 2019私の理論はxdebugログがCESTより2時間速いUTCで実行(またはログ)されることです。残念ながら、タイムゾーンは出力の一部ではないようです。これにより、実際の時間の相互参照があいまいになります。

私が一つ見つけたスタックオーバーフローポストdate.timezone値を希望の時間帯に設定すると言われています。また、次のように言います。

ファイル(php.ini)の末尾にxdebug拡張子をロードするのが最善です。

これphp.iniコマンドのリスト表示されるデフォルト値はdate.timezone空で、UTCに置き換えることができます。

CEST有効な値ではないため、次の地域を選択することをお勧めします。有効なPHPヨーロッパのタイムゾーンのリスト(または場合によっては南極大陸またはアフリカ)。詳細については、次を参照してください。PHPがサポートするフルタイムゾーンのリスト

答え2

date.timezone設定php.iniしてxdebug.iniロードしても実行されません。

私のXdebugログ(Xdebug 3ではもう「リモートログ」と呼ばれていません)はまだUTC時間を表示します。 Xdebugソースコードを編集して再コンパイルする以外に、この設定を変更する方法を見つけることができません。 Xdebugのソースコードには時間を現地時間に変換する内容がないので、これが唯一の方法かもしれません。

バラより私の電卓の答え詳細は私自身の質問です。しかし、ここに要点があります。

私がしなければならなかったのは、196回の行の近くで関数をにgmtime()変更することだけでした。localtime()src/lib/timing.cchar* xdebug_nanotime_to_chars

これはうまくいきますが、タイムゾーンコードをログに印刷したいと思います。

そのためにはより多くの変化を与えなければなりませんでした。タイムゾーン文字列を返す関数を作成し、その関数をsrc/lib/log.c同じファイル()のログを開く/閉じる関数に追加しました。

関連情報