前提・実現したいこと
dockerでxdebugを使いたい
発生している問題・エラーメッセージ
ブレークポイントで止まらない
phpのinfo()
にはxdebugの情報が表示されています。
試したこと
サイトを見ながらdockerのphp.iniに/usr/lib/php/extensions/no-debug-non-zts-20180731/xdebug.soを記入して、ターミナルでdocker-compose up --build
を実行するとコンテナは作成されているのですが、build中に下記のようなエラーが出ています。
Failed loading /usr/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so: /usr/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so: cannot open shared object file: No such file or directory
php.ini、launch.jsonには下記を記入しています。
ini
1[xdebug] 2zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so 3xdebug.client_host = docker.host.internal 4xdebug.mode = debug 5xdebug.start_with_request = yes 6xdebug.discover_client_host = 0 7xdebug.remote_handler = "dbgp" 8xdebug.client_port = 9003 9xdebug.log = /tmp/xdebug.log
json
1{ 2 "name": "XDebug on docker", 3 "type": "php", 4 "request": "launch", 5 "port": 9003,//php.iniで設定したxdebug用のport番号 6 "pathMappings": { 7 "/var/www/html":"/Users/ユーザ名/html" 8 } 9}
補足情報(FW/ツールのバージョンなど)
vscode
PHP:7.4-apache
xdebug-3.0.2
プログラミング初心者のため、問題の切り分けもできませんでした。アドバイスいただけるでしょうか。よろしくお願いします。
###追記
ファイル構造は下記のようになっています。
┳docker-compose.yml ┗testapp-web┳Dockerfile ┗php.ini
Dockerfile
1FROM php:7.4-apache 2 3COPY ./php.ini /usr/local/etc/php/ 4 5RUN apt-get update &&\ 6 apt-get install -y libpq-dev &&\ 7 apt-get install -y vim &&\ 8 docker-php-ext-install pdo pdo_pgsql pgsql &&\ 9 pecl install xdebug &&\ 10 docker-php-ext-enable xdebug
yml
1version: "3" 2 3services: 4 #PHP + Apache 5 testapp-web: 6 container_name: testapp-web 7 build: 8 context: ./testapp-web/ 9 dockerfile: Dockerfile 10 volumes: 11 - ../html:/var/www/html 12 - ./testapp-web:/usr/local/etc/php/7.4 13 ports: 14 - "80:80"
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/22 10:59
退会済みユーザー
2021/02/22 11:01
2021/02/22 11:13 編集