Here is an example of how to programmatically add a breakpoint based on a condition:
<?php
$blah = 'meh';
if ($blah !== 'blah') {
phpdbg_break_file('blah.php', 6);
}
$blah = 'blah';
echo $blah;
?>
OUTPUT when running the debugger (using ev to evaluate the value of $blah after each step):
C:\path\to\dir>phpdbg -e blah.php
[Welcome to phpdbg, the interactive PHP debugger, v8.1.6]
To get help using phpdbg type "help" and press enter
[Please report bugs to <http://bugs.php.net/report.php>]
[Successful compilation of C:\path\to\dir\blah.php]
prompt> run
[Breakpoint #0 added at C:\path\to\dir\blah.php:6]
[Breakpoint #0 at C:\path\to\dir\blah.php:6, hits: 1]
>00006: $blah = 'blah';
00007: echo $blah;
00008: ?>
prompt> ev $blah
meh
prompt> step
>00007: echo $blah;
00008: ?>
prompt> ev $blah
blah
prompt> step
blah>00008: ?>
prompt> step
[Script ended normally]