diff options
author | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2024-02-13 05:01:19 +0000 |
---|---|---|
committer | Rosyid Haryadi <rosyid_haryadi@protonmail.com> | 2024-02-13 05:01:19 +0000 |
commit | e13a39ae60777e34493fd3b8391034ab1c169aca (patch) | |
tree | c67cbb9871c35274adfa9b858f20b248d4908927 |
init
-rw-r--r-- | php7.2-phalcon-postgres-mongodb-xdebug/Dockerfile | 86 | ||||
-rw-r--r-- | php7.2-phalcon-postgres-mongodb-xdebug/docker-compose.yml | 10 |
2 files changed, 96 insertions, 0 deletions
diff --git a/php7.2-phalcon-postgres-mongodb-xdebug/Dockerfile b/php7.2-phalcon-postgres-mongodb-xdebug/Dockerfile new file mode 100644 index 0000000..34c2abb --- /dev/null +++ b/php7.2-phalcon-postgres-mongodb-xdebug/Dockerfile @@ -0,0 +1,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
\ No newline at end of file diff --git a/php7.2-phalcon-postgres-mongodb-xdebug/docker-compose.yml b/php7.2-phalcon-postgres-mongodb-xdebug/docker-compose.yml new file mode 100644 index 0000000..daf08cb --- /dev/null +++ b/php7.2-phalcon-postgres-mongodb-xdebug/docker-compose.yml @@ -0,0 +1,10 @@ +version: '3' +services: + web: + build: + context: . + dockerfile: Dockerfile + ports: + - "8000:80" + volumes: + - .:/var/www/html
\ No newline at end of file |