Swooleµ÷ÊÔ¼¼ÇÉ£ºÊ¹ÓÃXdebugµ÷ÊԸ߲¢·¢Ó¦ÓóÌÐò
Ëæ×Å»¥ÁªÍøÊÖÒյĿìËÙÉú³¤£¬Ô½À´Ô½¶àµÄÓ¦ÓóÌÐò½ÓÄÉÁ×Æß²¢·¢¼Ü¹¹À´ÊµÏÖ¿ìËÙÏìÓ¦ºÍ¸ß¶È¿ÉÀ©Õ¹ÐÔ¡£¶øswoole×÷Ϊһ¿îÔڸ߲¢·¢ÁìÓòÖб¸ÊÜÇàíùµÄphpÀ©Õ¹£¬Îª¿ª·¢ÕßÌṩÁ˼«Æ主ºñµÄ¹¦Ð§ºÍÓÅÒìµÄÐÔÄÜÌåÏÖ¡£È»¶ø£¬µ±ÎÒÃÇÔÚʹÓÃswoole¿ª·¢¸ß²¢·¢Ó¦ÓóÌÐòʱ£¬³£³£»áÓöµ½ÖÖÖÖÎÊÌ⣬ÆäÖÐ×îÍ·ÌÛµÄÊÇÔõÑùµ÷ÊÔ³ÌÐò¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃxdebugµ÷ÊÔswooleÓ¦ÓóÌÐò¡£
Ò»¡¢Ê²Ã´ÊÇXdebug£¿
XdebugÊÇÒ»¿îΪPHP¿ª·¢ÕßÌṩµÄÃâ·ÑµÄµ÷ÊÔ¹¤¾ß¡£Ëü¿ÉÒÔ×ÊÖú¿ª·¢Õß¿ìËÙÕï¶ÏºÍÐÞ¸´PHP³ÌÐòÖеÄÖÖÖÖÎÊÌ⣬Èç±äÁ¿Öµ¡¢Á÷³Ì¿ØÖÆ¡¢º¯ÊýŲÓõȵȡ£
XdebugÖ§³Ö¶àÖÖµ÷ÊÔÐÒ飬ÆäÖÐ×îÆÕ¼°µÄÊÇGDBÐæźÍDBGpÐÒ顣ͨ¹ýÕâЩÐÒ飬ÎÒÃÇ¿ÉÒÔÔÚIDEÖÐÉèÖöϵ㡢µ¥³ÌÐòÊÔ¡¢±äÁ¿¼à²âµÈÖÖÖÖ¹¦Ð§£¬½«µ÷ÊÔЧÂÊÌá¸ßµ½Ò»¸öеĸ߶ȡ£
¶þ¡¢SwooleÖÐÔõÑùʹÓÃXdebug£¿
Swoole¿ò¼Ü×ÔÉí²¢²»ÌṩXdebugµÄÖ§³Ö£¬¿ÉÊÇÎÒÃÇ¿ÉÒÔͨ¹ý×°ÖÃXdebugÀ©Õ¹ºÍÒ»¸ö½Ð×öphpdbgµÄ¹¤¾ßÀ´ÊµÏÖSwoole³ÌÐòµÄµ÷ÊÔ¡£½ÓÏÂÀ´ÎÒÃǽ«Öð²½ÏÈÈÝÔõÑù¾ÙÐвÙ×÷¡£
£¨Ò»£©×°ÖÃXdebugÀ©Õ¹
ÎÒÃÇ¿ÉÒÔͨ¹ýÏÂÁîÐÐÀ´×°ÖÃXdebugÀ©Õ¹£¬ÏÂÃæÊÇ×°Öð취¡£
1.Ê×ÏÈ´Ó¹Ù·½ÍøÕ¾£¨https://xdebug.org/£©ÏÂÔØÊÊÓÃÓÚ×Ô¼ºPHP°æ±¾µÄXdebugÀ©Õ¹£¬½«ÏÂÔغóµÄxdebug.soÎļþ·Åµ½phpµÄÀ©Õ¹Ä¿Â¼ÖС£
2.ÐÞ¸Äphp.iniÎļþ£¬ÔÚÎļþ×îºó¼ÓÉÏÈçÏÂÄÚÈÝ£º
[zend_extension=/path/to/xdebug.so]
xdebug.remote_enable = 1
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_autostart = 1
xdebug.idekey = PHPSTORM
×¢ÖØ£ºxdebug.remote_hostºÍxdebug.remote_portÊÇÖ¸ÏòIDEµÄµ÷ÊԶ˿ڣ¬Õâ¸ö¶Ë¿ÚÐèÒªºÍIDEÖеÄÉèÖüá³ÖÒ»Ö¡£xdebug.idekeyÊÇIDEµÄµ÷ÊÔ±êʶ£¬Õâ¸ö±êʶҲÐèÒªºÍIDEÖеÄÉèÖüá³ÖÒ»Ö¡£
£¨¶þ£©×°ÖÃphpdbg¹¤¾ß
phpdbgÊÇÒ»¸öÇáÁ¿¼¶µÄPHPµ÷ÊÔÆ÷£¬¿ÉÒÔÔÚCLIģʽÏÂʹÓá£ÎÒÃÇ¿ÉÒÔͨ¹ýÏÂÁîÐÐÀ´×°ÖÃphpdbg¹¤¾ß£¬ÏÂÃæÊÇ×°Öð취¡£
1.ʹÓÃapt-getÏÂÁî×°ÖÃphpdbg£º
sudo apt-get install php-* phpdbg -y
2.Æô¶¯phpdbgµ÷ÊÔÆ÷£º
phpdbg -qrr my_script.php
ÏÂÁîÖеÄmy_script.phpÊÇ´ýµ÷ÊԵľ籾ÎļþÃû¡£
£¨Èý£©ÔÚIDEÖÐÉèÖöϵã
ÔÚIDEÖÐÉèÖöϵ㣬¿ÉÒÔÈÃÎÒÃÇÔÚµ÷ÊÔÀú³ÌÖÐÔ½·¢¾«×¼¡¢¸ßЧµØ¶¨Î»ÎÊÌâ¡£ÒÔphpStormΪÀý£º
1.·¿ªphpStorm£¬·¿ª´ýµ÷ÊÔµÄSwooleÓ¦ÓóÌÐò¡£
2.µ¥»÷²Ëµ¥À¸ÖеÄRun->Edit Configurations£¬½øÈëÉèÖÃÒ³Ãæ¡£
3.ÔÚÉèÖÃÒ³ÃæÖУ¬µã»÷×óÉϽǵġ°+¡±ºÅ£¬Ñ¡ÔñPHP Remote Debug¡£
4.ÔÚз¿ªµÄ¶Ô»°¿òÖУ¬ÌîдName¡¢IDE Key¡¢ServerºÍFile these remote¡£ÆäÖÐIDE KeyÊÇÔÚphp.iniÎļþÖÐÉèÖõĵ÷ÊÔ±êʶ£¬ ServerÊÇÖ¸Ïòphp³ÌÐòµÄÔ¶³ÌЧÀÍÆ÷£¬ÕâÀïÌî127.0.0.1¼´¿É£»File these remoteÊÇ´ýµ÷ÊÔµÄphpÎļþµØµã£¬¿ÉÒÔͨ¹ýµã»÷°´Å¥Ñ¡Ôñ¡£
5.ÉúÑÄÉèÖúó£¬ÔÚphpStormÖз¿ª´ýµ÷ÊÔµÄphpÎļþ£¬ÔÚÐèÒªÉèÖöϵãµÄÐе¥»÷×ó²àµÄ¶Ïµã±ê¼Ç¼´¿É¡£
£¨ËÄ£©×îÏȵ÷ÊÔ
ÎÒÃÇÒѾÍê³ÉÁËXdebugµÄ×°ÖúÍÉèÖá¢phpdbgµÄ×°ÖúÍÆô¶¯ÒÔ¼°IDEÖÐÖ¹µãµÄÉèÖ㬽ÓÏÂÀ´¾Í¿ÉÒÔ×îÏȾÙÐе÷ÊÔÁË¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÏÂÃæµÄ°ì·¨À´×îÏȵ÷ÊÔ£º
1.Æô¶¯SwooleÓ¦ÓóÌÐò£º
php my_script.php
2.ͨ¹ýphpdbgÆô¶¯µ÷ÊÔÆ÷£º
phpdbg -qrr my_script.php
3.ÔÚphpStormÖеã»÷µ÷ÊÔ°´Å¥£¬¼´¿É×îÏȵ÷ÊÔ¡£
ÔÚµ÷ÊÔÀú³ÌÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýIDEÀ´¾ÙÐе¥³ÌÐòÊÔ¡¢±äÁ¿¼à²â¡¢¿ÍÕ»¸ú×ٵȲÙ×÷£¬´Ó¶ø¿ìËÙÕÒµ½ÎÊÌâËùÔÚ¡£
Èý¡¢¿¢ÊÂÓï
Ôڸ߲¢·¢Ó¦ÓóÌÐòµÄ¿ª·¢Àú³ÌÖУ¬µ÷ÊÔÊÇÒ»ÏîºÜÊÇÖ÷ÒªµÄÊÂÇé¡£½èÖúXdebugºÍphpdbgµÈ¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔÔ½·¢¸ßЧµØ¾ÙÐе÷ÊÔ£¬¿ìËٵض¨Î»ÎÊÌâËùÔÚ¡£Í¨¹ý±¾ÎĵÄÏÈÈÝ£¬ÐÅÍи÷È˶ÔʹÓÃXdebug¾ÙÐÐSwoole³ÌÐòµ÷ÊÔÓÐÁËÔ½·¢ÉîÈëµÄÏàʶ¡£
ÒÔÉϾÍÊÇSwooleµ÷ÊÔ¼¼ÇÉ£ºÊ¹ÓÃXdebugµ÷ÊԸ߲¢·¢Ó¦ÓóÌÐòµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡