在Docker容器中安装Composer会导致Segmentation故障

时间:2017-04-10 10:51:43

标签: docker composer-php php-7.1

我正在使用官方php docker image:7.1-apache

我正在尝试通过docker console安装composer并按照此处提供的步骤进行操作:https://getcomposer.org/download/

当我进入第三步时:php composer-setup.php 我得到:Segmentation fault

我只是不知道该怎么做。当我使用较低版本的php时,我没有安装composer的问题。

这是我的dockerfile:

FROM php:7.1-apache

RUN apt-get update && apt-get install -y git

# Install Xdebug
RUN curl -fsSL 'https://xdebug.org/files/xdebug-2.4.0.tgz' -o xdebug.tar.gz \
    && mkdir -p xdebug \
    && tar -xf xdebug.tar.gz -C xdebug --strip-components=1 \
    && rm xdebug.tar.gz \
    && ( \
    cd xdebug \
    && phpize \
    && ./configure --enable-xdebug \
    && make -j$(nproc) \
    && make install \
    ) \
    && rm -r xdebug \
    && docker-php-ext-enable xdebug

# Add xdebug cfg
RUN echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_autostart=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_port=9001" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_host=172.17.0.1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_log=php7-xdebug.log" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

# Install mcrypt
RUN apt-get install -y libmcrypt-dev
RUN docker-php-ext-install mcrypt

# Enable mod_rewrite and ssl
RUN a2enmod rewrite
RUN a2enmod ssl

# Restart apache2 to affect changes
RUN service apache2 restart

最初这与php 7.0版完美配合。然而,7.1对此并不满意。

0 个答案:

没有答案