วิธีการติดตั้ง PHP + Xdebug เพื่อให้สามารถ debug บน VSCode ได้

         การเขียนโปรแกรมภาษา PHP นั้น developer จำเป็นจะต้องติดตั้ง PHP พร้อมกับ extension สำหรับ debug เอง เพื่อให้สามารถ debug โปรแกรมได้ ต่างจากภาษาอื่นๆ ที่มักจะ bundle มากับ IDE เลย แต่กับ PHP ถึงแม้จะเป็น IDE เจ้าใหญ่ ๆ ก็ยังไม่เห็นเจ้าไหน integrate มาให้พร้อมใช้เลย

ติดตั้ง PHP

 % brew install [email protected]

  • set PATH ให้รู้จัก php 
 % echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc
 % echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.zshrc
 % source ~/.zshrc


ติดตั้ง Xdebug 

  • install xdebug ด้วย pecl
 % pecl install xdebug

  • ซึ่งคำสั่งด้านบนจะลง xdebug และ config กับ php ของเราให้เลย โดยสามารถดูได้ที่ไฟล์ php.ini
 % nano /usr/local/etc/php/7.4/php.ini
    • สังเกตว่าบรรทัดบนสุดจะมีการกำหนดให้ใช้ xdebug แล้ว
 zend_extension="xdebug.so" 
    • ให้เพิ่ม debug mode เข้าไป
      * Xdebug v3.x.x
      ** Xdebug โดยปกติจะใช้ port 9003 ถ้าไม่สามารถใช้ได้ต้องตั้งต่าเพิ่มเติม >> xdebug.client_port
 xdebug.mode=debug 

  • ตรวจสอบ php และ xdebug 
 % php -v 
PHP 7.4.22 (cli) (built: Jul 29 2021 17:27:21) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Xdebug v3.0.4, Copyright (c) 2002-2021, by Derick Rethans
    with Zend OPcache v7.4.22, Copyright (c), by Zend Technologies



ยังไม่จบ !! 

เราต้อง listen port debug ด้วย

  • ใครยังไม่มี Visual Studio Code ไปโหลดมาซะ (ฟรี)

  • ติดตั้ง Plugin ชื่อ PHP Debug (อันที่คนโหลดเยอะสุด)

  • เลือกเมนูที่มีรูปแมลงบนปุ่ม play จากนั้นกด create a launch.json file และเลือก PHP 

  • หลังจากนั้นหน้าจอจะเปลี่ยนไป โดยไฟล์ launch.json ที่ถูกสร้างมาก็ไม่ได้ต้องแก้อะไร
    ** Xdebug โดยปกติจะใช้ port 9003 ถ้าไม่สามารถใช้ได้ต้องแก้ไข port ด้วย >> vscode-php-debug

  • กด เพื่อทำการ start debugging โดยแถบด้านล่างของ VS Code จะเปลี่ยนเป็นสีส้ม

  • จากนั้นสามารถจิ้ม Breakpoint เพื่อ debug ตามจุดต่าง ๆ ได้เลย


         จบจ้า.... ลุยโค้ดต่อได้ :D

Facebook Comment

Recent Posts

Popular post of 7 days

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

ความเร็วเน็ตที่แท้จริง Mbps MBps ???

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)

Popular

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

ความเร็วเน็ตที่แท้จริง Mbps MBps ???

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)

Portal คืออะไรกันนะ???

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

[Android] Download Mode & Recovery Mode

[Android] วิธีลง Custom Rom ให้กับ Android ตัวโปรด