Docker Php_ide_config

Cloud Docker for Commerce cung cấp một vùng chứa riêng để xử lý các yêu cầu Xdebug trong môi trường Docker. Sử dụng vùng chứa này để bật Xdebug và gỡ lỗi mã PHP trong môi trường Docker của bạn mà không ảnh hưởng đến cấu hình dự án Adobe Commerce trên cơ sở hạ tầng đám mây. Phần sau đây giải thích cách định cấu hình Xdebug và PhpStorm để gỡ lỗi trong môi trường Docker cục bộ của bạn

  1. Để bật Xdebug cho môi trường Docker của bạn, hãy 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, chẳng hạn

    CopyCopied to your clipboard

    vendor/bin/ece-docker build:compose --mode="developer" --sync-engine="mutagen" --with-xdebug

    Lệnh này thêm cấu hình Xdebug vào tệp docker-compose.yml của bạn

    CopyCopied to your clipboard

    2 hostname: fpm_xdebug.magento2.docker

    3 image: 'magento/magento-cloud-docker-php:7.4-fpm-1.3.2'

    7 - 'magento-vendor:/app/vendor:ro,delegated'

    8 - 'magento-generated:/app/generated:ro,delegated'

    9 - 'magento-var:/app/var:rw,delegated'

    10 - 'magento-app-etc:/app/app/etc:rw,delegated'

    11 - 'magento-pub-media:/app/pub/media:rw,delegated'

    12 - 'magento-pub-static:/app/pub/static:rw,delegated'

    13 - '.docker/mnt:/mnt:rw,delegated'

    15 - 'PHP_EXTENSIONS=bcmath bz2 calendar exif gd gettext intl mysqli pcntl pdo_mysql soap sockets sysvmsg sysvsem sysvshm opcache zip xsl sodium xdebug'

    19 - fpm_xdebug.magento2.docker

    22 condition: service_started

  2. Làm theo các bước để khởi chạy môi trường Docker ở chế độ Nhà phát triển

    Cấu hình môi trường Docker mặc định đặt các biến cấu hình Xdebug sau

    CopyCopied to your clipboard

    1PHP_IDE_CONFIG=serverName=magento_cloud_docker

    2XDEBUG_CONFIG=remote_host=host.docker.internal

  3. Thay đổi bất kỳ cấu hình Xdebug nào bằng tùy chọn XDEBUG_CONFIG. Ví dụ: để thay đổi xdebug. tùy chọn remote_port

    Một điều quan trọng bạn cần làm là bắt đầu lắng nghe các kết nối gỡ lỗi PHP bằng một biểu tượng điện thoại nhỏ trong PhpStorm của bạn

    Tự động bắt đầu

    Thông thường, bạn sẽ cần một tiện ích mở rộng trình duyệt, tiện ích này sẽ thêm cờ bắt đầu phiên gỡ lỗi vào các yêu cầu của bạn khi bạn cần
    Tuy nhiên, tôi thấy thuận tiện khi bật tự động khởi động và chỉ kiểm soát XDebug qua PhpStorm
    Trường hợp là khi XDebug cố bắt đầu phiên gỡ lỗi nhưng máy chủ từ xa không nghe, XDebug không tiếp tục
    Vì vậy, khi tôi không cần gỡ lỗi, tôi chỉ cần tắt nghe. Tôi tin rằng điều này vẫn thêm một chi phí nhỏ về thời gian cho tất cả các yêu cầu, nhưng đối với tôi thì điều đó không đáng kể

    Nếu bạn không thích cách tiếp cận này, chỉ cần tắt tính năng tự khởi động và bắt đầu phiên theo cách riêng của bạn (xem. )

    Tạo cấu hình Run/Debug trong PhpStorm

    Đôi khi rất hữu ích khi tạo và lưu trữ một số cấu hình cụ thể để bạn có thể chạy đi chạy lại cấu hình đó
    Tôi sẽ không mô tả toàn bộ chủ đề cấu hình Chạy/Gỡ lỗi ở đây mà chỉ mô tả một khía cạnh dành riêng cho Docker. bạn cần dạy PhpStorm của mình chạy trình thông dịch PHP bên trong vùng chứa của bạn

    Đối với điều này, bạn cần tạo cấu hình trình thông dịch PHP CLI mới

    • trong Cài đặt PhpStorm của bạn, hãy truy cập
      # Install Xdebug
      RUN yes | pecl install xdebug \
      && echo "zend_extension=$(find $(php-config --extension-dir) -name xdebug.so)" \
      > /usr/local/etc/php/conf.d/xdebug.ini
      2 và nhấp vào nút '…' gần trường “Thông dịch viên CLI”
    • trong cửa sổ mới, thêm trình thông dịch mới “Từ Docker, Vagrant, VM, Remote…”
    • chọn nút radio “Docker Compose”,
    • chọn hoặc tạo mới Server (dùng Unix socket kết nối với Docker daemon)
    • chọn Docker Soạn tệp cấu hình;
      • ________số 8_______
      • # Install Xdebug
        RUN yes | pecl install xdebug \
        && echo "zend_extension=$(find $(php-config --extension-dir) -name xdebug.so)" \
        > /usr/local/etc/php/conf.d/xdebug.ini
        4
    • chọn dịch vụ ứng dụng PHP của bạn
    • chọn “Kết nối với vùng chứa hiện có” thay vì bắt đầu một vùng chứa mới

    Điều này là đủ, hãy lưu mọi thứ và tạo cấu hình Chạy/Gỡ lỗi của bạn bằng trình thông dịch CLI này

    Ứ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.

    1. Trong hộp thoại Cài đặt (Ctrl+Alt+S), nhấp vào PHP.

    2. 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 .

    3. 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

    1. 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 .

    2. 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

    3. 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 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

    1. 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

    2. Trong menu bật lên mở ra, hãy chọn một trong các trình thông dịch được cấu hình hoặc PHP

    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 (Ctrl+Alt+S). Điều này cũng sẽ ảnh hưởng đến các cấu hình sử dụng trình thông dịch dự án mặc định (khung thử nghiệm', công cụ chất lượng' và cấu hình chạy/gỡ lỗi) và các lệnh chạy trong thiết bị đầu cuối PhpStorm.

    Docker Php_ide_config

    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ặc start_with_request (đối với Xdebug 3) của Xdebug được bật

    • Biế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 trên thanh công cụ hoặc chọn Chạy. Bắt đầu lắng nghe các kết nối gỡ lỗi PHP . Điều này sẽ đảm bảo PhpStorm phản ứng khi phiên gỡ lỗi được bắt đầu và tự động mở cửa sổ công cụ gỡ lỗi. Trước khi khởi chạy tập lệnh, 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 trang Gỡ lỗi của < . Settings dialog Ctrl+Alt+S.

    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 cách sử dụ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 phải 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

    1. Đặ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"

    2. 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 của Xdebug (đối với Xdebug 2) hoặc (đối với Xdebug 3) để 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

    1. Đặ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"

    2. 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 (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 gỡ 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 đó

    Làm cách nào để cài đặt các tiện ích mở rộng PHP trong Docker?

    Dễ dàng cài đặt các tiện ích mở rộng PHP trong hình ảnh PHP Docker chính thức Cách sử dụng Tải xuống tập lệnh nhanh chóng Với Dockerfile Với curl Với thực thi trực tiếp từ curl .

    Làm cách nào để chạy tập lệnh PHP ở chế độ gỡ lỗi?

    Bạn có thể bắt đầu gỡ lỗi tập lệnh PHP CLI từ dòng lệnh, yêu cầu PhpStorm lắng nghe các kết nối trình gỡ lỗi đến. Đặt các điểm ngắt khi cần thiết. Bắt đầu nghe nút Kết nối gỡ lỗi PHP trên thanh công cụ/thanh trạng thái hoặc chọn Chạy. Bắt đầu nghe các kết nối gỡ lỗi PHP từ menu chính .

    Làm cách nào để thiết lập xdebug trong PhpStorm?

    Định cấu hình Xdebug trong PhpStorm .
    Nhấn Ctrl+Alt+S để mở cài đặt IDE và chọn PHP
    Kiểm tra cài đặt Xdebug được liên kết với trình thông dịch PHP đã chọn. .
    Xác định hành vi Xdebug

    Làm cách nào để sử dụng Xdebug trong laravel?

    Cách bật Xdebug trên Laravel Sail và gỡ lỗi mã bằng Mã VS .
    Kích hoạt Xdebug trong Laravel Sail
    Mã VS Cấu hình Gỡ lỗi PHP
    — 2. 1 Mã VS cài đặt phần mở rộng Gỡ lỗi PHP
    — 2. 2 Tạo khởi chạy. tập tin json
    bắt đầu gỡ lỗi