#1 14. 1. 2010 14:33

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 177
Web

Co používáte na debugování?

Chci se zeptat, jak řešíte debugování PHP aplikací (krokování apod.). Případně, jaký máte operační systém. Zkoušel jsem namontovat do NetBeans xdebug, ale marně. Podle všeho to na 64b Vistách nejde.


Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

#2 14. 1. 2010 15:23

Majkl578
Moderator
Místo: Pardubický kraj
Registrovaný: 2. 5. 2009
Příspěvky: 440

Re: Co používáte na debugování?

Na Debianu (Linux) používám PHP 5.3 s rozšířením XDebug a jako IDE mám Eclipse. A funguje to perfektně.


Debian SID (2.6.35-trunk-686), Apache 2.2.16, PHP 5.3.3, MySQL 5.1.49; Nette 1.0-dev pro PHP 5.3


There are 10 types of people in this world. Those who understand binary and those who don't.

Offline

 

#3 14. 1. 2010 15:55

redhead
Nette guru
Registrovaný: 2. 5. 2009
Příspěvky: 769

Re: Co používáte na debugování?

Mám Win a Netbeans s XDebugem a funguje krásně.

A máš vůbec 64-bit verzi XDebugu??

Online

 

#4 14. 1. 2010 18:08

Ondřej Brejla
Nette guru
Místo: Praha
Registrovaný: 20. 4. 2008
Příspěvky: 467
Web

Re: Co používáte na debugování?

Linux, NetBeans, Xdebug bez problémů.

Offline

 

#5 14. 1. 2010 18:24

redhead
Nette guru
Registrovaný: 2. 5. 2009
Příspěvky: 769

Re: Co používáte na debugování?

no krásně.. to říct nemůžu, po nainstalování XDebugu mi někdy padá apache, někdy i při každym requestu, pak se to nějak ustálí a třeba další 3 hodiny nic.. ale dá se to

Online

 

#6 14. 1. 2010 18:49

Majkl578
Moderator
Místo: Pardubický kraj
Registrovaný: 2. 5. 2009
Příspěvky: 440

Re: Co používáte na debugování?

redhead napsal(a):

…po nainstalování XDebugu mi někdy padá apache…

To se mi stává taky a zatím jsem nezjistil co to způsobuje. Každopádně je to rozšíření PHP, takže je možné vše.
Pro příklad: nedávno jsem kompiloval 5.3.2b1. Použil jsem totožný ./configure a výsledek byl kompletně jiný. 5.3.1 je TS, 5.3.2 je NTS. A aby toho nebylo málo, tak to i složilo běžící Nette aplikaci…

Editoval Majkl578 (14. 1. 2010 19:00)


Debian SID (2.6.35-trunk-686), Apache 2.2.16, PHP 5.3.3, MySQL 5.1.49; Nette 1.0-dev pro PHP 5.3


There are 10 types of people in this world. Those who understand binary and those who don't.

Offline

 

#7 14. 1. 2010 19:59

nAS
Nette guru
Místo: Praha
Registrovaný: 18. 12. 2008
Příspěvky: 223
Web

Re: Co používáte na debugování?

Na Win7 NetNeans a XDebug. Teď mi funguje dobře, ale několik let dělal přesně to co popisuješ – shazoval Apache. Nikdy dřív se mi to nepodařilo dobře vyřešit. Nyní používám WAMP server místo ručního sestavování, tak je to možná tím, nebo tím, že jsem změnil WinVista za Win7.


$application->run(); // Run Forrest, run!

@MartinMajor

Offline

 

#8 15. 1. 2010 17:55

iguana007
Nette guru
Místo: Praha
Registrovaný: 3. 11. 2009
Příspěvky: 306

Re: Co používáte na debugování?

nAS napsal(a):

Na Win7 NetNeans a XDebug. Teď mi funguje dobře, ale několik let dělal přesně to co popisuješ – shazoval Apache. Nikdy dřív se mi to nepodařilo dobře vyřešit. Nyní používám WAMP server místo ručního sestavování, tak je to možná tím, nebo tím, že jsem změnil WinVista za Win7.

Nehodil by si mi zde prosím nějaký krátký popis jak krokování a debug celkově s NetBeans a XDebug na Win7 rozjet? Zkousel jsem postup na Neteans webu: http://netbeans.org/…windows.html Ale bez výsledku … debug v IDE používám prvně v životě, tak nevím kam sáhnout.

Díky moc igi

Editoval iguana007 (15. 1. 2010 17:56)


Omne Principium Grave

Offline

 

#9 15. 1. 2010 23:28

nAS
Nette guru
Místo: Praha
Registrovaný: 18. 12. 2008
Příspěvky: 223
Web

Re: Co používáte na debugování?

Já už si moc přesně nepamatuju, jak jsem to rozcházel, ale v php.ini mám:

[XDebug]
zend_extension_ts="D:/wamp/bin/php/php5.2.11/ext/php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_log="D:/wamp/logs/xdebug.log"

ten php_xdebug.dll nevím, jestli už byl ve WAMPu nebo jsem ho stahoval zvlášť, každopádně je to verze 2.0.5 a má 168017 bajtů. NetBeans jsou nastaveny standardně, tam jsem tuším nic neměnil.


$application->run(); // Run Forrest, run!

@MartinMajor

Offline

 

#10 16. 1. 2010 0:30

Tomik
Nette Evangelist
Místo: Roztoky
Registrovaný: 20. 3. 2005
Příspěvky: 565
Web

Re: Co používáte na debugování?

Windows (i 64bit). Nusphere PHPEd. Má to vlatní debugovací a krokovací rozšíření pro PHP. Nastavení na 5 kliků. Jede, vše ok. Apache nepadá. :)

Offline

 

#11 18. 1. 2010 18:28

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 177
Web

Re: Co používáte na debugování?

Tak jsem zkoušel rozjet ten Xdebug celý den a pořád nic. Mám tušení že to na Vistách 64b NetBeans + Wamp/Xampp vůbec nejde. Psal jsem i na NetBeans fórum (http://forums.netbeans.org/viewtopic.php?…).

Problém je TUŠÍM v tom, že Wamp nainstaluje 32b verzi Apache, která potřebuje VC6 verzi Xdebugu. Verze VC6 pro PHP 5.3 existuje jen v 32b verzi (http://www.xdebug.org/download.php). Podle mého bych měl nainstalovat 64b verzi Xdebugu (jako je operační systém).

Zkoušel jsem samozřejmě i tu 32b verzi a ta nefunguje.

V php.ini mám následující:

zend_extension_ts="F:/Program Files/wamp2/bin/php/php5.3.0/ext/php_xdebug-2.0.5-5.3-vc6.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000

Tohle je jediná konstalace, se kterou se nahraje Xdebug jako rozšíření do PHP. Bohužel to ale nefunguje. V Apache error logu je následující: PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0. Zkoušel jsem tedy dát pryč to ‚_ts‘ u zend_extension a žádná změna.

Budu rád za jakékoli Vaše zkušenosti a nápady, co zkusit. Díky!

Editoval Martin Mates (18. 1. 2010 18:29)


Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

#12 18. 1. 2010 18:48

Panda
Nette guru
Místo: Děčín 32
Registrovaný: 4. 7. 2008
Příspěvky: 473

Re: Co používáte na debugování?

64b verze je hloupost, 32b aplikace nemůže natáhnout 64b dll, i když by jsi jel na 64b OS. S xdebug 2.0.5 jsem měl taky kdysi potíže. Teď jdu vyzkoušet aktuální betu – 32b VC9. Pak dám vědět, jak to funguje.

//Doplnění: tak zatím mohu konstatovat minimálně to, že se Xdebug načte a debuggovat jde. Jak je to stabilní, to budu muset poreferovat až později.

Editoval Panda (18. 1. 2010 18:56)


Pomůžeš-li jednomu člověku, pomůžeš tím celému světu.
– Talmud

Online

 

#13 18. 1. 2010 18:48

iguana007
Nette guru
Místo: Praha
Registrovaný: 3. 11. 2009
Příspěvky: 306

Re: Co používáte na debugování?

A nemáš náhodou předtím v php.ini nezakomentovanou část týkající se Zend?

[Zend]
zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
zend_optimizer.enable_loader = 0
zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

správně máš mít výše uvedený blok celý zakomentovaný jinak ti xdebug nepojede, je to ostatně uvedené přímo v poznámce u xdebug:

;; Only Zend OR (!) XDebug

Dej vědět, jestli pomohlo…

igi


Omne Principium Grave

Offline

 

#14 18. 1. 2010 18:56

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 177
Web

Re: Co používáte na debugování?

iguana007 napsal(a):

A nemáš náhodou předtím v php.ini nezakomentovanou část týkající se Zend?

[Zend]
zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
zend_optimizer.enable_loader = 0
zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

Díky. Tohle píšou už v tom návodu na NetBeans webu. V php.ini tento blok vůbec nemám. Jediný nezakomentovaný řádek obsahující zend je ten zend_extension_ts.


Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

#15 18. 1. 2010 21:28

iguana007
Nette guru
Místo: Praha
Registrovaný: 3. 11. 2009
Příspěvky: 306

Re: Co používáte na debugování?

Zatím jsem to zkoušel jen na 32bit Vistách a tam mi to šlo … teď sedím u 64bit Win7, tak to zkusím, mělo by to být podobné jako 64bit Visty, tak dám vědět, jestli mi to šlo.

igi


Omne Principium Grave

Offline

 

#16 19. 1. 2010 9:41

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 177
Web

Re: Co používáte na debugování?

iguana007 napsal(a):

Zatím jsem to zkoušel jen na 32bit Vistách a tam mi to šlo … teď sedím u 64bit Win7, tak to zkusím, mělo by to být podobné jako 64bit Visty, tak dám vědět, jestli mi to šlo.

igi

Díky moc! Budu se těšit.


Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

#17 19. 1. 2010 9:46

iguana007
Nette guru
Místo: Praha
Registrovaný: 3. 11. 2009
Příspěvky: 306

Re: Co používáte na debugování?

Tak jsem s tím včera bojoval do 5ti do rána. Nejdříve jsem zkoušel XAMPP 1.7.1 … tam se mi xdebug depodařilo rozjet (Apache chybu nehlásil, ale NetBeans jej nedokázaly použít) … tak jsem si řekl, že zkusím step by step install Apache, PHP a MySQL … nejříve 64bit verzi a potom 32bit … v 64Bit se mi nepodařilo vůbec rozjet některé knihovny (např. curl a gettext) a v obou jsem nerozjel mod_rewrite … asi jsem něco dělal špatně v nastavení apache, ale nepřišel jsem na to. Taky jsem narazil na zajimavou věc a to, že mi nechodilo latest MySQL 5.1 – jediná verze co mi jela bylo MySQL 5.0.X … dneska to ještě zkusím znovu.

igi

Editoval iguana007 (19. 1. 2010 9:48)


Omne Principium Grave

Offline

 

#18 19. 1. 2010 10:47

iguana007
Nette guru
Místo: Praha
Registrovaný: 3. 11. 2009
Příspěvky: 306

Re: Co používáte na debugování?

Panda: Nehodil by si mi tady prosim verze Apache, PHP a MySQL, ktere si instaloval na Win7 + httpd.conf? Myslim, ze si rikal ze ti to na Win7 bezi…

Diky

igi


Omne Principium Grave

Offline

 

#19 19. 1. 2010 12:19

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 177
Web

Re: Co používáte na debugování?

Ono když se podíváš na stránkách Xamppu na Win32 compatibility list, tak se tam píše:

Windows comatibility list (win32), here tests for version 1.7.1

Windows 2000 (w2k):             server test okay (but no xdebug support)
Windows Server 2003 R2:         server test okay (but no xdebug support)
Windows XP Service Pack 2:      server test okay
Windows XP Service Pack 3:      server test okay
VISTA Ultimate:                 server test okay (but no xdebug support)

Takže s tím xdebugem to bude bída. Spíš bych vkládal naději v ten Wamp.


Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

#20 19. 1. 2010 13:40

iguana007
Nette guru
Místo: Praha
Registrovaný: 3. 11. 2009
Příspěvky: 306

Re: Co používáte na debugování?

@Martin: no ja bych si nejradsi rozjel standalone baliky, uvidime co napise Panda a zkusim to. Pnadovi to preci jede a ma pokud si dobre pamatuju taky x64 system.

igi


Omne Principium Grave

Offline

 

#21 19. 1. 2010 23:40

iguana007
Nette guru
Místo: Praha
Registrovaný: 3. 11. 2009
Příspěvky: 306

Re: Co používáte na debugování?

Martin:

Me uz to asi bezi … zkus si v httpd.conf zmenit radky, kde nacitas php na toto:

#Toto nechej jak je
    Action application/x-httpd-php "/php/php-cgi.exe"
#Tady si uprav cesty, podle toho kde mas instalnute PHP
    PHPINIDir "C:/php"
    LoadModule php5_module "C:/php/php5apache2_2.dll"

Z XDEBUG jsem si stahnul tuto verzi: http://xdebug.org/…-5.2-vc6.dll

A co se tyce Apache+PHP+MySQL, tak jsem to nainstaloval rucne. Mam verze: PHP 5.2.12 TS, Apache/2.2.14 (Win32) a MySQL 5.0.51a

igi


Omne Principium Grave

Offline

 

#22 20. 1. 2010 10:04

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 177
Web

Re: Co používáte na debugování?

iguana007 napsal(a):

Martin:

Me uz to asi bezi … zkus si v httpd.conf zmenit radky, kde nacitas php na toto:

#Toto nechej jak je
    Action application/x-httpd-php "/php/php-cgi.exe"
#Tady si uprav cesty, podle toho kde mas instalnute PHP
    PHPINIDir "C:/php"
    LoadModule php5_module "C:/php/php5apache2_2.dll"

Z XDEBUG jsem si stahnul tuto verzi: http://xdebug.org/…-5.2-vc6.dll

A co se tyce Apache+PHP+MySQL, tak jsem to nainstaloval rucne. Mam verze: PHP 5.2.12 TS, Apache/2.2.14 (Win32) a MySQL 5.0.51a

igi

Zkusím to, díky! Dám vědět.


Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

#23 20. 1. 2010 11:19

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 177
Web

Re: Co používáte na debugování?

2iguana:

Tak jsem zkusil do Wampu strčit PHP ve verzi 5.2.11 (5.2.12 plugin neexistuje) a zkusil jsem na to našroubovat tu verzi Xdebugu, co jsi vybral. Teď je to dost zvláštní, protože podle testovacího skriptu z NetBeans wiki ten Xdebug nefunguje (tady v tom bodě už jsem určitě byl).

Nicméně jsem tentokrát zkoušel v NetBeansech odkrokovat jednu aplikaci a to funguje. Občas slítne Apache (pokaždé když se pokusím o phpinfo). Už to tak nějak hala bala funguje. Zkusím to chvíli takto a kdyby to nešlo, nainstaluju to zvlášť všechno a uvidíme.


Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

#24 8. 2. 2010 21:43

lactarius
Člen
Registrovaný: 15. 3. 2009
Příspěvky: 44

Re: Co používáte na debugování?

Mně se podařilo XDebug rozchodit (dříve mi to shazovalo Apache – prakticky pořád, takže jsem XDebug vždycky zakomentoval v php.ini a vzdal to), v kombinaci PHP 5.2.12 VC6 TS + XDebug 2.0.5 VC6 TS to funguje bez problémů – pokud mu předhodím kód napsaný čistě v PHP. Pokud je to projekt v Nette, dostane se na řádek

$application->run();

v bootstrapu. Pokud ho pustím dál, vyhodí chybu Method not implemented – co tam mám za hovadinu ?

(ten projekt může být cokoli – zkoušel jsem třeba i CD-collection z Examples – výsledek je stejný…)

Předem dík.

EDIT: S tím padáním to musím bohužel musím přehodnotit – teď mi spadl Apache 3× během cca. hodiny..

Editoval lactarius (9. 2. 2010 9:21)

Offline

 

#25 23. 2. 2010 11:53

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 177
Web

Re: Co používáte na debugování?

Tak jsem zkoušel nové verze Xdebug. Konkrétně Xdebug 2.1.0beta2 – 5.2 VC6 (32 bit) a 5.3 VC6 (32 bit). Konečně se objevila nová verze pro PHP 5.3 VC6 32bit, která dříve chyběla.

S PHP 5.3 a NetBeans 6.8 verze 5.3 VC6 (32 bit), Windows Vista 64b:

  • Extension se v pořádku načte
  • Při debugování v NetBeans se dole objeví optimistické netbeans-xdebug RUNNING
  • Nicméně program se nezastaví na žádném break pointu, takže to nejede

S PHP 5.2.11 a NetBeans 6.8 verze 5.2 VC6 (32 bit), Windows Vista 64b:

  • Extension se načte v pohodě
  • Debugování funguje ALE je to nějaké zacyklené, u proměnných se objevuje jejich název a typ asi stokrát a pořád to pribývá viz screenshot

Samozřejmě mluvím jen o Nette aplikaci. Ještě to zkusím na normálním skriptu. Nevíte někdo, co s tím?


Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

Zápatí