😇

php5.6(docker)環境でcomposerエラーが出た

2022/05/31に公開

久しぶりにdockerで開発環境作った際にちょっと詰まったのでメモ。

事象

用意したdockerfileは

FROM php:5.6.14-apache

RUN apt-get update \
    && apt-get install -y zip unzip vim openssl

RUN curl -sS https://getcomposer.org/installer | php \
    && mv composer.phar /usr/local/bin/composer \
    && composer --version

composerをインストールしようとしたらopensslでエラーが出た。

curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html

これを調べると沢山記事が出てきた。

参考:

https://tt-computing.com/docker-php-composer
https://blog.shimabox.net/2016/10/25/install-composer/

curlで通信する際にca(証明書)に問題がある為、起きる現象のようで、古いPHPのdocker環境(公式イメージ)を利用すると起きると雑に理解した。

正しい解決方法はさておきコマンドとか設定とか少なく済む一番楽そう方法を選択。
パッケージ「ca-certificates」を先にインストールし、その後にcomposerをインストールすれば良さそうだったのでDockerfileを以下に変更。

FROM php:5.6.14-apache

RUN apt-get update \
    && apt-get install -y zip unzip vim openssl ca-certificates

RUN curl -sS https://getcomposer.org/installer | php \
    && mv composer.phar /usr/local/bin/composer \
    && composer --version

雑に環境を用意するだけならこれで良さそう。

Discussion