PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<Andere Inkompatibilit�tenDebugger-Protokoll>
view the version of this page
Last updated: Sat, 19 Apr 2003

Anhang D. Der PHP-Debugger

Verwendung des Debuggers

Der integrierte Debugger von PHP ist n�tzlich, um schwer zu findende Fehler aufzusp�ren. Jedesmal, wenn PHP startet, stellt der Debugger eine Verbindung zu einem TCP-Port her. Jede Fehlermeldung wird nun an diese TCP-Verbindung ausgegeben. Damit l�sst sich ein "debugging server" einrichten, der innerhalb einer IDE oder eines programmierbaren Editors (z. B. Emacs) l�uft.

Den Debugger einrichten:

  1. Geben Sie in der Konfigurationsdatei (debugger.port) einen TCP-Port f�r den Debugger ein und aktivieren Sie ihn (debugger.enabled).

  2. Dann richten Sie einen TCP-Listener ein, der auf dem Port horcht (zum Beispiel socket -l -s 1400 unter UNIX).

  3. Schreiben Sie in Ihren Code die Anweisung "debugger_on(host)", wobei host die IP-Adresse oder der Hostname ist, wo der TCP-Listener l�uft.

Nun werden alle Warnungen, Hinweise, etc. auf diese Schnittstelle ausgegeben, sogar wenn sie mit error_reporting () abgeschaltet wurden..



User Contributed Notes
Der PHP-Debugger
add a note
cbarnett at crossbeam dot com
08-Jul-2000 03:22

I'm copying this note from a post I found on Geocrawler.  I think Thierry diserves a round of applause for actually posting something useful, so...

HooRah!!!!

I'm going to add some syntax highlighting to the code to make it cute, and then we'll see.

FROM: Thierry Boudet
             DATE: 12/01/1998 01:35:21
             SUBJECT: RE:  [PHP3] [php3] get the debug info
             

             Rui Barreiros a �crit:
             >
             > how can i get the debug info that the php3 sends to port 2000 (in my
             > case)
             >

            =====================================================================
            #!/usr/bin/perl -w

             use Socket;
           $port = 7869;           # PHP debugger
             my $proto = getprotobyname('tcp');

             socket(Server, PF_INET, SOCK_STREAM, $proto)
                                        or die "socket: $!";
             setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l",1))
                                      or die "setsockopt: $!";
            bind(Server, sockaddr_in($port, INADDR_ANY))
                                      or die "bind: $!";
            listen(Server, SOMAXCONN);

             for ( ; $paddr = accept(Client, Server); close Client)
                 {
                my ($port, $iaddr) = sockaddr_in($paddr);
                my $name = gethostbyaddr($iaddr, AF_INET);
                 print "-------------  $name  $port --------";
                while (<Client>)        {  print;   }
                 }
            =====================================================================

jruskiewicz at techtracker dot com
26-Sep-2000 08:19

[Ed: Note: Python loop control is managed through indentation, so you will need to reindent this errata note]
python remote debug listener...

#!/usr/bin/python
#Used for remote debugging of PHP programs.
from socket import *;

#connect and bind to the port
s = socket(AF_INET, SOCK_STREAM);
s.bind("",7869);
s.listen(5);

#little info to print out
print "PHP Remote Debug Application";

#let us try this thing...
try:
while 1:
client, addr = s.accept();
tmp = client.recv(1024);
while tmp:
print tmp, "\n";
tmp = client.recv(1024);
client.close();
except:
s.close();
print "Exit";

bob at bobbydigital dot fsnet dot co dot uk
27-Oct-2000 12:12

want a simple way to get errors from php?

from the command line simply type:

"/path-to-php/php.exe your-php-file.php3"

and It'll throw back useful errors

use -q option before the filename to Suppress HTTP Header output.

steve at stevedix dot de
09-Mar-2001 02:05

There is actually a symbolic debugger for php4 : BIKE.

It only works on unix/linux, and is a bit limited, but it's better than the existing (rather limited) system and typing tons of echos.

See it at :


dima at NOSPAM dot kde dot org
17-Jun-2001 03:46

Both php3 and php4 ( dbg extention ) are supported by Quanta Plus ( )

It's a full featured IDE for Unix ( KDE )
which supprt PHP too.

23-Aug-2002 06:51
check out this great, cross-platform, my favourite php debugger:


it not only allows "debugging PHP programs locally or remotely, including debugging in CGI or other Web Server API environments", but, besides, is a full fledged Perl, PHP, Python, Tcl, and XSLT IDE. based on mozilla.

current version 1.2.9 costs some money ($29.50 non commercial), previous version 1.1 is free (non commercial).

joe_fitchnospam at hotmail dot com
17-Dec-2002 07:15

I've tried many debuggers and PHP IDEs including Zend IDE, Komodo, PHPEdit, PHPEd and Maguma Studio.
After all I'm sure that the best one debugger is dbg. It supports breakpoints even conditional ones,  all kind of steps throu php code, watch etc, so it's a fully functional debugger indeed and profiler too. Fortunately, it's an open-source product as PHP itself. Unfortunately, it does not contain any front-end, but 3rd party PHP IDEs. Seems, as for an IDE the best one is PHPEd 3.1 (), former PHP IDE from Ergin Soysal.
I was also deeply impressed with IonCube accelerator performance (). Commercial version of IONCUBE is many times faster than the commercial one from Zend (www.zend.com). Huh ?
Hope this info would help someone to find the better way faster.

tulpe at atomar dot de
07-Feb-2003 02:09

Tired of manualy printing out your variables and arrays for debugging?

Take a look at my debuglib at:



Happy debugging!

Thomas Sch��ler

add a note

<Andere Inkompatibilit�tenDebugger-Protokoll>
 Last updated: Sat, 19 Apr 2003
show source | credits | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by: /
Last updated: Mon May 12 21:12:21 2003 CEST