View Issue Details

IDProjectCategoryView StatusLast Update
0001891XdebugUncategorizedpublic2020-11-22 15:32
Reporterllaville Assigned Toderick  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Product Version3.0.0RC1 
Fixed in Version3.0.0 
Summary0001891: xdebug.extended_info setting still present
Description

Hello,

I've noticed that xdebug.extended_info setting is still present while it was removed in 2.x versions

See

TagsNo tags attached.
Operating System
PHP Version8.0-dev

Activities

derick

2020-11-21 10:00

administrator   ~0005540

No, the setting is really gone. The line that you refer to has an INI update handler (https://github.com/xdebug/xdebug/blob/3.0.0RC1/xdebug.c#L187), that only throws an warning:


"The setting '%s' has been removed, see the upgrading guide at %supgrade_guide#changed-%s",

Which when filled in, points to the documentation explaining that it has been removed.

llaville

2020-11-21 10:18

reporter   ~0005541

Strange because with a docker version of php 8.0 with phunit 3.0

PHP 8.0.1-dev (cli) (built: Nov 20 2020 18:25:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.1-dev, Copyright (c), by Zend Technologies
    with Xdebug v3.0.0RC2-dev, Copyright (c) 2002-2020, by Derick Rethans

When I invoke following command php --re xdebug I got this output

Extension [ <persistent> extension #69 xdebug version 3.0.0RC2-dev ] {

  - INI {
    Entry [ xdebug.mode <SYSTEM> ]
      Current = 'develop'
    }
    Entry [ xdebug.start_with_request <PERDIR,SYSTEM> ]
      Current = 'default'
    }
    Entry [ xdebug.start_upon_error <PERDIR,SYSTEM> ]
      Current = 'default'
    }
    Entry [ xdebug.output_dir <ALL> ]
      Current = '/tmp'
    }
    Entry [ xdebug.trigger_value <PERDIR,SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.file_link_format <ALL> ]
      Current = ''
    }
    Entry [ xdebug.filename_format <ALL> ]
      Current = ''
    }
    Entry [ xdebug.log <ALL> ]
      Current = ''
    }
    Entry [ xdebug.log_level <ALL> ]
      Current = '7'
    }
    Entry [ xdebug.var_display_max_children <ALL> ]
      Current = '128'
    }
    Entry [ xdebug.var_display_max_data <ALL> ]
      Current = '512'
    }
    Entry [ xdebug.var_display_max_depth <ALL> ]
      Current = '3'
    }
    Entry [ xdebug.max_nesting_level <ALL> ]
      Current = '256'
    }
    Entry [ xdebug.cli_color <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.force_display_errors <SYSTEM> ]
      Current = '0'
    }
    Entry [ xdebug.force_error_reporting <SYSTEM> ]
      Current = '0'
    }
    Entry [ xdebug.halt_level <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.max_stack_frames <ALL> ]
      Current = '-1'
    }
    Entry [ xdebug.show_error_trace <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.show_exception_trace <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.show_local_vars <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.dump.COOKIE <ALL> ]
      Current = ''
    }
    Entry [ xdebug.dump.ENV <ALL> ]
      Current = ''
    }
    Entry [ xdebug.dump.FILES <ALL> ]
      Current = ''
    }
    Entry [ xdebug.dump.GET <ALL> ]
      Current = ''
    }
    Entry [ xdebug.dump.POST <ALL> ]
      Current = ''
    }
    Entry [ xdebug.dump.REQUEST <ALL> ]
      Current = ''
    }
    Entry [ xdebug.dump.SERVER <ALL> ]
      Current = ''
    }
    Entry [ xdebug.dump.SESSION <ALL> ]
      Current = ''
    }
    Entry [ xdebug.dump_globals <ALL> ]
      Current = '1'
    }
    Entry [ xdebug.dump_once <ALL> ]
      Current = '1'
    }
    Entry [ xdebug.dump_undefined <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.profiler_output_name <PERDIR,SYSTEM> ]
      Current = 'cachegrind.out.%p'
    }
    Entry [ xdebug.profiler_append <PERDIR,SYSTEM> ]
      Current = '0'
    }
    Entry [ xdebug.cloud_id <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.client_host <ALL> ]
      Current = 'localhost'
    }
    Entry [ xdebug.client_port <ALL> ]
      Current = '9003'
    }
    Entry [ xdebug.discover_client_host <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.client_discovery_header <ALL> ]
      Current = ''
    }
    Entry [ xdebug.idekey <ALL> ]
      Current = ''
    }
    Entry [ xdebug.connect_timeout_ms <ALL> ]
      Current = '200'
    }
    Entry [ xdebug.scream <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.gc_stats_output_name <PERDIR,SYSTEM> ]
      Current = 'gcstats.%p'
    }
    Entry [ xdebug.trace_output_name <ALL> ]
      Current = 'trace.%c'
    }
    Entry [ xdebug.trace_format <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.trace_options <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.collect_assignments <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.collect_return <ALL> ]
      Current = '0'
    }
    Entry [ xdebug.auto_trace <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.collect_includes <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.collect_params <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.collect_vars <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.coverage_enable <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.default_enable <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.extended_info <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.gc_stats_enable <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.gc_stats_output_dir <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.overload_var_dump <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.profiler_enable <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.profiler_enable_trigger <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.profiler_enable_trigger_value <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.profiler_output_dir <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_autostart <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_connect_back <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_enable <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_handler <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_host <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_log <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_log_level <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_mode <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_port <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.remote_timeout <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.show_mem_delta <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.trace_output_dir <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.trace_enable_trigger <SYSTEM> ]
      Current = ''
    }
    Entry [ xdebug.trace_enable_trigger_value <SYSTEM> ]
      Current = ''
    }
  }

  - Constants [8] {
    Constant [ int XDEBUG_STACK_NO_DESC ] { 1 }
    Constant [ int XDEBUG_FILTER_TRACING ] { 256 }
    Constant [ int XDEBUG_FILTER_CODE_COVERAGE ] { 512 }
    Constant [ int XDEBUG_FILTER_NONE ] { 0 }
    Constant [ int XDEBUG_PATH_INCLUDE ] { 1 }
    Constant [ int XDEBUG_PATH_EXCLUDE ] { 2 }
    Constant [ int XDEBUG_NAMESPACE_INCLUDE ] { 17 }
    Constant [ int XDEBUG_NAMESPACE_EXCLUDE ] { 18 }
  }

  - Functions {
    Function [ <internal:xdebug> function xdebug_break ] {

      - Parameters [0] {
      }
      - Return [ bool ]
    }
    Function [ <internal:xdebug> function xdebug_call_class ] {

      - Parameters [1] {
        Parameter #0 [ <optional> int $depth = 2 ]
      }
    }
    Function [ <internal:xdebug> function xdebug_call_file ] {

      - Parameters [1] {
        Parameter #0 [ <optional> int $depth = 2 ]
      }
    }
    Function [ <internal:xdebug> function xdebug_call_function ] {

      - Parameters [1] {
        Parameter #0 [ <optional> int $depth = 2 ]
      }
    }
    Function [ <internal:xdebug> function xdebug_call_line ] {

      - Parameters [1] {
        Parameter #0 [ <optional> int $depth = 2 ]
      }
    }
    Function [ <internal:xdebug> function xdebug_code_coverage_started ] {

      - Parameters [0] {
      }
      - Return [ bool ]
    }
    Function [ <internal:xdebug> function xdebug_debug_zval ] {

      - Parameters [1] {
        Parameter #0 [ <optional> string ...$varname ]
      }
    }
    Function [ <internal:xdebug> function xdebug_debug_zval_stdout ] {

      - Parameters [1] {
        Parameter #0 [ <optional> string ...$varname ]
      }
    }
    Function [ <internal:xdebug> function xdebug_dump_superglobals ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:xdebug> function xdebug_get_code_coverage ] {

      - Parameters [0] {
      }
      - Return [ array ]
    }
    Function [ <internal:xdebug> function xdebug_get_collected_errors ] {

      - Parameters [1] {
        Parameter #0 [ <optional> bool $emptyList = false ]
      }
      - Return [ array ]
    }
    Function [ <internal:xdebug> function xdebug_get_function_count ] {

      - Parameters [0] {
      }
      - Return [ int ]
    }
    Function [ <internal:xdebug> function xdebug_get_function_stack ] {

      - Parameters [0] {
      }
      - Return [ array ]
    }
    Function [ <internal:xdebug> function xdebug_get_gc_run_count ] {

      - Parameters [0] {
      }
      - Return [ int ]
    }
    Function [ <internal:xdebug> function xdebug_get_gc_total_collected_roots ] {

      - Parameters [0] {
      }
      - Return [ int ]
    }
    Function [ <internal:xdebug> function xdebug_get_gcstats_filename ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:xdebug> function xdebug_get_headers ] {

      - Parameters [0] {
      }
      - Return [ array ]
    }
    Function [ <internal:xdebug> function xdebug_get_monitored_functions ] {

      - Parameters [0] {
      }
      - Return [ array ]
    }
    Function [ <internal:xdebug> function xdebug_get_profiler_filename ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:xdebug> function xdebug_get_stack_depth ] {

      - Parameters [0] {
      }
      - Return [ int ]
    }
    Function [ <internal:xdebug> function xdebug_get_tracefile_name ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:xdebug> function xdebug_info ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:xdebug> function xdebug_is_debugger_active ] {

      - Parameters [0] {
      }
      - Return [ bool ]
    }
    Function [ <internal:xdebug> function xdebug_memory_usage ] {

      - Parameters [0] {
      }
      - Return [ int ]
    }
    Function [ <internal:xdebug> function xdebug_peak_memory_usage ] {

      - Parameters [0] {
      }
      - Return [ int ]
    }
    Function [ <internal:xdebug> function xdebug_print_function_stack ] {

      - Parameters [2] {
        Parameter #0 [ <optional> string $message = "user triggered" ]
        Parameter #1 [ <optional> int $options = 0 ]
      }
    }
    Function [ <internal:xdebug> function xdebug_set_filter ] {

      - Parameters [3] {
        Parameter #0 [ <required> int $group ]
        Parameter #1 [ <required> int $listType ]
        Parameter #2 [ <required> array $configuration ]
      }
    }
    Function [ <internal:xdebug> function xdebug_start_code_coverage ] {

      - Parameters [1] {
        Parameter #0 [ <optional> int $options = 0 ]
      }
    }
    Function [ <internal:xdebug> function xdebug_start_error_collection ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:xdebug> function xdebug_start_function_monitor ] {

      - Parameters [1] {
        Parameter #0 [ <required> array $listOfFunctionsToMonitor ]
      }
    }
    Function [ <internal:xdebug> function xdebug_start_gcstats ] {

      - Parameters [1] {
        Parameter #0 [ <optional> ?string $gcstatsFile = null ]
      }
    }
    Function [ <internal:xdebug> function xdebug_start_trace ] {

      - Parameters [2] {
        Parameter #0 [ <optional> ?string $traceFile = null ]
        Parameter #1 [ <optional> int $options = 0 ]
      }
      - Return [ string ]
    }
    Function [ <internal:xdebug> function xdebug_stop_code_coverage ] {

      - Parameters [1] {
        Parameter #0 [ <optional> bool $cleanUp = true ]
      }
    }
    Function [ <internal:xdebug> function xdebug_stop_error_collection ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:xdebug> function xdebug_stop_function_monitor ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:xdebug> function xdebug_stop_gcstats ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }
    Function [ <internal:xdebug> function xdebug_stop_trace ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }
    Function [ <internal:xdebug> function xdebug_time_index ] {

      - Parameters [0] {
      }
      - Return [ float ]
    }
    Function [ <internal:xdebug> function xdebug_var_dump ] {

      - Parameters [1] {
        Parameter #0 [ <optional> mixed ...$variable ]
      }
    }
  }
}

derick

2020-11-21 14:51

administrator   ~0005542

Last edited: 2020-11-21 15:14

The handler is still there, so Xdebug can show a warning with a link to the documentation and hence it shows up in the output of php --re. If you try setting it with <code>php -dxdebug.extended_info=1</code>, you get:


Xdebug: [Config] The setting 'xdebug.extended_info' has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.extended_info (See: https://xdebug.org/docs/errors#CFG-C-REMOVED)

Would you rather have the output of <code>php --re xdebug</code> show:


Entry [ xdebug.auto_trace <SYSTEM> ]
Current = 'This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.auto_trace'
}
Entry [ xdebug.collect_includes <SYSTEM> ]
Current = 'This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.collect_includes'
}
Entry [ xdebug.collect_params <SYSTEM> ]
Current = 'This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.collect_params'
}
Entry [ xdebug.collect_vars <SYSTEM> ]
Current = 'This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.collect_vars'
}
Entry [ xdebug.coverage_enable <SYSTEM> ]
Current = 'This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.coverage_enable'
}
Entry [ xdebug.default_enable <SYSTEM> ]
Current = 'This setting has been changed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.default_enable'
}
Entry [ xdebug.extended_info <SYSTEM> ]
Current = 'This setting has been removed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.extended_info'
}

llaville

2020-11-21 15:50

reporter   ~0005543

When option values have changed, I agree with you that i's correct to have an error/warning message.
But when we upgrade to a major version and feature have been removed, I don't think it's necessary to have a such message.

Especially because it won't run as it in previous versions

When I run :
php --re xdebug -dxdebug.extended_info=1
I got no message in PHP 7.2
Verified by
php --re xdebug | grep extended_info

That produce empty result

PHP 7.2.34 (cli) (built: Nov 18 2020 11:19:28) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.34, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans

Issue History

Date Modified Username Field Change
2020-11-21 07:58 llaville New Issue
2020-11-21 10:00 derick Assigned To => derick
2020-11-21 10:00 derick Status new => closed
2020-11-21 10:00 derick Resolution open => no change required
2020-11-21 10:00 derick Note Added: 0005540
2020-11-21 10:18 llaville Note Added: 0005541
2020-11-21 14:51 derick Status closed => feedback
2020-11-21 14:51 derick Note Added: 0005542
2020-11-21 15:14 derick Note Edited: 0005542
2020-11-21 15:50 llaville Note Added: 0005543
2020-11-21 15:50 llaville Status feedback => assigned
2020-11-22 15:32 derick Status assigned => closed
2020-11-22 15:32 derick Fixed in Version => 3.0.0