Php 启动xdebug内部代码?
我知道启动Xdebug的以下方法:Php 启动xdebug内部代码?,php,debugging,xdebug,Php,Debugging,Xdebug,我知道启动Xdebug的以下方法: ?url中的XDEBUG\u SESSION\u START=name php.ini中的xdebug.remote\u autostart=On -dxdebug.remote_autostart=On作为PHP二进制调用的参数 但是我不知道如何在代码内部启动xdebug,是否有类似于xdebug\u start()和xdebug\u stop()的函数?这是一个ini设置,因此您可以执行以下操作: ini_set('xdebug.profiler_enab
?url中的XDEBUG\u SESSION\u START=name
php.ini中的xdebug.remote\u autostart=On
-dxdebug.remote_autostart=On
作为PHP二进制调用的参数
但是我不知道如何在代码内部启动xdebug,是否有类似于
xdebug\u start()
和xdebug\u stop()
的函数?这是一个ini设置,因此您可以执行以下操作:
ini_set('xdebug.profiler_enable', 1);
void xdebug_enable()启用堆栈跟踪
void xdebug_disable()禁用堆栈跟踪
同样来自手册:xdebug\u start\u code\u coverage
,xdebug\u get\u code\u coverage
<?php
xdebug_start_code_coverage();
function a($a) {
echo $a * 2.5;
}
function b($count) {
for ($i = 0; $i < $count; $i++) {
a($i + 0.17);
}
}
b(6);
b(10);
var_dump(xdebug_get_code_coverage());
?>
为了在PHP代码中启动调试,而不是在启动时,您需要在
PHP.ini
中设置xdebug.remote\u mode=jit
。然后,当您调用xdebug\u break
时,调试会话将启动。此ini设置不起作用:“无法在脚本中使用ini\u set()设置此设置。”
<?php
xdebug_start_code_coverage();
function a($a) {
echo $a * 2.5;
}
function b($count) {
for ($i = 0; $i < $count; $i++) {
a($i + 0.17);
}
}
b(6);
b(10);
var_dump(xdebug_get_code_coverage());
?>