Ứng dụng web gỡ lỗi phpstorm
Docker đã làm thay đổi đáng kể cách chúng ta phát triển các ứng dụng. Docker thực sự dễ dàng để bắt bất kỳ trình lập trình viên nào có thể chạy các ứng dụng phức tạp chỉ với 1 dòng lệnh mà không cần phải lắng nghe về các thông tin chi tiết khác. Những lợi ích này rất tiện lợi khi sử dụng làm việc cùng nhóm hoặc bối cảnh doanh nghiệp Tôi vẫn nhớ phải mất đến 3 ngày đầu tiên khi tham gia vào công ty hiện tại để cấu hình dự án và tất cả các thư viện, công cụ liên quan khác. Docker có thể giúp công việc này dễ dàng hơn, nhanh hơn và có tính nhất quán Việc duy trì các công cụ của Docker khá phức tạp, bên ngoài một số thứ có thể sẽ dễ dàng hơn khi chạy ứng dụng trong môi trường phát triển ứng dụng bình thường như gỡ lỗi ứng dụng của bạn từ trình soạn thảo (IDE). Khi sử dụng docker thì cần một số cấu hình bổ sung. Và trong trường hợp này là Xdebug, đây không phải là một nhiệm vụ dễ dàng Tôi không tìm thấy bất kỳ hướng dẫn nào từ lúc bắt đầu cho đến khi kết thúc. Đó là lý do tại sao tôi viết bài này. Nó sẽ hướng dẫn bạn từng bước thông qua quá trình cài đặt và cấu hình Xdebug bằng PHPStorm với một ứng dụng Dockerized Symfony 4 Chuẩn bị
Cấu hình ứng dụng DockerizeTất nhiên, để có thể sử dụng Xdebug, bạn phải cài đặt nó trên Docker container của bạn Cách để làm điều này, sẽ phụ thuộc vào hình ảnh cơ bản của bạn. Tôi luôn sử dụng hình ảnh dựa trên núi cao. Tôi sẽ không nói chi tiết về cách Dockerize một ứng dụng Symfony. Bạn có thể làm tương tự với Dockerfile đã có trong kho lưu trữ demo Đây là đoạn trích dẫn có liên quan của Dockerfile cài đặt Xdebug ARG WITH_XDEBUG=false RUN if [ $WITH_XDEBUG = "true" ] ; then \ pecl install xdebug; \ docker-php-ext-enable xdebug; \ echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ fi ; Tôi không muốn có một Dockerfile riêng biệt cho việc phát triển và sản xuất, vì vậy tôi đã xác định một đối số xây dựng sẽ cho biết liệu chúng tôi có muốn cài đặt Xdebug hay không Sau đó, 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 version: "3" services: php: build: context: . args: - WITH_XDEBUG=true env_file: .env volumes: - .:/var/www/app:rw Xem toàn bộ tập tin docker-compose Quan trọng là lệnh “env_file”, thông báo cho Compose tải các biến môi trường từ một tệp “. env”, là tiêu chuẩn cho các ứng dụng Symfony 4 Chúng tôi sẽ sử dụng tập tin đó để bổ sung 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 docker-compose bằng cách sử dụng phần “môi trường” Các biến môi trườngChúng ta sẽ xác định các biến môi trường sau
Chúng ta sẽ thêm chúng vào tệp “. env” của chúng ta như sau PHP_IDE_CONFIG=serverName=symfony-demo XDEBUG_CONFIG=remote_host=192.168.1.102 remote_port=9001 Các cấu hình PHPStormĐiều đầu tiên bạn nên làm là kiểm tra cài đặt Gỡ lỗi của bạn. Trong PHPStorm, vào File -> Settings -> Languages and Frameworks -> PHP> Debug Đảm bảo rằng bạn có một số 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ủ. Đây là cách PHPStorm sẽ ánh xạ (bản đồ) đường dẫn tệp trong hệ thống cục bộ của bạn tới đường dẫn tệp trong vùng chứa (vùng chứa) của bạn Đi tới 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 “PHP_IDE_CONFIG” của bạn. Chúng tôi sẽ gọi nó là “symfony-demo” “Host” và “port” là cách truy cập ứng dụng của bạn. Trong trường hợp của tôi là localhost. 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 của bạn 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” lướt 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 của 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” Lật vào ký hiệu “dấu cộng” màu xanh ở phía trên cùng bên trái và chọn “PHP Remote Debug” từ danh sách Bây giờ cấu hình nó như thế này Đảm bảo bạn liên kết nó với “server” đã tạo trước đó. Sử dụng “PHPSTORM” làm idekey IDE của bạn bây giờ sẽ được cấu hình đúng kiểm tra
Bây giờ bạn đã có một môi trường phát triển được cấu hình đầy đủ với Docker và Xdebug được tích hợp với IDE PHPStorm |