* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * \file htdocs/admin/system/xdebug.php * \brief Page administration XDebug */ require("../../main.inc.php"); $langs->load("admin"); if (!$user->admin) accessforbidden(); /* * View */ llxHeader(); print_fiche_titre("XDebug",'','setup'); print "
\n"; if (!function_exists('xdebug_is_enabled')) { print 'XDebug seems to be not installed. Function xdebug_is_enabled not found.'; llxFooter(); exit; } if (function_exists('socket_create')) { $address = empty($conf->global->XDEBUG_SERVER)?'127.0.0.1':$conf->global->XDEBUG_SERVER; $port = empty($conf->global->XDEBUG_PORT)?9000:$conf->global->XDEBUG_PORT; print 'XDEBUG_SERVER: '.$address."
\n"; print 'XDEBUG_PORT: '.$port."
\n"; print "
\n"; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (empty($socket)) die('Unable to preapre a socket'); //socket_bind($sock, $address, $port) or die('Unable to bind on address='.$address.' port='.$port); //socket_listen($sock); //$client = socket_accept($sock); $client=socket_connect($socket, $address, $port); if ($client) { echo "Connection established: ".$client." - address=".$address." port=".$port."
\n"; echo "There is a Remote debug server at this address.
\n"; echo "
\n"; echo "To be sure this debugger accepts input from your PHP server, be sure to have\n"; echo "your php.ini file with this :
\n"; echo 'xdebug.remote_enable=on
xdebug.remote_handle=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.show_local_vars=off
xdebug.profiler_output_dir=/tmp/xdebug
xdebug.profiler_append=0
'."\n"; print "
\n"; echo 'Then check in your debug server (Eclipse), you have setup:
XDebug with same port than in php.ini
Allow Remote debug=yes or prompt
'."\n"; print "
\n"; echo "Then, to run a debug session, add parameter XDEBUG_SESSION_START=aname on your URL. To stop, remove cookie XDEBUG_SESSION_START.\n"; } else { print socket_strerror(socket_last_error()); echo "Failed to connect to address=".$address." port=".$port."
\n"; echo "There is no Remote debug server at this address.\n"; } socket_close($client); socket_close($socket); } else { print "Can't test if PHPDebug is OK as PHP socket functions are not enabled."; } llxFooter(); ?>