Chạy dự án php trong mã phòng thu trực quan

Gỡ lỗi mã PHP trong Mã VS cho phép kiểm tra chương trình PHP, kiểm tra các biến thực tế, dấu vết ngăn xếp, ngoại lệ, ngắt và duyệt qua mã, gỡ lỗi kiểm tra PHPUnit, v.v.

Yêu cầu

Để gỡ lỗi chương trình PHP, bạn cần có PHP (được cài đặt cục bộ hoặc trên máy chủ của bạn) cùng với tiện ích mở rộng Xdebug

Cài đặt PHP cục bộ

Trường hợp hệ thống có nhiều bản cài đặt PHP, xem phần chọn Phiên bản PHP và chọn đúng

Để xác minh PHP và Xdebug của bạn đã được cài đặt chính xác

  • Mở tệp
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    3 trong Mã VS
  • Mở chế độ xem
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    4, tab
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    5

Chạy dự án php trong mã phòng thu trực quan

Nếu PHP với Xdebug được cài đặt đúng cách, bạn sẽ thấy

Found PHP, version x.y.z, Xdebug: x.y.z.

Cấu hình ; Xdebug 3 zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so" xdebug.mode = debug xdebug.client_host = 127.0.0.1 xdebug.client_port = 9003 xdebug.start_with_request = trigger6

Xdebug cần được đặt trong tệp

; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
6 tương ứng với cài đặt PHP của bạn

  • Trên Windows, nó nằm bên cạnh
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    1 của bạn
  • Trên Linux/Mac, thường có một tệp
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    2 riêng (thường giống như tệp
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    3)

Chỉnh sửa tệp

; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
4 và đảm bảo có các lệnh sau (Lưu ý, các lệnh này khác nhau đối với các phiên bản Xdebug
; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
5 và
; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
6)

; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
; Xdebug 2
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_mode = req

Máy chủ cài đặt PHP

Điều này áp dụng cho tình huống khi PHP không chạy trên hệ thống cục bộ của bạn mà chạy trên Đám mây, Máy chủ web, Docker, Xampp, v.v.

Trong trường hợp bản thân

; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
7 không chạy trên hệ thống cục bộ của bạn, hãy tham khảo cách cài đặt PHP+Xdebug với máy chủ lưu trữ cụ thể

Sau đó, bạn có thể tận dụng DBGP Proxy để cho phép nhiều người dùng gỡ lỗi trên cùng một trang web một cách an toàn

Khởi chạy Gỡ lỗi trong VSCode

Khởi chạy gỡ lỗi trong Visual Studio Code để chạy chương trình và gỡ lỗi hoặc để lắng nghe các kết nối Xdebug sắp tới và gỡ lỗi. Gỡ lỗi PHP có thể được bắt đầu theo nhiều cách, có hoặc không có VS Code Workspace, có hoặc không có cấu hình

; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
8

Với ; Xdebug 3 zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so" xdebug.mode = debug xdebug.client_host = 127.0.0.1 xdebug.client_port = 9003 xdebug.start_with_request = trigger8

Tệp

; Xdebug 2
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_mode = req
0 là tệp cấu hình trong Thư mục Mã VS hoặc Không gian làm việc của bạn

  1. Mở thư mục hoặc không gian làm việc mở trong Mã VS. Điều này cho phép chỉ định cấu hình khởi chạy gỡ lỗi chi tiết hơn
  2. Điều hướng đến chế độ xem
    ; Xdebug 2
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.remote_enable = 1
    xdebug.remote_handler = dbgp
    xdebug.remote_host = 127.0.0.1
    xdebug.remote_port = 9000
    xdebug.remote_mode = req
    1 và nhấp vào
    ; Xdebug 2
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.remote_enable = 1
    xdebug.remote_handler = dbgp
    xdebug.remote_host = 127.0.0.1
    xdebug.remote_port = 9000
    xdebug.remote_mode = req
    2 hoặc thiết bị cấu hình.
    Chạy dự án php trong mã phòng thu trực quan
  3. Xem ra mắt. json để khởi tạo và mô tả cấu hình khởi chạy PHP

Không có ; Xdebug 3 zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so" xdebug.mode = debug xdebug.client_host = 127.0.0.1 xdebug.client_port = 9003 xdebug.start_with_request = trigger8, chỉ cần gỡ lỗi

Gỡ lỗi có thể được bắt đầu mà không cần bất kỳ cấu hình nào. Điều này được khuyến nghị nếu bạn chỉ cần đính kèm vào Máy chủ Web hiện có (đã định cấu hình Xdebug) hoặc để nhanh chóng chạy và gỡ lỗi tập lệnh PHP

  1. Mở một. Tệp
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    7 trong Mã VS (______85)
  2. Nhấn
    ; Xdebug 2
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.remote_enable = 1
    xdebug.remote_handler = dbgp
    xdebug.remote_host = 127.0.0.1
    xdebug.remote_port = 9000
    xdebug.remote_mode = req
    6 hoặc Open Command Palette (_______87) và chọn một trong các tùy chọn sau.
    Chạy dự án php trong mã phòng thu trực quan
  • ; Xdebug 2
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.remote_enable = 1
    xdebug.remote_handler = dbgp
    xdebug.remote_host = 127.0.0.1
    xdebug.remote_port = 9000
    xdebug.remote_mode = req
    8 bắt đầu gỡ lỗi và đợi kết nối Xdebug đến
  • ; Xdebug 2
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.remote_enable = 1
    xdebug.remote_handler = dbgp
    xdebug.remote_host = 127.0.0.1
    xdebug.remote_port = 9000
    xdebug.remote_mode = req
    9 chạy và gỡ lỗi tài liệu PHP hiện đang mở dưới dạng chương trình PHP bảng điều khiển
  • ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    20 khởi động máy chủ phát triển PHP trong thư mục đã mở của bạn, kiểm tra khả năng sửa lỗi và bắt đầu lắng nghe các kết nối Xdebug

Đặc trưng

Các tính năng gỡ lỗi như sau

  • Bước từng hàng, bước vào, bước ra
  • Đặt điểm ngắt, điểm ngắt có điều kiện, ngắt theo số lần truy cập
  • Điểm dừng đăng nhập vào 'Bảng điều khiển gỡ lỗi'
  • Phá vỡ các ngoại lệ, cảnh báo và lỗi
  • Chỉ định các tệp không phải người dùng (ngoại lệ sẽ không phá vỡ gỡ lỗi, từng bước)
  • Xem mẹo công cụ
  • Liệt kê người dân địa phương và siêu toàn cầu
  • Chỉnh sửa giá trị biến hoặc thuộc tính, xử lý các giá trị chuỗi dài một cách hiệu quả
  • Mảng dài xem hiệu quả
  • Đồng hồ gỡ lỗi mở rộng các đối tượng và mảng
  • Đánh giá mã trong 'Bảng điều khiển gỡ lỗi'
  • Gỡ lỗi khởi chạy hồ sơ
  • Máy chủ phát triển web tích hợp
  • Gỡ lỗi các trường hợp kiểm tra 'Đơn vị PHP'

Gỡ lỗi đồ trang trí

Khi lướt qua code, trình soạn thảo sẽ hiển thị giá trị của các biến và biểu thức tương ứng với câu lệnh hiện tại. Các giá trị cũng được hiển thị cho các phạm vi kèm theo, chẳng hạn như các biến điều khiển vòng lặp, biểu thức chuyển đổi và các tham số chức năng

Có thể bật hoặc tắt tính năng này bằng Cài đặt mã VS

; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
21

Chạy dự án php trong mã phòng thu trực quan

Bắt đầu gỡ lỗi và dừng khi nhập cảnh

Mở bảng lệnh và chạy

; Xdebug 3
zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger
22 (aka Step Into). Lệnh khởi chạy gỡ lỗi và ngắt câu lệnh đầu tiên

Xử lý sự cố

Đây là các bước giúp chẩn đoán và giải quyết các sự cố thường gặp khi gỡ lỗi PHP

  • Chạy lệnh sau sẽ không hiển thị cảnh báo nào và thông báo Xdebug

    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    2____26
  • Số cổng được chỉ định trong cấu hình Xdebug

    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    4 phải là
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    24 hoặc
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    25 hoặc phải khớp với
    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    26 được chỉ định trong Hồ sơ khởi chạy

  • Tường lửa phải được thiết lập đúng cách để cho phép giao tiếp qua cổng Xdebug

  • Nối tham số truy vấn sau khi mở Trang web PHP đã sửa lỗi

    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    1

    Ví dụ.

    ; Xdebug 3
    zend_extension = "" ; "...\xdebug.dll" or ".../xdebug.so"
    xdebug.mode = debug
    xdebug.client_host = 127.0.0.1
    xdebug.client_port = 9003
    xdebug.start_with_request = trigger
    27

  • Trong trường hợp Mã VS nằm sau proxy, hãy xem https. //mã số. Visual Studio. com/docs/setup/network để biết các cài đặt bổ sung

    Tôi có thể chạy PHP trong mã Visual Studio không?

    Chạy và gỡ lỗi PHP trong Visual Studio . Máy chủ được cấu hình trong dự án (theo mặc định là máy chủ Web tích hợp sẵn của PHP) sẽ chạy và trình duyệt mở ra. Sau đó, điểm dừng sẽ bị tấn công. Place a breakpoint F9 and hit F5 to run the project and start debugging. The server which is configured in the project (by default it's PHP's built-in Web server) will run and a browser opens. Then the breakpoint will get hit.

    Làm thế nào để chạy một dự án PHP?

    Bây giờ, để chạy tập lệnh PHP. .
    Chuyển đến “C. \xampp\htdocs” và bên trong nó, tạo một thư mục. .
    Trong thư mục demo, tạo một tệp văn bản mới và đặt tên là “index. .
    Bây giờ, để xem đầu ra của tập lệnh, hãy mở bảng điều khiển XAMPP và khởi động Apache để lưu trữ máy chủ web cục bộ, nơi tập lệnh của chúng ta sẽ chạy

    Làm cách nào để PHP có thể thực thi được trong vscode?

    executablePath' để định cấu hình tệp thực thi PHP. .
    Đầu tiên. Mở cài đặt. .
    CTRL+SHIFT+P. gõ ext install PHP Debug và cài đặt trận đấu đầu tiên. .
    Sắp xong

    Làm cách nào để khởi động máy chủ PHP trong Visual Studio Code?

    Có nhiều cách để chạy máy chủ PHP. .
    CTRL + SHIFT + P và tìm kiếm Máy chủ PHP. Phục vụ lệnh dự án
    Nhấp vào nút chỉnh sửa của vscode (biểu tượng ở góc trên bên phải)
    Nhấp chuột phải vào trình soạn thảo của vscode khi một. php hoặc một. html đang mở