client_host Cài đặt này cho Xdebug biết địa chỉ IP hoặc tên máy chủ của máy đang chạy trình soạn thảo văn bản hoặc IDE của bạn
start_with_request Cài đặt này xác định xem theo dõi chức năng, thống kê thu gom rác, lập hồ sơ hoặc gỡ lỗi từng bước có được kích hoạt khi bắt đầu yêu cầu PHP hay không. Đặt nó thành
0 xây dựng hình ảnh trước khi bắt đầu vùng chứa. Việc sử dụng cờ này là cần thiết vì nếu không có nó, những thay đổi mà chúng tôi đã thực hiện trong
1
2
3
4
5
6
1 sẽ không có hiệu lực
Để loại bỏ những chi phí này, các chuyên gia phần mềm không bao giờ nên bỏ qua việc kiểm tra và sửa lỗi. Trong và sau quá trình sản xuất, họ có thể chạy bộ thử nghiệm tự động để đảm bảo rằng sản phẩm của họ không có lỗi và hoạt động như mong đợi
Tương tự như vậy, trong Dockers, bạn phải chạy các lệnh để tạo và quản lý vùng chứa cũng như chạy một ứng dụng phức tạp để kiểm tra và thực hiện quy trình gỡ lỗi.
Nhưng như đã nói, con đường nào cũng có vũng lầy; . Các ứng dụng gỡ lỗi trước đó từ IDE của bạn rất đơn giản trong môi trường phát triển cục bộ điển hình. Nhưng hiện tại, Xdebug yêu cầu một số cơ chế cấu hình bổ sung
Để giúp bạn, blog này sẽ hướng dẫn bạn từng bước về quá trình cài đặt và cấu hình của Xdebug trong PHPStorm với một .
Điều kiện tiên quyết-
Nó đã được thử nghiệm trên Ubuntu 18. 04 máy chạy PHPStorm 2018. 1. 4 và các phiên bản mới nhất của Docker và Docker Compose. Vài thứ có thể hoạt động hơi khác một chút trong các hệ điều hành khác
Có hiểu biết cơ bản về Docker, PHP và XDebug
Bạn có thể sao chép kho lưu trữ repository này làm cơ sở để làm theo hướng dẫn này vì nó chứa ứng dụng Symfony Flex cơ bản với tất cả nội dung Docker được giải thích trong .
Bước 1 - Dockerize ứng dụng
Cài đặt Xdebug trên bộ chứa Docker của bạn. Cách để làm điều này sẽ phụ thuộc vào hình ảnh cơ sở của bạn. Tôi luôn sử dụng hình ảnh dựa trên núi cao. Tham khảo Dockerfile này để biết cách bạn có thể cập bến ứng dụng Symfony, như được bao gồm trong kho lưu trữ demo.
Đây là đoạn trích có liên quan của Dockerfile cài đặt Xdebug-
Tôi không muốn có một Dockerfile riêng để phát triển và sản xuất, vì vậy tôi đã xác định một đối số bản dựng sẽ cho biết có nên cài đặt Xdebug hay không
Tiếp theo, trên tệp Docker-compose của tôi, tôi có định nghĩa sau cho ứng dụng của mình-
Phần thiết yếu là hướng dẫn "env_file" yêu cầu Compose tải các biến môi trường từ một ". tập tin env". Đó là cách tiêu chuẩn cho các ứng dụng Symfony 4
Chúng tôi sẽ sử dụng tệp đó để thêm một số biến môi trường cần thiết cho Xdebug. Nếu thích, bạn cũng có thể thêm trực tiếp vào tệp soạn thảo docker bằng phần "môi trường"
Biến môi trường
Chúng tôi sẽ xác định các biến môi trường sau-
PHP_IDE_CONFIG - Biến này xác định cấu hình máy chủ được liên kết với ứng dụng. Thêm về điều này sau
XDEBUG_CONFIG - Biến này xác định một vài cấu hình Xdebug. "Máy chủ từ xa" là IP riêng của máy chủ của bạn (máy mà PHPStorm của bạn đang chạy). "remote_port" là cổng mà PHPStorm sẽ lắng nghe các kết nối Xdebug đến. Hai cài đặt này cho phép PHPStorm và Xdebug giao tiếp hiệu quả.
Lưu ý- Bắt buộc phải bật hai cài đặt này để hỗ trợ hoạt động.
Điều đầu tiên bạn nên làm là kiểm tra cài đặt Gỡ lỗi của mình. Trong PHPStorm, đi tới Tệp -> Cài đặt -> Ngôn ngữ và Khung -> PHP > Gỡ lỗi
Đảm bảo rằng bạn có cùng một cổng mà bạn đã định cấu hình trước đó trong biến môi trường "XDEBUG_CONFIG"
Tiếp theo, chúng ta cần cấu hình một máy chủ. Đó là cách PHPStorm sẽ ánh xạ đường dẫn tệp trong hệ thống cục bộ của bạn tới đường dẫn trong vùng chứa của bạn
Chuyển đến Tệp -> Cài đặt -> Ngôn ngữ và Khung -> PHP -> Máy chủ
Đặt tên cho máy chủ của bạn. Nó phải khớp với giá trị bạn đã xác định trong biến môi trường "PHP_IDE_CONFIG" của mình. Chúng tôi sẽ gọi nó là "Symfony-demo. "
"Máy chủ" và "cổng" sẽ cho phép bạn truy cập vào ứng dụng. Trong trường hợp của tôi, đó là máy chủ cục bộ. 8888
Và sau đó là "Ánh xạ đường dẫn. "
Trong phần "Tệp dự án", bạn phải ánh xạ đường dẫn gốc của ứng dụng tới đường dẫn bên trong vùng chứa. Trong trường hợp của tôi, đó là "/var/www/app"
Nhấp vào "Áp dụng" để lưu cấu hình của bạn
Phần cuối cùng là cấu hình trình gỡ lỗi từ xa cho dự án của bạn
Ở trên cùng bên phải, nhấp vào "chỉnh sửa cấu hình"
8. Nhấp vào dấu "cộng" màu xanh lục ở trên cùng bên trái và chọn "Gỡ lỗi từ xa PHP" từ danh sách.
Bây giờ hãy định cấu hình nó như thế này.
Đảm bảo rằng bạn liên kết nó với định nghĩa "máy chủ" đã tạo trước đó. Sử dụng "PHPSTORM" làm khóa IDE để định cấu hình phù hợp.
Khi nó được thiết lập, chúng ta có thể chuyển sang thử nghiệm
Bước 3 - Kiểm tra
Mở "src/Bộ điều khiển/HelloController. php" và đặt một điểm ngắt trong phương thức "hello"
Bắt đầu bộ chứa Docker của bạn với docker-compose up
Sau đó nhấp vào biểu tượng "Bắt đầu nghe các kết nối Gỡ lỗi PHP" ở góc trên cùng bên phải của PHPStorm
Mở - http. //máy chủ cục bộ. 8888?XDEBUG_SESSION_START=PHPSTORM
Nếu bạn đã làm theo các bước một cách cẩn thận, bạn sẽ thấy quá trình thực thi dừng tại điểm dừng của bạn
Và đó là nó. Bạn hiện có một môi trường phát triển được định cấu hình đầy đủ với Docker và Xdebug được tích hợp với PHPStorm IDE
Làm cách nào để bật Xdebug trong Docker?
Để bật Xdebug cho môi trường Docker của bạn, tạo tệp cấu hình Docker Compose ở chế độ nhà phát triển với tùy chọn --with-xdebug và bất kỳ tùy chọn bắt buộc nào khác, for example. This command adds the Xdebug configuration to your docker-compose. yml file.
Làm cách nào để sử dụng Xdebug với PhpStorm?
Định cấu hình Xdebug để sử dụng ở chế độ Theo yêu cầu .
Vô hiệu hóa Xdebug cho tập lệnh dòng lệnh. Trong hộp thoại Cài đặt/Tùy chọn ( Ctrl+Alt+S ), đi tới PHP. .
Để cho phép PhpStorm kích hoạt Xdebug khi cần thiết, hãy chỉ định đường dẫn đến nó trong trường tiện ích Trình gỡ lỗi, trong khu vực Bổ sung