|
 |
Приложение E. Отладка PHP
PHP 3 имеет поддержку сетевого отладчика.
PHP 4 не имеет встроенной системы отладки. Тем не менее, вы
можете использовать внешние отладчики. Zend IDE
имеет встроенный отладчик, кроме того, существует несколько свободно
распространяемых расширений для отладки, например, DBG, находящееся по
адресу http://dd.cron.ru/dbg/ или Advanced PHP
Debugger (APD).
Отладка PHP
online _ use _ only == hotmail.com
15-Mar-2006 03:41
I still find that printing out variable values at problem points in the code is one of the easiest ways for me to debug. If you're interested in knowing the full contents of an object/array/scalar, then use
var_dump($var).
joe_fitchnospam at hotmail dot com
17-Dec-2002 12: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 (http://www.phped.com), former PHP IDE from Ergin Soysal.
I was also deeply impressed with IonCube accelerator performance (http://www.ioncube.com). 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.
22-Aug-2002 11:51
check out this great, cross-platform, my favourite php debugger:
http://www.activestate.com/Products/Komodo/
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).
bob at bobbydigital dot fsnet dot co dot uk
27-Oct-2000 05: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.
jruskiewicz at techtracker dot com
26-Sep-2000 01: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";
cbarnett at crossbeam dot com
07-Jul-2000 08: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; }
}
=====================================================================
| |