ΪʲôҪʹÓÃXdebug£¿
PHP µÄ Xdebug À©Õ¹¿ÉÒÔ°ïÖúÄúÔÚ³ÌÐò³ö´í»òʧ°ÜʱÆÊÎöÓ¦ÓóÌÐòÒÔ²éÕÒÔÒò¡£Í¨¹ý±¾ÎÄÁ˽âÈçºÎʹÓà Xdebug ¸ú×Ùµ÷ÓöÑÕ»¡¢·ÖÎöÄÚ´æÊ¹ÓÃÇé¿ö²¢²é¿´²ÎÊýºÍ±äÁ¿µÄÄÚÈÝ¡£ºÜ¶àPHP³ÌÐòÔ±µ÷ÊÔʹÓÃecho¡¢print_r()¡¢var_dump()¡¢printf()µÈ£¬Æäʵ¶ÔÓÚÓнϷḻ¿ª·¢¾ÑéµÄ³ÌÐòÔ±À´ËµÕâЩҲÒѾ×ã¹»ÁË£¬ËûÃÇÍùÍù¿ÉÒÔÔÚ³ÌÐòÖ´ÐеĹý³ÌÖУ¬Í¨¹ýÊä³öÌØ¶¨±äÁ¿µÄÖµ¿ÉÒÔÅжϳÌÐòÖ´ÐÐÊÇ·ñÕýÈ·£¬ÉõÖÁЧÂʸߵÍÒ²¿ÉÒÔ¿´³öÀ´£¨µ±È»¿ÉÄÜ»¹ÐèҪʹÓÃһЩʱ¼äº¯Êý£©¡£ÄÇôÎÒÃÇΪʲô»¹ÐèÒªÒ»¸öרÃŵĵ÷ÊÔ³ÌÐòÀ´¼à¿ØÎÒÃǵijÌÐòÔËÐÐÄØ£¿ Õâ¸öÎÊÌâµÄ´ð°¸²»·ÁÁôµ½ºóÃæÀ´½ÒÏþ¡£
ËäÈ»Äú¿ÉÒÔʹÓà PHP Ϊϵͳ¹ÜÀíºÍ´«Í³Êý¾Ý´¦ÀíÖ®ÀàµÄÈÎÎñ´´½¨ÃüÁîÐнű¾£¬µ«ÊDZà³ÌÓïÑÔ¶Ô Web Ó¦ÓóÌÐòµÄÐÔÄÜÓÐÖ÷ÒªÓ°Ïì¡£ÔÚʹÓùý³ÌÖУ¬Ã¿¸ö PHP Ó¦ÓóÌÐò¶¼×¤ÁôÔÚ·þÎñÆ÷ÉÏ£¬²¢ÇÒ½«Í¨¹ý´úÀí£¨ÀýÈç Apache£©µ÷Óà PHP Ó¦ÓóÌÐò´¦Àíµ½À´µÄÇëÇó¡£¶ÔÓÚÿ¸öÇëÇ󣬵äÐ굀 PHP Web Ó¦ÓóÌÐòÔÚ¼ò¶ÌÔËÐк󽫵õ½Ò»¸ö Web Ò³Ãæ»ò XML Êý¾Ý½á¹¹¡£
¼Ù¶¨¾¹ý¼òµ¥µÄÔËÐкó£¬Ò»¸ö·Ö²ã¹¹ÔìµÄ Web Ó¦ÓóÌÐò ¡ª¡ª °üÀ¨¿Í»§»ú¡¢ÍøÂç¡¢HTTP ·þÎñÆ÷¡¢Ó¦ÓóÌÐò´úÂëºÍµ×²ãÊý¾Ý¿â ¡ª¡ª ½«»áºÜÄѸôÀë PHP ´úÂëÖеĴíÎó¡£¼´Ê¹¼Ù¶¨³ýÁË PHP ´úÂëÒÔÍâËùÓв㶼¿ÉÒÔÕý³£ÔËÐУ¬¸ú×Ù PHP ´úÂëÖеĴíÎóÒ²»á·Ç³£ÄÑ£¬ÓÈÆäÊÇÔÚÓ¦ÓóÌÐòÀûÓý϶àµÄÀàʱ¸üÊÇÈç´Ë¡£
PHP Óï¾ä echo ºÍº¯Êý var_dump()¡¢debug_zval_dump() ºÍ print_r() ¶¼Êdz£¼ûÇÒÁ÷Ðеĵ÷ÊÔ¸¨Öú¹¤¾ß£¬¿ÉÒÔ°ïÖú½â¾ö¶àÖÖÎÊÌâ¡£µ«ÊÇ£¬ÕâЩÓï¾ä ¡ª¡ª ÉõÖÁ¸ü½¡×³µÄ¹¤¾ß£¬ÀýÈç PEAR Log package ¡ª¡ª ¶¼ÊÇȡ֤¹¤¾ß£¬±ØÐëÔÚÉÏÏÂÎÄ»·¾³Ö®ÍâÏȽøÐÐÍÆ²â·ÖÎö²ÅÄÜÉú³ÉÖ¤¾Ý¡£
ÔÚijÖ̶ֳÈÉÏ£¬Í¨¹ýÍÆÂÛ½øÐе÷ÊÔÊÇÒ»ÖÖÂù¸ÉµÄ×ö·¨¡£ÊÕ¼¯²¢É¸Ñ¡Êý¾Ý£¬³¢ÊÔÍÆÂÛ³ö·¢ÉúµÄÎÊÌâ¡£Èç¹ûȱÉÙÖØÒªÐÅÏ¢£¬Ôò±ØÐëÖØÐ²âÊÔ´úÂë¡¢ÖØ¸´Ö´Ðв½Ö裬ȻºóÖØÐ¿ªÊ¼Ñо¿¡£Ò»ÖÖ¸ü¼Ó¸ßЧµÄ·½·¨ÊÇÔÚ ³ÌÐòÔËÐÐʱ̽²âÓ¦ÓóÌÐò¡£Äú¿ÉÒÔ¶ÔÇëÇó²ÎÊý·ÖÀ࣬ɸѡ¹ý³Ìµ÷ÓöÑÕ»£¬²¢²éѯÈκÎËùÐèµÄ±äÁ¿»ò¶ÔÏó¡£Äú¿ÉÒÔÔÝʱÖжÏÓ¦ÓóÌÐò²¢ÇÒ¿ÉÒÔÔÚ±äÁ¿¸ü¸ÄֵʱÊÕµ½¾¯±¨¡£ÔÚijЩÇé¿öÏ£¬Äú¿ÉÒÔͨ¹ý½»»¥Ê½Ñ¯ÎÊ ¡°Èç¹û¡¡»áÔõÑù£¿¡± ÎÊÌâÀ´Êµ¼ÊÓ°Ïì±äÁ¿¡£
³ÆÎªµ÷ÊÔÆ÷ µÄÌØÊâÓ¦ÓóÌÐòÖ§³ÖÕâÖÖ ¡°ÊµÊ±µÄ¡± »ò½»»¥Ê½µÄ¼ì²é¡£µ÷ÊÔÆ÷¿ÉÄÜÆô¶¯²¢Á¬½Óµ½½ø³ÌÉÏÒÔ±ã¿ØÖÆ½ø³Ì²¢¼à²âÆäÄÚ´æ¡£»òÕߣ¬ÔÚʹÓýâÊÍÓïÑÔµÄÇé¿öÏ£¬µ÷ÊÔÆ÷¿ÉÒÔÖ±½Ó½âÊÍ´úÂë¡£µäÐ͵ÄÏÖ´úͼÐλ¯µ÷ÊÔÆ÷¿ÉÒÔË÷Òý²¢ä¯ÀÀ´úÂ룬ÒÔ·ûºÏÈËÀàÔĶÁϰ¹ßµÄÐÎʽÇáËɵØÏÔʾ¸´ÔÓµÄÊý¾Ý½á¹¹£¬²¢Í¬Ê±ÏÔʾ³ÌÐò״̬£¬Èçµ÷ÓöÑÕ»¡¢ÖмäÊä³öºÍËùÓбäÁ¿µÄÖµ¡£ÀýÈ磬µ÷ÊÔÆ÷ͨ³£¶¼»á°ÑÀàµÄÊôÐԺͷ½·¨·ÖÀಢ½øÐÐÃèÊö¡£ÔÚ±¾ÏµÁÐÎÄÕÂÖУ¬ÎÒ½«½éÉܵŤ¾ßÒ»¶¨Äܹ»¼ò»¯ PHP µ÷ÊÔ¡£
´úÂë³ö´í¡¢Î´ÄÜÉú³Éij¸öËùÐè½á¹û»òÕß³¹µ×±ÀÀ£Ê±£¬ÄúÐèÒª»Ø´ðËĸö w ÎÊÌ⣺where¡¢what¡¢why ºÍ when£º
- ¡°where¡± ÊÇÓ¦ÓóÌÐò×îºóÒ»´ÎÕý³£ÔËÐÐʱËùÔÚµÄÎļþºÍÐкš£
- ¡°what¡± ÊÇ·¸´íµÄ´úÂë ¡ª¡ª ±ÈÈç˵£¬ÏÓÒÉ·¸¡£
- ¡°why¡± ÊÇ´íÎóµÄ±¾ÖÊ¡£¿ÉÄÜËüÊÇÒ»¸öÂß¼´íÎóºÍ/»òÓë²Ù×÷ϵͳ½øÐн»»¥Ëùµ¼ÖµĴíÎ󣬻òÁ½Õß¼æ¾ß¡£
- ¶ø ¡°when¡± ÊdzöÏÖ´íÎóʱµÄÉÏÏÂÎÄ¡£ÔÚ³ÌÐòÖÕֹǰ·¢ÉúÁËʲôÇé¿ö£¿ÏñÔÚËùÓз¸×ïÐÐΪÖÐÒ»Ñù£¬Èç¹ûÄú¿ÉÒÔÊÕ¼¯µ½×ã¹»µÄÏßË÷£¬ÄÇôÏßË÷¾Í¿ÉÒÔ°ïÖúÄúÕÒµ½·¸ÈË¡£
Ò»ÖÖȡ֤¹¤¾ß Xdebug£¨ÉÏһƪÎÄÕÂÖÐʹÓõŤ¾ß£¬ÓÃÓÚ·ÖÎö PHP Ó¦ÓóÌÐòÐÔÄÜ£©£¬ÈçÃû³ÆËùʾ£¬½«Ìṩ¼¸¸ö˵Ã÷³ÌÐò״̬µÄ¹¦ÄÜ£¬²¢ÇÒÊÇÓ¦µ±Ìí¼Óµ½Ö¸ÁîϵͳÖеļÛÖµÆÄ¸ßµÄÑо¿¹¤¾ß¡£°²×°ºó£¬Xdebug ½«×èÖ¹ÎÞÏ޴εݹ飨±íÃæÉÏÊÇÕâÑù£©¡¢ÐÞÕý¹ØÓÚ¶ÑÕ»¸ú×ٺͺ¯Êý¸ú×ٵĴíÎóÏûÏ¢ÒÔ¼°¼àÊÓÄÚ´æ·ÖÅ䣬²¢ÌṩÆäËû¹¦ÄÜ¡£Xdebug »¹°üÀ¨Ò»×麯Êý£¬Äú¿ÉÒÔ½«Õâ×麯ÊýÌí¼Óµ½´úÂëÖÐÒÔ½øÐÐÔËÐÐʱ´íÎóÕï¶Ï¡£
ÀýÈ磬ÏÂÃæµÄ´úÂ뽫ʹÓÃһЩ xdebug_...() ²½Öè²âÊÔ callee() º¯Êý£¬ÒÔ±ãÊä³öµ÷ÓóÌÐòµÄ¾ßÌåλÖ㬰üÀ¨ÎļþÃû¡¢Ðкź͵÷Óú¯ÊýµÄÃû³Æ¡£
Çåµ¥ 1. ²âÊÔ callee() º¯ÊýµÄ²½Öè
|
Õâ¶Î´úÂ뽫Éú³É£º
callee() called @ /var/www/catalog/xd.php: 10 from {main} |
¾´ÇëÆÚ´ý±¾Õ¾¹ØÓÚXdebugµÄһϵÁÐÎÄÕ¡£
