0

I got an error when trying to run composer update, please help me to know what's wrong with current setup.

It tells me that "require ext-soap * -> it is missing from your system. Install or enable PHP's soap extension." Detail error from ubuntu terminal: Problem 1 - artisaninweb/laravel-soap[0.3.0, ..., 0.3.0.10] require ext-soap * -> it is missing from your system. Install or enable PHP's soap extension. - Root composer.json requires artisaninweb/laravel-soap ^0.3.0 -> satisfiable by artisaninweb/laravel-soap[0.3.0, ..., 0.3.0.10].

Current setup:

  • Dockerfile
ARG PHP_VERSION

FROM php:${PHP_VERSION}-fpm-alpine

WORKDIR /var/www

COPY docker/php/xdebug.ini /usr/local/etc/php/conf.d

COPY docker/start.sh /usr/local/bin/start
RUN chown -R www-data:www-data /var/www \
    && chmod u+x /usr/local/bin/start

RUN apk add --no-cache $PHPIZE_DEPS \
    && pecl install xdebug \
    && docker-php-ext-install pdo pdo_mysql pcntl json posix bcmath calendar -j$(getconf _NPROCESSORS_ONLN) \
    && docker-php-ext-enable xdebug \
    && apk add --no-cache curl \
    && apk add --no-cache python3 \
    && apk add --no-cache bash \
    && apk add --no-cache which \
    && apk add --no-cache sudo \
    && apk add --no-cache su-exec \
    && apk add --no-cache libxml2-dev \
    && apk add --no-cache gmp-dev

RUN apk add --no-cache freetype libpng libjpeg-turbo freetype-dev libpng-dev libjpeg-turbo-dev && \
  docker-php-ext-configure gd \
    --with-freetype \
    --with-jpeg && \
  NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \
  docker-php-ext-install -j${NPROC} gd && \
  apk del --no-cache freetype-dev libpng-dev libjpeg-turbo-dev

RUN docker-php-ext-install gmp

RUN docker-php-ext-install soap && \
    docker-php-ext-enable soap
  • docker-composer.yml
# Laradose
# Author: Adrien Poupa
# https://github.com/AdrienPoupa/laradose

version: "3.7"

services:
    mariadb:
        image: mariadb:10.3
        ports:
            - "${DB_PORT}:3306"
        environment:
            MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
            MYSQL_DATABASE: ${DB_DATABASE}
        volumes:
            - ./docker/mysql:/docker-entrypoint-initdb.d
        networks:
            - laravel

    x-php:
        &php-base
        build:
            context: .
            args:
                PHP_VERSION: ${PHP_VERSION}
            dockerfile: ./docker/php/Dockerfile
        environment:
            PHP_VERSION: ${PHP_VERSION}
        volumes:
            - ./:/var/www
        working_dir: /var/www
        user: "${USER_ID}:${GROUP_ID}"
        networks:
            - laravel

    php:
        <<: *php-base
        environment:
            PHP_VERSION: ${PHP_VERSION}
            PHP_IDE_CONFIG: "serverName=${PHP_SERVER_NAME}"

    nginx:
        image: nginx:stable-alpine
        ports:
            - "${NGINX_HTTPS_PORT}:443"
            - "${NGINX_HTTP_PORT}:80"
        volumes:
            - ./:/var/www
            - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
            - ./docker/nginx/keys:/etc/nginx/ssl
        networks:
            - laravel

    artisan:
        <<: *php-base
        depends_on:
            - mariadb
        entrypoint: ["php", "/var/www/artisan"]
    
    scheduler:
        <<: *php-base
        environment:
            PHP_VERSION: ${PHP_VERSION}
            CONTAINER_ROLE: scheduler
        entrypoint: ["/usr/local/bin/start"]
        depends_on:
            - mariadb
        user: "${USER_ID}:${GROUP_ID}"

    composer:
        image: composer:2.0.6
        volumes:
            - ./:/var/www
        working_dir: /var/www
        entrypoint: "composer --ignore-platform-reqs"
        user: "${USER_ID}:${GROUP_ID}"
        networks:
            - laravel

    npm:
        image: node:12
        ports:
            - "${BROWSERSYNC_PORT}:3000"
            - "${BROWSERSYNC_ADMIN_PORT}:3001"
            - "${WEBPACK_PORT}:${WEBPACK_PORT}"
        environment:
            MIX_MODE: ${MIX_MODE}
            MIX_BROWSERSYNC: ${MIX_BROWSERSYNC}
        entrypoint: "npm run ${MIX_MODE}"
        volumes:
            - ./:/var/www
            - ./docker/nginx/keys:/etc/ssl
        working_dir: /var/www
        user: "${USER_ID}:${GROUP_ID}"
        networks:
            - laravel

networks:
    laravel:

HieuDang
  • 3
  • 1

0 Answers0