ドッカー開発環境では、ドッカー作成用ファイルを使用しています。すべてうまく動作し、私たちは本当に幸せですが、私は働くことになる小さな問題が1つあります。docker-composeファイルでホストipを動的に取得する方法は?
xdebugでphp-fpmをインストールします。次のように今、私たちはそれを設定:
PHP-Dockerfile:
FROM php:7.1-fpm
RUN docker-php-ext-install pdo_mysql \
&& docker-php-ext-install json \
&& pecl install xdebug \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
ドッキングウィンドウ-compose.yml:
services:
//[...]
php:
build: ./docker/php/
container_name: dev-php
expose:
- 9000
volumes:
- .:/var/www/html
environment:
XDEBUG_CONFIG: remote_host=192.168.0.50
PHP_IDE_CONFIG: "serverName=docker"
このセットアップは正常に動作します:我々はしてデバッグすることができますローカルシステム上のIDEのxdebug唯一の問題は、docker-compose-fileに1つのIP "192.168.0.50"静的を保存することです。 を構築する際に動的ホストIPアドレスを取得するためのよりスマートな方法がある。だから、各従業員のhastは今...実行する前に、自分自身のIPへの質問を
それを変更するには?
むしろ無関係な質問:なぜあなたは '9000'ポートを公開する必要がありますか?外からphp-fpmに接続しようとしていますか?それは何を提供していますか? – LazyOne
この記事を参照http://tarunlalwani.com/post/debugging-php-xdebug-docker/ –
私はphpstormを使用していますが、xdebugにはこのポートが必要です。 – j0nnybrav0