HomeLập trìnhPhpCách thiết lập...

Cách thiết lập môi trường gỡ lỗi cục bộ trong PHP


Gần đây, tôi bắt đầu tập trung nhiều hơn vào PHP và tôi cần thiết lập môi trường gỡ lỗi cục bộ. Vì không có nhiều hướng dẫn về cách thực hiện nên tôi đã gặp phải một số vấn đề về cách thiết lập và chạy thiết lập.

Bằng cách kết hợp một số hướng dẫn và dành vài giờ trên một số diễn đàn, tôi đã nghĩ ra văn bản này. Ứng dụng tôi đang làm việc chạy bên trong hộp Vagrant bị rung bằng cách nào đó. Nó thỉnh thoảng bị sập nên tôi phải làm lại thiết lập này và do đó tôi biết thiết lập này hoạt động :).

Mục tiêu của hướng dẫn này là làm cho Xdebug hoạt động trên máy chủ của bạn và sau đó trỏ PhpStorm tới Xdebug.

Bắt đầu nào.

điều kiện tiên quyết

Nếu bạn chưa cài đặt Xdebug trên máy chủ của mình nhưng đang sử dụng PHP7, bạn có thể thực hiện bằng cách sử dụng Hướng dẫn cài đặt phù hợp từ trang Xdebug chính thức tại đây.

Tuy nhiên, vì dự án của tôi đang sử dụng PHP5, tôi phải thực hiện theo cách cũ: tìm kiếm nó trên các diễn đàn.

Trong hướng dẫn này, tôi giả sử bạn đã cài đặt Xdebug.

Bắt đầu

Trước tiên, bạn cần tìm vị trí của tệp xdebug.so trên máy chủ của mình. Sao chép vị trí ở đâu đó vì bạn sẽ sử dụng nó sau này.

locate xdebug.so

Bây giờ, bạn cần điều hướng bên trong máy chủ của mình đến một vị trí: /etc/php5/apache2/conf.d/ và kiểm tra xem tệp 20-xdebug.ini có tồn tại ở đó không. Nếu nó không tồn tại, hãy tạo một cái. Bạn có thể tạo một cái bằng các lệnh như touch, vim, vi, nano, v.v.

Đọc thêm  Kết nối Javascript với PHP - JavaScript

Bạn có thể thấy dự án của tôi được tạo bằng PHP5, vì vậy hãy thay đổi tên/vị trí thư mục của bạn theo phiên bản PHP của bạn.

Bây giờ hãy mở tệp 20-xdebug.ini và dán tệp này vào:

zend_extension=”location to your xdebug.so file”
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_host=”your localhost address”
xdebug.remote_autostart=1
xdebug.remote_connect_back=0
xdebug.remote_handler=”dbgp”
xdebug.remote_mode=req
xdebug.remote_cookie_expire_time=-9999
xdebug.remote_log=”/tmp/xdebug.log”
xdebug.var_display_max_depth=15
xdebug.profiler_enable=0
xdebug.idekey=”phpstorm”

Từ giải thích về tệp 20-xdebug.ini được viết dưới đây, bạn sẽ thấy rằng một số cài đặt này là không cần thiết hoặc chúng được đặt thành giá trị mặc định. Tôi giữ các giá trị này trong tệp 20-xdebug.ini vì chúng rất hữu ích khi biết.

Giải thích về tệp 20-xdebug.ini:

  • xdebug.remote_enable — kiểm soát xem Xdebug có cố gắng liên hệ với ứng dụng gỡ lỗi đang lắng nghe trên máy chủ và cổng như đã đặt với cài đặt hay không
  • xdebug.remote_port — Cổng mà Xdebug cố gắng kết nối trên máy chủ từ xa. Mặc định là 9000.
  • xdebug.remote_host — Chọn máy chủ nơi ứng dụng khách gỡ lỗi đang chạy. Mặc định là máy chủ cục bộ.
  • xdebug.remote_autostart — khi cài đặt này được đặt thành 1, Xdebug sẽ cố gắng bắt đầu phiên gỡ lỗi từ xa và cố gắng kết nối với máy khách.
  • xdebug.remote_connect_back — Nếu được bật, cài đặt xdebug.remote_host sẽ bị bỏ qua và Xdebug sẽ cố gắng kết nối với máy khách đã thực hiện yêu cầu HTTP. Mặc định là 0.
  • xdebug.remote_handler — Có thể là ‘php3’ chọn đầu ra trình gỡ lỗi kiểu PHP 3 cũ, ‘gdb’ cho phép GDB giống như giao diện trình gỡ lỗi hoặc ‘dbgp’ — giao thức trình gỡ lỗi. Giao thức DBGp là giao thức duy nhất được hỗ trợ. Mặc định là dbgp.
  • xdebug.remote_mode — Chọn thời điểm bắt đầu kết nối gỡ lỗi. Cài đặt này có thể có hai giá trị khác nhau: req — Xdebug sẽ cố gắng kết nối với ứng dụng gỡ lỗi ngay khi tập lệnh bắt đầu. jit — Xdebug sẽ chỉ cố gắng kết nối với ứng dụng gỡ lỗi ngay khi xảy ra tình trạng lỗi.
  • xdebug.remote_cookie_expire_time — Cài đặt này có thể được sử dụng để tăng (hoặc giảm) thời gian mà phiên gỡ lỗi từ xa vẫn hoạt động thông qua cookie phiên. Mặc định là 3600.
  • xdebug.remote_log — Nếu được đặt thành một giá trị, giá trị này được sử dụng làm tên tệp cho một tệp mà tất cả các giao tiếp của trình gỡ lỗi từ xa được ghi vào đó.
  • xdebug.var_display_max_depth — Kiểm soát số lượng phần tử mảng và thuộc tính đối tượng được lồng vào nhau khi các biến được hiển thị bằng xdebug_var_dump(), xdebug.show_local_vars hoặc thông qua Dấu vết Hàm. Mặc định là 3.
  • xdebug.profiler_enable — Cho phép trình cấu hình của Xdebug tạo các tệp trong thư mục đầu ra của cấu hình. Mặc định là 0.
  • xdebug.idekey — Kiểm soát IDE Key mà Xdebug sẽ chuyển cho trình xử lý trình gỡ lỗi DBGp. Giá trị mặc định dựa trên cài đặt môi trường.
Đọc thêm  CẤP BÁCH! Viết một Trang HTML + PHP hợp lệ sẽ đếm các số từ 1 đến 1.000.000?

Lưu tệp và khởi động lại máy chủ Apache:

sudo service apache2 restart

Xdebug và PhpStorm

Đầu tiên bạn cần mở PhpStorm và chọn Run > Edit Configuration. Ở đó bạn nên chọn + (Thêm cấu hình mới) và chọn “Gỡ lỗi từ xa PHP”.

Thay đổi tên của cấu hình từ “Chưa đặt tên” thành tên khác. Tôi đã chọn tên “Hướng dẫn” vì những lý do rõ ràng;) Sau đó, hãy kiểm tra “Kết nối gỡ lỗi bộ lọc bằng phím IDE”.

NjnubSo0dlzY8tQYtosUr2zbV-3PwZtPvdd9

Chọn nút Máy chủ (…) rồi chọn + (Thêm Máy chủ mới).

  • Đổi tên Máy chủ của bạn thành một cái gì đó nhẹ nhàng hơn. Tôi đã chọn “localbackend1” trong ví dụ này.
  • Trong trường Máy chủ, nhập vào máy chủ cục bộ của bạn. Đặt Trình gỡ lỗi thành Xdebug.
  • Chọn “Sử dụng ánh xạ đường dẫn” và trỏ đến thư mục ứng dụng của bạn.

Nhấp vào Áp dụng. Bạn sẽ được đưa trở lại cửa sổ trước đó, nơi bạn sẽ thấy rằng khóa IDE có thể chỉnh sửa được và bây giờ bạn cần nhập khóa. Tôi luôn đặt “phpstorm” hoặc thứ gì đó tương tự.

KaooonBEOf6t7dTzZn8fGN-unZ7tyOEK9BHJ

Bạn sẽ nhận thấy rằng khóa IDE “phpstorm” đã có trong tệp 20-xdebug.ini của bạn:

xdebug.idekey=”phpstorm”

Bạn cũng nên chọn Chỉ một phiên bản vì nó sẽ ngăn bạn khởi chạy nhiều phiên bản của cùng một dự án.

Nhấp vào để Áp dụng và Voilà!

Bạn đã hoàn tất việc thiết lập!

Kiểm tra và kết thúc

Bây giờ bạn đã hoàn tất. Bạn sẽ thấy cấu hình Hướng dẫn mà chúng tôi đã tạo ở góc trên bên phải của PhpStorm.

Đọc thêm  Tìm hiểu Cú pháp, Nhận xét, Biến và Kiểu dữ liệu PHP – với các ví dụ
aJXGrZ-94n-cjERXOV4rjkTLm8kNe3GsboJ9

Bạn có thể kiểm tra nó bằng cách đặt điểm ngắt trong dự án của mình. Nhấp vào nút “lỗi” trong cửa sổ cấu hình của Hướng dẫn rồi chạy ứng dụng của bạn.

Đó là tất cả, nếu mọi thứ đều ổn, bạn nên đạt đến điểm dừng.

Và hãy nhớ rằng, không có gì tuyệt vời hơn cảm giác nhìn thấy các giá trị thời gian chạy trong khi gỡ lỗi.

Cảm ơn bạn đã đọc! Xem thêm các bài viết như thế này và những nội dung thú vị khác mà tôi tạo trên hồ sơ Github của mình: https://github.com/GoranAviani



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status