blob: 34c2abb48e935b1371ebbf1b1322ea0b70ad0280 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
FROM php:7.2-apache
ARG PSR_VERSION=0.6.1
ARG PHALCON_VERSION=3.4.3
ARG PHALCON_EXT_PATH=php7/64bits
RUN set -xe && \
# Compile PSR
curl -LO https://github.com/jbboehr/php-psr/archive/v${PSR_VERSION}.tar.gz && \
tar xzf ${PWD}/v${PSR_VERSION}.tar.gz && \
cd ${PWD}/php-psr-${PSR_VERSION} && \
phpize && \
./configure && \
make && \
make test && \
make install
RUN set -xe && \
# Compile Phalcon
curl -LO https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.tar.gz && \
tar xzf ${PWD}/v${PHALCON_VERSION}.tar.gz && \
cd ${PWD}/cphalcon-${PHALCON_VERSION}/build/ && \
./install
# Install packages
RUN apt-get update && apt-get install -y \
autoconf \
pkg-config \
libpng-dev \
zlib1g-dev \
libxml2-dev \
libzip-dev \
libonig-dev \
libpq-dev \
nano \
zip \
curl \
unzip \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
&& apt-get install -y --no-install-recommends \
openssl \
libssl-dev \
libcurl4-openssl-dev \
&& docker-php-ext-install gd \
&& docker-php-ext-configure gd \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install zip \
&& docker-php-source delete \
&& docker-php-ext-install iconv mbstring \
&& docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \
&& docker-php-ext-install pdo pdo_pgsql pgsql
# Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# MongoDB extension
RUN pecl install mongodb-1.4.2 \
&& cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini \
&& echo "extension=mongodb.so" >> /usr/local/etc/php/php.ini \
&& echo "extension=psr.so" >> /usr/local/etc/php/php.ini \
&& echo "extension=phalcon.so" >> /usr/local/etc/php/php.ini
# APCU
RUN pecl install apcu \
&& pecl install apcu_bc-1.0.3 \
&& docker-php-ext-enable apcu --ini-name 10-docker-php-ext-apcu.ini \
&& docker-php-ext-enable apc --ini-name 20-docker-php-ext-apc.ini
# Xdebug
ENV XDEBUG_VERSION=3.1.6
RUN pecl install xdebug-${XDEBUG_VERSION}
RUN docker-php-ext-enable xdebug
RUN echo 'xdebug.mode=develop,debug' >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo 'xdebug.client_host=host.docker.internal' >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo 'xdebug.start_with_request=yes' >> /usr/local/etc/php/conf.d/xdebug.ini
RUN chown -R www-data:www-data /var/www/html
# Enable mod rewrite
RUN a2enmod rewrite
|