├── README.md └── Dockerfile /README.md: -------------------------------------------------------------------------------- 1 | # docker-php-socialmonitor 2 | Docker image for PHP for Social Monitor project 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:5-fpm-alpine 2 | 3 | RUN apk update \ 4 | && apk add icu-dev zlib-dev graphviz git openssh \ 5 | && docker-php-ext-install mysqli pdo pdo_mysql intl zip mbstring iconv 6 | 7 | RUN apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted 8 | ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php 9 | 10 | RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ 11 | php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \ 12 | php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ 13 | php -r "unlink('composer-setup.php');" 14 | 15 | RUN curl -OL https://github.com/phpmetrics/PhpMetrics/releases/download/v2.3.2/phpmetrics.phar && \ 16 | chmod +x phpmetrics.phar && \ 17 | mv phpmetrics.phar /usr/local/bin/phpmetrics 18 | 19 | RUN curl -OL http://www.phpdoc.org/phpDocumentor.phar && \ 20 | chmod +x phpDocumentor.phar && \ 21 | mv phpDocumentor.phar /usr/local/bin/phpdoc 22 | 23 | RUN apk update \ 24 | && apk add autoconf g++ make \ 25 | && pecl install xdebug-2.5.5 \ 26 | && docker-php-ext-enable xdebug \ 27 | && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ 28 | && echo "xdebug.remote_port=9001" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ 29 | && echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ 30 | && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ 31 | && echo "xdebug.profiler_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ 32 | && echo "xdebug.profiler_enable_trigger=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ 33 | && echo "xdebug.profiler_output_dir=/app/profiling" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini 34 | 35 | RUN echo "date.timezone=Europe/London" > /usr/local/etc/php/conf.d/zz-custom.ini \ 36 | && echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/zz-custom.ini \ 37 | && echo "display_errors = on" >> /usr/local/etc/php/conf.d/zz-custom.ini \ 38 | && echo "session.autostart=0" >> /usr/local/etc/php/conf.d/zz-custom.ini 39 | 40 | ENV PATH "$PATH:/var/www/html/vendor/bin" 41 | 42 | RUN echo "env[\"XDEBUG_CONFIG\"] = \$XDEBUG_CONFIG" >> /usr/local/etc/php-fpm.d/zz-docker.conf 43 | 44 | --------------------------------------------------------------------------------