Untuk menjejaki susunan pelaksanaan fungsi PHP: Pasang dan konfigurasikan sambungan xdebug. Tambahkan tanda @ pada fungsi yang anda ingin jejak. Lihat fail trace.xdebug yang dijana dalam direktori output yang ditentukan, yang mengandungi laporan terperinci tentang urutan panggilan fungsi, parameter dan tempoh pelaksanaan.
Cara menjejaki tertib pelaksanaan fungsi PHP
Menjejaki tertib pelaksanaan fungsi PHP berguna semasa menyahpepijat dan memahami logik kod. Oleh kerana PHP ditaip secara longgar dan membenarkan panggilan dinamik, kadangkala sukar untuk mengesan aliran pelaksanaan secara manual.
Menggunakan sambungan xdebug kita boleh mengesan susunan pelaksanaan fungsi dengan mudah dan melihat hujah sebenar yang diserahkan kepada mereka.
Pasang dan konfigurasikan xdebug
sudo apt install php-xdebug
(Ubuntu) atau pecl install xdebug
(sistem lain)sudo apt install php-xdebug
(Ubuntu) 或 pecl install xdebug
(其他系统)zend_extension=xdebug.so
xdebug.trace_output_dir = /tmp
触发跟踪
要触发跟踪,可以在要跟踪的函数上附加 @
符号,如下所示:
function foo() { echo "This is foo\n"; } function bar() { echo "This is bar\n"; } function main() { // 跟踪 foo 和 bar 的执行 @foo(); @bar(); }
查看跟踪
触发跟踪后,您可以在指定的输出目录 (/tmp
在示例中) 中找到一个 trace.xdebug
文件。这个文件包含一个详细的报告,列出了函数调用的顺序、传递给它们的实际参数以及每个函数的执行持续时间。
实战案例
假设您有一个复杂的代码,其中函数 A 调用函数 B,函数 B 又调用函数 C。您想查看函数的执行顺序以及传递给每个函数的参数。
通过将 @
符号添加到函数调用上,您可以触发 xdebug 跟踪。查看 trace.xdebug
文件,您将看到以下输出:
[21] -> /path/to/file.php [22] >> function main() { [24] -> /path/to/file.php:25 [25] >> function A() { [...]
输出显示了函数执行的顺序,从 main
开始到 A
Dayakannya dalam php.ini: zend_extension=xdebug.so
xdebug.trace_output_dir = /tmp
🎜🎜Trigger tracing🎜🎜🎜Untuk mencetuskan tracing, anda boleh menambahkan simbol @
pada fungsi yang ingin anda kesan, seperti ini: 🎜rrreee🎜🎜Lihat jejak🎜🎜 🎜Pencetus Selepas mengesan, anda boleh menemui fail trace.xdebug
dalam direktori output yang ditentukan (/tmp
dalam contoh). Fail ini mengandungi laporan terperinci yang menyenaraikan susunan panggilan fungsi, hujah sebenar yang diserahkan kepada mereka, dan tempoh pelaksanaan setiap fungsi. 🎜🎜🎜Kes Praktikal🎜🎜🎜Andaikan anda mempunyai kod kompleks di mana fungsi A memanggil fungsi B, yang seterusnya memanggil fungsi C. Anda ingin melihat susunan fungsi dilaksanakan dan hujah yang dihantar kepada setiap fungsi. 🎜🎜Anda boleh mencetuskan pengesanan xdebug dengan menambahkan simbol @
pada panggilan fungsi. Melihat pada fail trace.xdebug
, anda akan melihat output berikut: 🎜rrreee🎜Output menunjukkan susunan fungsi dilaksanakan, bermula dengan utama
dan berakhir dengan Panggilan A
. Anda juga boleh melihat parameter yang dihantar kepada setiap fungsi. 🎜Atas ialah kandungan terperinci Bagaimana untuk menjejaki perintah pelaksanaan fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!