Created
May 25, 2018 22:22
-
-
Save avandrevitor/182f2ef289447755374e84526dddee23 to your computer and use it in GitHub Desktop.
Docker PHP-5.6.35-CLI with Composer, Prestissimo and XDebug
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM php:5.6.35-cli | |
LABEL maintainer='André Vitor Cuba de Miranda <[email protected]>' | |
# Update and Download Packages Debian | |
RUN apt-get update --yes | |
# Install Dependencies | |
RUN apt-get install --yes \ | |
autoconf \ | |
bzip2 \ | |
curl \ | |
gettext \ | |
git \ | |
g++ \ | |
make \ | |
libbz2-dev \ | |
libicu-dev \ | |
libfreetype6-dev \ | |
libgd-dev \ | |
libmcrypt-dev \ | |
libpng-dev \ | |
libtidy-dev \ | |
libxslt-dev \ | |
subversion \ | |
tar \ | |
unzip \ | |
zlib1g-dev \ | |
zip | |
# Install Extensions | |
RUN docker-php-ext-install bcmath | |
RUN docker-php-ext-install bz2 | |
RUN docker-php-ext-install calendar | |
RUN docker-php-ext-install exif | |
RUN docker-php-ext-install gd | |
RUN docker-php-ext-install gettext | |
RUN docker-php-ext-install intl | |
RUN docker-php-ext-install pcntl | |
RUN docker-php-ext-install mcrypt | |
RUN docker-php-ext-install mbstring | |
RUN docker-php-ext-install soap | |
RUN docker-php-ext-install tidy | |
RUN docker-php-ext-install xmlrpc | |
RUN docker-php-ext-install xsl | |
RUN docker-php-ext-install zip | |
RUN docker-php-ext-configure hash --with-mhash | |
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ | |
RUN docker-php-ext-configure intl | |
# Memory Limit | |
RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini | |
# Time Zone | |
RUN echo "date.timezone=${PHP_TIMEZONE:-UTC}" > $PHP_INI_DIR/conf.d/date_timezone.ini | |
# Install Composer | |
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer | |
# Composer Parallel | |
RUN composer global require hirak/prestissimo | |
# Install XDebug | |
RUN pecl install xdebug-2.5.0 | |
RUN docker-php-ext-enable xdebug | |
RUN echo "xdebug.auto_trace=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.cli_color=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.collect_assignments=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.collect_includes=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.collect_params=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.collect_return=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.collect_vars=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.coverage_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xxdebug.default_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump.COOKIE=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump.ENV=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump.FILES=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump.GET=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump.POST=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump.REQUEST=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump.SERVER=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump.SESSION=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump_globals=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump_once=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.dump_undefined=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.extended_info=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.file_link_format=PHPSTORM://%f@%l" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.force_display_errors=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.force_error_reporting=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.halt_level=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.idekey=PHPSTORM" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.max_nesting_level=256" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.max_stack_frames=-1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.overload_var_dump=2" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.profiler_aggregate=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.profiler_append=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.profiler_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.profiler_enable_trigger=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.profiler_enable_trigger_value=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.profiler_output_dir=/tmp/logs/profile" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.profiler_output_name=cachegrind.out.%t" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.addr_header" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.remote_autostart=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.remote_cookie_expire_time=3600" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.remote_handler=dbgp" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& /sbin/ip route|awk '/default/ { print $3 }' | xargs echo "xdebug.remote_host=$1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.remote_log=/tmp/logs/xdebug.log" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.remote_mode=req" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.remote_port=9009" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.scream=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.show_error_trace=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.show_exception_trace=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.show_local_vars=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.show_mem_delta=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.trace_enable_trigger=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.trace_enable_trigger_value=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.trace_format=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.trace_options=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.trace_output_dir=/tmp/logs/trace/" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.trace_output_name=trace.%c" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.var_display_max_children=-1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.var_display_max_data=-1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \ | |
&& echo "xdebug.var_display_max_depth=-1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini | |
# Clean | |
RUN apt-get clean -y | |
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* | |
WORKDIR "/tmp" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment