@ คำตอบของ KAndy ทำให้ฉันถูกทาง แต่ฉันกำลังพัฒนาในพื้นที่โดยใช้คนเร่ร่อนและต้องทำสิ่งต่อไปนี้เพื่อให้ได้งานนี้1
กำหนดค่า Xdebug:
zend_extension=xdebug.so
xdebug.remote_enable = 1
;remote_connect_back will fail because REMOTE_ADDR header won’t 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 can’t connect. Remove when done.
xdebug.remote_log="/tmp/xdebug.log"
ตั้งค่าremote_host
IP เป็นที่อยู่ IP ของโฮสต์ (สำหรับฉันโดยใช้ที่อยู่ IP จากifconfig
บนเครื่องแขกไม่ทำงาน - ที่อยู่ IP ที่ใช้ที่ได้มาจากการตั้งค่าเครือข่ายบนเครื่องโฮสต์เป็นremote_host
)
กำหนดค่า PHP Storm
- ตั้งค่าเซิร์ฟเวอร์ภายใต้
Settings -> Languages and Frameworks -> PHP -> Servers
หากคุณยังไม่ได้ดำเนินการ (ดูภาพหน้าจอ)
Run -> Edit Configurations
และเพิ่ม PHP Remote Debug.
- เลือกเซิร์ฟเวอร์ที่คุณสร้างใน # 1
- ตั้งค่าคีย์ IDE เป็น PHPSTORM
- (ไม่บังคับ)
Settings -> Languages and Frameworks -> PHP -> Debug
เลือก "หยุดที่บรรทัดแรกในสคริปต์ PHP" (ซึ่งสามารถช่วยแก้ไขปัญหาการแมปเส้นทางของคุณได้)
Run -> Debug Vagrant
(หรือสิ่งที่คุณตั้งชื่อการกำหนดค่าของคุณในขั้นตอนที่ 2)
- เรียกใช้สคริปต์ที่คุณต้องการแก้ปัญหา (
magento setup:upgrade
ในกรณีของฉัน)
1ฉันใช้ Ubuntu / trusty64 เพื่อการอ้างอิง