[EC-CUBE4] docker 환경에서 Soap 환경 설정
개요
EC-CUBE의 Soap 통신 이전 설정을 요약합니다.
설명은 Soap Client가 enabled가 될 때까지 공식 문서에서 Docker file로 변경됩니다.
전제 조건
docker로 로컬 개발 환경을 구축했습니다.
공식 문서 Docker Compose를 사용하여 설치
현상
다음 코드를 써서 실행하면 오류가 발생합니다.$client = new \SoapClient("wsdlファイルのパス");
이 보도처럼 soap 통신을 할 환경은 없을 것으로 추정된다.
문장을 인용하다
phpinfo의 PHP 표시줄에 soap 정보가 없습니다.
대응
용기에 들어가 php-soap를 설치합니다.
root@xxxxx:/var/www/html# apt-get install php-soap
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php-soap is a virtual package provided by:
php7.0-soap 7.0.33-0+deb9u6 [Not candidate version]
php7.3-soap 7.3.14-1~deb10u1 [Not candidate version]
php7.3-soap 7.3.11-1~deb10u1 [Not candidate version]
E: Package 'php-soap' has no installation candidate
설치 후보는 없다고 합니다.
docker로 환경을 구축할 때 설정하지 않으면 안 되기 때문에 Build를 설정해서 합니다.
Docker File 수정, 다시 Build
여기뉴스.를 참고하여 Docker file에 다음과 같은 내용을 추가합니다.libxml2-dev
&& docker-php-ext-install soap
:
:
RUN apt-get update \
&& apt-get install --no-install-recommends -y \
apt-transport-https \
apt-utils \
build-essential \
curl \
debconf-utils \
gcc \
git \
gnupg2 \
libfreetype6-dev \
libicu-dev \
libjpeg62-turbo-dev \
libpng-dev \
libpq-dev \
libzip-dev \
locales \
ssl-cert \
unzip \
zlib1g-dev \
libxml2-dev \ ※追加
&& apt-get clean \
&& docker-php-ext-install soap \ ※追加
&& rm -rf /var/lib/apt/lists/* \
&& echo "en_US.UTF-8 UTF-8" >/etc/locale.gen \
&& locale-gen \
;
:
:
다시 세우다
$ docker-compose up -d --build
これだとmysqlのコンテナも作られてしまうので、
postgresを使っている場合は
docker-compose up -d --build ec-cube postgres mailcatcher
かもしれない
phpinfo를 통해 환경 확인
PHP에 soap 문자가 있어서 환경이 있는 것 같아요.
Soap에 대한 정보가 있습니다.Soap Client는 enable입니다.
Reference
이 문제에 관하여([EC-CUBE4] docker 환경에서 Soap 환경 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/me-654393/items/73c6a7aa0bb577d56246
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음 코드를 써서 실행하면 오류가 발생합니다.
$client = new \SoapClient("wsdlファイルのパス");
이 보도처럼 soap 통신을 할 환경은 없을 것으로 추정된다.
문장을 인용하다
phpinfo의 PHP 표시줄에 soap 정보가 없습니다.
대응
용기에 들어가 php-soap를 설치합니다.
root@xxxxx:/var/www/html# apt-get install php-soap
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php-soap is a virtual package provided by:
php7.0-soap 7.0.33-0+deb9u6 [Not candidate version]
php7.3-soap 7.3.14-1~deb10u1 [Not candidate version]
php7.3-soap 7.3.11-1~deb10u1 [Not candidate version]
E: Package 'php-soap' has no installation candidate
설치 후보는 없다고 합니다.
docker로 환경을 구축할 때 설정하지 않으면 안 되기 때문에 Build를 설정해서 합니다.
Docker File 수정, 다시 Build
여기뉴스.를 참고하여 Docker file에 다음과 같은 내용을 추가합니다.libxml2-dev
&& docker-php-ext-install soap
:
:
RUN apt-get update \
&& apt-get install --no-install-recommends -y \
apt-transport-https \
apt-utils \
build-essential \
curl \
debconf-utils \
gcc \
git \
gnupg2 \
libfreetype6-dev \
libicu-dev \
libjpeg62-turbo-dev \
libpng-dev \
libpq-dev \
libzip-dev \
locales \
ssl-cert \
unzip \
zlib1g-dev \
libxml2-dev \ ※追加
&& apt-get clean \
&& docker-php-ext-install soap \ ※追加
&& rm -rf /var/lib/apt/lists/* \
&& echo "en_US.UTF-8 UTF-8" >/etc/locale.gen \
&& locale-gen \
;
:
:
다시 세우다
$ docker-compose up -d --build
これだとmysqlのコンテナも作られてしまうので、
postgresを使っている場合は
docker-compose up -d --build ec-cube postgres mailcatcher
かもしれない
phpinfo를 통해 환경 확인
PHP에 soap 문자가 있어서 환경이 있는 것 같아요.
Soap에 대한 정보가 있습니다.Soap Client는 enable입니다.
Reference
이 문제에 관하여([EC-CUBE4] docker 환경에서 Soap 환경 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/me-654393/items/73c6a7aa0bb577d56246
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
root@xxxxx:/var/www/html# apt-get install php-soap
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php-soap is a virtual package provided by:
php7.0-soap 7.0.33-0+deb9u6 [Not candidate version]
php7.3-soap 7.3.14-1~deb10u1 [Not candidate version]
php7.3-soap 7.3.11-1~deb10u1 [Not candidate version]
E: Package 'php-soap' has no installation candidate
:
:
RUN apt-get update \
&& apt-get install --no-install-recommends -y \
apt-transport-https \
apt-utils \
build-essential \
curl \
debconf-utils \
gcc \
git \
gnupg2 \
libfreetype6-dev \
libicu-dev \
libjpeg62-turbo-dev \
libpng-dev \
libpq-dev \
libzip-dev \
locales \
ssl-cert \
unzip \
zlib1g-dev \
libxml2-dev \ ※追加
&& apt-get clean \
&& docker-php-ext-install soap \ ※追加
&& rm -rf /var/lib/apt/lists/* \
&& echo "en_US.UTF-8 UTF-8" >/etc/locale.gen \
&& locale-gen \
;
:
:
$ docker-compose up -d --build
これだとmysqlのコンテナも作られてしまうので、
postgresを使っている場合は
docker-compose up -d --build ec-cube postgres mailcatcher
かもしれない
Reference
이 문제에 관하여([EC-CUBE4] docker 환경에서 Soap 환경 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/me-654393/items/73c6a7aa0bb577d56246텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)