########################################################## # .phpdbginit # # Lines starting with # are ignored # Code must start and end with <: and :> respectively ########################################################## # Place initialization commands one per line ########################################################## # exec sapi/phpdbg/test.php # set color prompt white-bold # set color notice green # set color error red ########################################################## # Embedding code in .phpdbginit ########################################################## <: /* * This embedded PHP is executed at init time */ /* * Functions defined and registered by init * will persist across cleans */ /* function my_debugging_function() { var_dump(func_get_args()); } */ /* phpdbg_break(PHPDBG_METHOD, "phpdbg::method"); */ /* phpdbg_break(PHPDBG_FUNC, "my_global_function"); */ /* phpdbg_break(PHPDBG_FILE, "/path/to/file.php:10"); */ /* If readline is loaded, you might want to setup completion: */ if (function_exists('readline_completion_function')) { readline_completion_function(function(){ return array_merge( get_defined_functions()['user'], array_keys(get_defined_constants()) ); }); } /* Setting argv made trivial ... argv 1 2 3 4 ^ set argv for next execution argv ^ unset argv for next execution */ function argv() { $argv = func_get_args(); if (!$argv) { $_SERVER['argv'] = array(); $_SERVER['argc'] = 0; return; } $_SERVER['argv'] = array_merge ( array("phpdbg"), $argv ); $_SERVER['argc'] = count($_SERVER['argv']); return $_SERVER['argv']; } :> ########################################################## # Now carry on initializing phpdbg ... ########################################################## # R my_debugging_function # R argv ########################################################## # PHP has many functions that might be useful # ... you choose ... ########################################################## # R touch # R unlink # R scandir # R glob ########################################################## # Remember: *you have access to the shell* ########################################################## # The output of registered function calls is not, # by default, very pretty (unless you implement # and register a new implementation for phpdbg) # The output of shell commands will usually be more # readable on the console ########################################################## # TLDR; if you have a good shell, use it ... ##########################################################