Я создал образ Docker, который объединяет PHP (с Apache), Xdebug и PHPUnit, который я могу начать с docker-compose в терминале.
version: '3'
services:
php-apache-xdebug-phpunit:
image: php-apache-xdebug-phpunit:7.2
ports:
- "80:80"
volumes:
- ./src:/var/www/html
restart: always
Я хочу использовать интеграцию PhpStorm с docker-составить, но когда я настраиваю интерпретатор CLI, я получаю две ошибки (снимок экрана):
- BadRequestException -> недопустимая переменная среды (я думаю, что на самом деле пустое значение должно быть возможным)
- PHPверсия: не установлена (частично видна на скриншоте)
Файл Docker для полноты картины:
FROM php:7.2-apache-stretch
##########
# XDebug #
##########
# Install
RUN pecl install xdebug-2.6.1 && docker-php-ext-enable xdebug
# Configure
RUN echo 'zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so"' >> /usr/local/etc/php/php.ini
RUN echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.idekey=\"PHPSTORM\"" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_port=9000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
###########
# PHPUnit #
###########
RUN apt-get update
RUN apt-get install wget
RUN wget https://phar.phpunit.de/phpunit-7.4.phar
RUN chmod +x phpunit-7.4.phar
RUN mv phpunit-7.4.phar /usr/local/bin/phpunit
RUN phpunit --version
###################
# PHP Codesniffer #
###################
RUN curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
RUN mv phpcs.phar /usr/local/bin/phpcs
RUN chmod +x /usr/local/bin/phpcs