Ứng dụng PHP không phải lúc nào cũng là ứng dụng web. Nhiều công cụ dòng lệnh, daemon, ứng dụng xử lý hàng đợi tin nhắn và các loại ứng dụng khác thường chạy trong PHP CLI. Có một số cách để bắt đầu phiên gỡ lỗi PHP CLI. Bạn có thể bắt đầu nó từ bên trong PhpStorm và làm cho nó bắt đầu tập lệnh và đính kèm trình gỡ lỗi vào nó. Ngoài ra, bạn có thể để PhpStorm lắng nghe các kết nối trình gỡ lỗi đến và bắt đầu tập lệnh bên ngoài IDE. Chúng ta sẽ xem xét cả hai lựa chọn
Trước khi bạn bắt đầu gỡ lỗi, hãy đảm bảo rằng bạn đã cài đặt và định cấu hình đúng công cụ gỡ lỗi. PhpStorm hỗ trợ gỡ lỗi bằng hai công cụ phổ biến nhất. Trình gỡ lỗi Xdebug và Zend. Không thể sử dụng đồng thời các công cụ này vì chúng chặn lẫn nhau. Để tránh sự cố này, bạn cần cập nhật các phần tương ứng trong php. ini như được mô tả trong Định cấu hình Xdebug và Định cấu hình Trình gỡ lỗi Zend.
Mở php đang hoạt động. ini trong trình chỉnh sửa.
Trong hộp thoại Cài đặt/Tùy chọn [Ctrl+Alt+S], nhấp vào PHP.
Trên trang PHP mở ra, hãy nhấp vào
bên cạnh trường Trình thông dịch CLI .Trong hộp thoại Trình thông dịch CLI mở ra, Tệp cấu hình read-only field shows the path to the active php.ini tập tin. Nhấp vào Mở trong Trình chỉnh sửa .
Bắt đầu phiên sửa lỗi từ PhpStorm
Để bắt đầu gỡ lỗi tập lệnh PHP CLI từ bên trong PhpStorm, hãy thực hiện các bước sau
Tạo Cấu hình Chạy/Gỡ lỗi
PhpStorm sử dụng cấu hình Chạy/Gỡ lỗi để thực thi tập lệnh từ bên trong IDE. Một cấu hình có thể xác định các đối số bổ sung cho trình thông dịch PHP cũng như khởi chạy các lệnh khác trước khi bắt đầu tập lệnh của chúng ta. Chúng tôi sẽ cần cấu hình Chạy/Gỡ lỗi để bắt đầu trình gỡ lỗi từ bên trong PhpStorm
Tạo cấu hình Chạy/Gỡ lỗi cho tập lệnh PHP theo cách thủ công
Tạo cấu hình Chạy/Gỡ lỗi mới bằng cách sử dụng Chạy. Trình đơn Chỉnh sửa cấu hình .
Thêm cấu hình mới của loại PHP Script và cung cấp các tham số cần thiết, chẳng hạn như tập lệnh sẽ được thực thi
Lưu cấu hình Run/Debug đã tạo
Tạo cấu hình Chạy/Gỡ lỗi cho tập lệnh PHP
Nhấp chuột phải vào cửa sổ công cụ Dự án và chọn Gỡ lỗi. từ menu ngữ cảnh [đảm bảo chọn mục được đánh dấu bằng
]. Ngoài ra, hãy mở tập lệnh trong trình chỉnh sửa, nhấn Alt+Shift+F9 và chọn tập lệnh cần gỡ lỗi.IDE sẽ khởi chạy tập lệnh với trình gỡ lỗi được bật và mở cửa sổ công cụ Gỡ lỗi
Khởi chạy Trình gỡ lỗi
Trước khi khởi chạy trình gỡ lỗi, hãy đảm bảo rằng bạn đã đặt điểm ngắt hoặc tùy chọn Ngắt ở dòng đầu tiên trong tập lệnh PHP được bật trên trình gỡ lỗi . Settings/Preferences dialog Ctrl+Alt+S.
Nhấp vào
trên thanh công cụ PhpStorm.Nhấn Alt+Shift+F9
Chọn Chạy. Gỡ lỗi từ menu chính.
Chuyển đổi nhanh chóng giữa các trình thông dịch PHP đã định cấu hình
Nhấn Ctrl+Shift+A và bắt đầu nhập
Change PHP interpreter
. Trong danh sách gợi ý, hãy chọn hành động Thay đổi trình thông dịch PHP .Nếu cần, bạn có thể chỉ định phím tắt cho tác vụ này trực tiếp trong danh sách đề xuất bằng cách nhấn Alt+Enter hoặc sau đó như được mô tả trong Định cấu hình phím tắt
Trong menu bật lên mở ra, hãy chọn một trong các trình thông dịch PHP cục bộ hoặc từ xa đã định cấu hình
Trình thông dịch đã chọn sẽ được đặt làm trình thông dịch dự án mặc định trên trang PHP của hộp thoại Cài đặt/Tùy chọn [Ctrl+Alt+S . Điều này cũng sẽ ảnh hưởng đến cấu hình chạy/gỡ lỗi, cấu hình của khung kiểm tra và công cụ chất lượng được đặt để sử dụng trình thông dịch dự án mặc định.
Bắt đầu phiên gỡ lỗi từ dòng lệnh
Trước khi bạn bắt đầu phiên sửa lỗi với PhpStorm khi chạy tập lệnh CLI, hãy đảm bảo rằng bất kỳ yêu cầu nào sau đây đều được đáp ứng
Tùy chọn
remote_autostart
[đối với Xdebug 2] hoặcstart_with_request
[đối với Xdebug 3] của Xdebug được bậtBiến môi trường
XDEBUG_CONFIG
tồn tại
Lắng nghe các kết nối trình gỡ lỗi đến
Trong PhpStorm, cho phép nghe các kết nối gỡ lỗi đến bằng cách nhấp vào
Bắt đầu tập lệnh với các tùy chọn trình gỡ lỗi
Vì chúng tôi sẽ bắt đầu tập lệnh từ dòng lệnh, chúng tôi sẽ phải đảm bảo rằng tập lệnh được bắt đầu với các cài đặt bắt buộc để bật trình gỡ lỗi
Bắt đầu tập lệnh với Xdebug
Xdebug có nhiều tùy chọn cấu hình khác nhau mà chúng ta có thể sử dụng để cho phép trình thông dịch PHP tiếp cận với PhpStorm. Các tham số này phải được chuyển đến trình thông dịch PHP bằng tham số dòng lệnh -d
. Ngoài ra, bạn có thể đặt biến môi trường để không cần cung cấp thông số -d
mỗi lần
Bắt đầu tập lệnh với việc gỡ lỗi bằng cách sử dụng công tắc dòng lệnh PHP
Khởi chạy PHP với các tùy chọn dòng lệnh sau
php -dxdebug. chế độ=gỡ lỗi -dxdebug. client_host=127. 0. 0. 1 -dxdebug. client_port=9003 -dxdebug. start_with_request=có đường dẫn/đến/tập lệnh. php
php -dxdebug. remote_enable=1 -dxdebug. remote_mode=req -dxdebug. remote_port=9000 -dxdebug. remote_host=127. 0. 0. 1 -dxdebug. remote_connect_back=0 đường dẫn/đến/tập lệnh. php
Bắt đầu tập lệnh với việc gỡ lỗi bằng biến môi trường
Đặt biến môi trường cấu hình Xdebug
Cho cửa sổ
đặt XDEBUG_MODE=gỡ lỗi& đặt XDEBUG_SESSION=1
đặt XDEBUG_CONFIG=remote_enable=1 remote_mode=req remote_host=127. 0. 0. 1 remote_port=9000 remote_connect_back=0
Đối với macOS / Linux
xuất XDEBUG_MODE=gỡ lỗi XDEBUG_SESSION=1
xuất XDEBUG_CONFIG="remote_enable=1 remote_mode=req remote_host=127. 0. 0. 1 remote_port=9000 remote_connect_back=0"
Bắt đầu kịch bản bình thường
đường dẫn php/đến/tập lệnh. php
Theo tùy chọn, bạn có thể sử dụng cài đặt remote_autostart [đối với Xdebug 2] hoặc start_with_request [đối với Xdebug 3] của Xdebug để luôn bắt đầu phiên gỡ lỗi cho mọi tập lệnh được chạy
Bắt đầu tập lệnh với Zend Debugger
Trình gỡ lỗi Zend có nhiều tùy chọn cấu hình khác nhau mà chúng ta có thể sử dụng để cho phép trình thông dịch PHP tiếp cận với PhpStorm. Các tham số này phải được chuyển đến trình thông dịch PHP bằng biến môi trường
Bắt đầu tập lệnh với gỡ lỗi
Đặt biến môi trường
QUERY_STRING
đặt QUERY_STRING=start_debug=1&debug_host=127. 0. 0. 1&no_remote=1&debug_port=10137&debug_stop=1
xuất QUERY_STRING="start_debug=1&debug_host=127. 0. 0. 1&no_remote=1&debug_port=10137&debug_stop=1"
Bắt đầu kịch bản bình thường
đường dẫn php/đến/tập lệnh. php
Tùy chọn, để cho PhpStorm biết cấu hình ánh xạ đường dẫn nào sẽ được sử dụng cho kết nối từ một máy nhất định, giá trị của biến môi trường PHP_IDE_CONFIG
phải được đặt thành serverName=SomeName
, trong đó SomeName
là tên của máy chủ được định cấu hình trên < . Trang Máy chủ PHP | Servers của hộp thoại Cài đặt/Tùy chọn [Ctrl+Alt+S].
đặt PHP_IDE_CONFIG=serverName=SomeName
xuất PHP_IDE_CONFIG="serverName=SomeName"
Nếu biến môi trường này không được đặt, bạn sẽ được nhắc chỉ định ánh xạ đường dẫn theo cách thủ công sau khi IDE phát hiện kết nối Xdebug đến
gỡ lỗi
Khi tập lệnh được bắt đầu, PhpStorm sẽ mở cửa sổ công cụ Gỡ lỗi và ngắt tại điểm dừng đầu tiên được đặt trong tập lệnh. Bây giờ, bạn có thể tiếp tục gỡ lỗi tập lệnh PHP CLI như được mô tả trong Kiểm tra chương trình bị treo
Nếu tập lệnh đang được sửa lỗi không phải là một phần của dự án đang mở trong PhpStorm, IDE sẽ vẫn mở tập lệnh trong trình chỉnh sửa và tạm dừng thực thi ở câu lệnh đầu tiên. Điều này giúp bạn có thể nhanh chóng gỡ lỗi bất kỳ tập lệnh PHP CLI nào, ngay cả khi chưa có dự án PhpStorm nào cho tập lệnh đó