123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- ##########################################################
- # .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 ...
- ##########################################################
|