23 require
'../../main.inc.php';
25 $langs->load(
"admin");
40 if (!function_exists(
'xdebug_is_enabled')) {
42 print
'XDebug seems to be not installed. Function xdebug_is_enabled not found.';
47 print
'<span class="opacitymedium">';
48 print $langs->trans(
"ModuleActivatedMayExposeInformation", $langs->transnoentities(
"XDebug"));
53 if (function_exists(
'socket_create')) {
54 $address = ini_get(
'xdebug.remote_host') ?ini_get(
'xdebug.remote_host') :
'127.0.0.1';
55 $port = ini_get(
'xdebug.remote_port') ?ini_get(
'xdebug.remote_port') : 9000;
57 print
"<strong>Current xdebug setup:</strong><br>\n";
58 print
"* Remote debug setup:<br>\n";
59 print
'xdebug.remote_enable = '.ini_get(
'xdebug.remote_enable').
"<br>\n";
60 print
'xdebug.remote_host = '.$address.
"<br>\n";
61 print
'xdebug.remote_port = '.$port.
"<br>\n";
62 print
"* Profiler setup ";
63 if (function_exists(
'xdebug_get_profiler_filename')) {
64 print xdebug_get_profiler_filename() ?
"(currently on into file ".xdebug_get_profiler_filename().
")" :
"(currently off)";
66 print
"(currenlty not available)";
69 print
'xdebug.profiler_enable = '.ini_get(
'xdebug.profiler_enable').
"<br>\n";
70 print
'xdebug.profiler_enable_trigger = '.ini_get(
'xdebug.profiler_enable_trigger').
"<br>\n";
71 print
'xdebug.profiler_output_dir = '.ini_get(
'xdebug.profiler_output_dir').
"<br>\n";
72 print
'xdebug.profiler_output_name = '.ini_get(
'xdebug.profiler_output_name').
"<br>\n";
73 print
'xdebug.profiler_append = '.ini_get(
'xdebug.profiler_append').
"<br>\n";
76 print
"To run a debug session, add parameter<br>";
77 print
"* XDEBUG_SESSION_START=aname on your URL. To stop, remove cookie XDEBUG_SESSION_START.<br>\n";
78 print
"To run a profiler session (when xdebug.profiler_enable_trigger=1), add parameter<br>\n";
79 print
"* XDEBUG_PROFILE=aname on each URL.<br>";
82 print
"<strong>Test debugger server (Eclipse for example):</strong><br>\n";
83 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
85 die(
'Unable to prepare a socket');
90 $client = socket_connect($socket, $address, $port);
92 print
"Connection established: ".$client.
" - address=".$address.
" port=".$port.
"<br>\n";
93 print
"There is a Remote debug server at this address.<br>\n";
95 print
"To be sure this debugger accepts input from your PHP server and xdebug, be sure to have\n";
96 print
"your php.ini file with this :<br>\n";
97 print
'<textarea cols="80" rows="16">'.
"xdebug.remote_enable=on
98 xdebug.remote_handle=dbgp
99 xdebug.remote_host=localhost
100 xdebug.remote_port=9000
101 xdebug.profiler_enable=0
102 xdebug.profiler_enable_trigger=1
103 xdebug.show_local_vars=off
104 xdebug.profiler_output_dir=/tmp/xdebug
105 xdebug.profiler_append=0
107 xdebug.trace_enable_trigger=1
108 xdebug.show_mem_delta=1
109 xdebug.trace_output_dir=/tmp/trace
113 print
'Then check in your debug server (Eclipse), you have setup:<br>
114 XDebug with same port than in php.ini<br>
115 Allow Remote debug=yes or prompt<br>'.
"\n";
118 print socket_strerror(socket_last_error());
119 print
" - Failed to connect to address=".$address.
" port=".$port.
"<br>\n";
120 print
"There is no Remote debug server at this address.\n";
122 socket_close($socket);
124 print
"Can't test if PHPDebug is OK as PHP socket functions are not enabled.";