วิธีการดีบักรหัส Magento 2 เมื่อใช้บรรทัดคำสั่ง?


10

การเรียกใช้สคริปต์ในบรรทัดคำสั่งเป็นสิ่งที่เรามักทำใน Magento 2 ตัวอย่างเช่นเมื่อสร้างโมดูลใหม่เราต้องเรียกใช้setup:upgradeคำสั่ง เราไม่สามารถดูข้อมูลทั้งหมดที่เราจำเป็นต้องรู้

ฉันรู้ว่านักพัฒนาวีโอไอพีหลายคนเลือก PHPStorm เป็นเครื่องมือแก้ไขรายการโปรดของพวกเขา เราจะใช้ PHPStorm เพื่อดีบักบรรทัดคำสั่ง Magento 2 ได้อย่างไร

คำตอบ:


17

ฉันกำหนดค่า " PHP Remote Debug " ใน PHPStorm และเพิ่ม XDEBUG_CONFIG ก่อนสคริปต์เพื่อเริ่มการดีบัก

ชอบ XDEBUG_CONFIG=idekey=phpstorm bin/magento setup:upgrade


วิธีการตั้งค่าการแก้ปัญหาในท้องถิ่น ฉันใช้ php 5.5.15 กับ xdebug 2.2.3 บน windows 10 และ xampp เปิดใช้งานการฟังและการตั้งค่าในการกำหนดค่า แต่เรียกใช้การดีบักคอนโซลโดยไม่มีบันทึกใด ๆ
mrtuvn

หวังว่าเอกสารนี้จะช่วยให้คุณconfluence.jetbrains.com/display/PhpStorm/…
KAndy

มันทำงานได้อย่างสมบูรณ์แบบ!
mrtuvn

2

@ คำตอบของ KAndy ทำให้ฉันถูกทาง แต่ฉันกำลังพัฒนาในพื้นที่โดยใช้คนเร่ร่อนและต้องทำสิ่งต่อไปนี้เพื่อให้ได้งานนี้1

กำหนดค่า Xdebug:

zend_extension=xdebug.so
xdebug.remote_enable = 1

;remote_connect_back will fail because REMOTE_ADDR header wont be set
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
xdebug.idekey = "PHPSTORM"

;remote_host is ignored when remote_connect_back is enabled & successful; fallback
;Set to your HOST MACHINE IP
xdebug.remote_host=xx.xx.xx.xx 

;provides valuable insight if you cant connect. Remove when done.
xdebug.remote_log="/tmp/xdebug.log"

ตั้งค่าremote_hostIP เป็นที่อยู่ IP ของโฮสต์ (สำหรับฉันโดยใช้ที่อยู่ IP จากifconfigบนเครื่องแขกไม่ทำงาน - ที่อยู่ IP ที่ใช้ที่ได้มาจากการตั้งค่าเครือข่ายบนเครื่องโฮสต์เป็นremote_host)

กำหนดค่า PHP Storm

  1. ตั้งค่าเซิร์ฟเวอร์ภายใต้Settings -> Languages and Frameworks -> PHP -> Serversหากคุณยังไม่ได้ดำเนินการ (ดูภาพหน้าจอ) ตัวอย่างการตั้งค่าเซิร์ฟเวอร์ใน PHP Storm
  2. Run -> Edit Configurations และเพิ่ม PHP Remote Debug.
    • เลือกเซิร์ฟเวอร์ที่คุณสร้างใน # 1
    • ตั้งค่าคีย์ IDE เป็น PHPSTORM การตั้งค่าการกำหนดค่า
  3. (ไม่บังคับ) Settings -> Languages and Frameworks -> PHP -> Debugเลือก "หยุดที่บรรทัดแรกในสคริปต์ PHP" (ซึ่งสามารถช่วยแก้ไขปัญหาการแมปเส้นทางของคุณได้)
  4. Run -> Debug Vagrant (หรือสิ่งที่คุณตั้งชื่อการกำหนดค่าของคุณในขั้นตอนที่ 2)
  5. เรียกใช้สคริปต์ที่คุณต้องการแก้ปัญหา ( magento setup:upgradeในกรณีของฉัน)

1ฉันใช้ Ubuntu / trusty64 เพื่อการอ้างอิง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.