Skip to content

PHP 8.0 #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified .gitignore
100644 → 100755
Empty file.
75 changes: 53 additions & 22 deletions Dockerfile
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
FROM phusion/baseimage:0.9.18
FROM phusion/baseimage:18.04-1.0.0
MAINTAINER Harsh Vakharia <[email protected]>
MAINTAINER Leandro Banchio <[email protected]>
MAINTAINER Mati Beltramone <[email protected]>
MAINTAINER Edu Culasso <[email protected]>

# Default baseimage settings
ENV HOME /root
Expand All @@ -13,49 +15,78 @@ RUN locale-gen en_US.UTF-8 && \
export LANG=en_US.UTF-8 && \
add-apt-repository -y ppa:ondrej/php && \
apt-get update && \
apt-get upgrade -y && \
apt-get install -y --force-yes nginx \
php7.1-zip php7.1-fpm php7.1-mysql php7.1-redis php7.1-mcrypt \
php7.1-imagick php7.1-xdebug php7.1-apcu php7.1-xml \
php7.1-sqlite3 php-mbstring git \
php7.1-curl php7.1-gd php7.1-intl && \
php8.0-fpm \
php8.0-zip \
php8.0-mysql \
php8.0-redis \
php8.0-xml \
php8.0-xdebug \
php8.0-common \
php8.0-sqlite \
php8.0-curl \
php8.0-zmq \
php8.0-gd \
php8.0-imagick \
php8.0-soap \
php8.0-mbstring \
php8.0-intl \
php8.0-mongodb \
php8.0-bcmath \
unzip \
git && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*

# Configure users
RUN groupadd -g 1000 user && useradd --no-log-init -u 1000 -b /var/www -M -g user user

# Configure nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN sed -i "s/sendfile on/sendfile off/" /etc/nginx/nginx.conf
RUN sed -i "s/user www-data/user user/" /etc/nginx/nginx.conf
RUN sed -i "s/user = www-data/user = user/" /etc/php/8.0/fpm/pool.d/www.conf
RUN sed -i "s/group = www-data/group = user/" /etc/php/8.0/fpm/pool.d/www.conf
RUN sed -i "s/listener.owner = www-data/listener.owner = user/" /etc/php/8.0/fpm/pool.d/www.conf
RUN sed -i "s/listener.group = www-data/listener.group = user/" /etc/php/8.0/fpm/pool.d/www.conf
RUN mkdir -p /var/www
RUN mkdir -p /run/php
RUN mkdir -m 777 /tmp/php

# Configure PHP
RUN sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.1/fpm/php.ini
RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/7.1/fpm/php-fpm.conf
##For dev enviroment
RUN sed -i 's/display_errors =.*/display_errors = On/g' /etc/php/7.1/fpm/php.ini
RUN sed -i 's/display_startup_errors =.*/display_startup_errors = On/g' /etc/php/7.1/fpm/php.ini
RUN sed -i 's/upload_max_filesize =.*/upload_max_filesize = 64M/g' /etc/php/7.1/fpm/php.ini
##Updated for PHP 7.0
RUN sed -i "s/pid =.*/pid = \/var\/run\/php-fpm.pid/" /etc/php/7.1/fpm/php-fpm.conf
RUN sed -i "s/listen =.*sock/listen = \/var\/run\/php-fpm.sock/" /etc/php/7.1/fpm/pool.d/www.conf
##
RUN sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/7.1/cli/php.ini
RUN sed -i "s/date.timezone =.*/date.timezone = America\/Argentina\/Cordoba/g" /etc/php/7.1/fpm/php.ini
RUN phpenmod mcrypt
RUN sed -i "s/;session.save_path =.*/session.save_path = \/tmp\/php/" /etc/php/8.0/fpm/php.ini
RUN sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.0/fpm/php.ini
RUN sed -i "s/;date.timezone =.*/date.timezone = Asia\/Kolkata/" /etc/php/8.0/fpm/php.ini
RUN sed -i "s/variables_order =.*/variables_order = \"EGPCS\"/" /etc/php/8.0/fpm/php.ini
RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/8.0/fpm/php-fpm.conf
RUN sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/8.0/cli/php.ini
RUN sed -i "s/;date.timezone =.*/date.timezone = Asia\/Kolkata/" /etc/php/8.0/cli/php.ini
RUN sed -i "s/;clear_env =.*/clear_env = no/" /etc/php/8.0/fpm/pool.d/www.conf /etc/php/8.0/cli/php.ini

RUN echo "xdebug.idekey=phpstorm" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini
RUN echo "xdebug.remote_enable=1" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini
RUN echo "xdebug.remote_port=9000" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini
RUN echo "xdebug.remote_connect_back=1" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini
RUN echo "xdebug.max_nesting_level=600" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini
RUN echo "xdebug.scream=0" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini
RUN echo "xdebug.cli_color=1" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini
RUN echo "xdebug.show_local_vars=1" >> /etc/php/8.0/fpm/conf.d/20-xdebug.ini

RUN phpenmod xdebug
RUN phpenmod zip

# Add nginx service
RUN mkdir /etc/service/nginx
ADD build/nginx/run.sh /etc/service/nginx/run
ADD ./build/nginx/run.sh /etc/service/nginx/run
RUN chmod +x /etc/service/nginx/run

# Add PHP service
RUN mkdir /etc/service/phpfpm
ADD build/php/run.sh /etc/service/phpfpm/run
ADD ./build/php/run.sh /etc/service/phpfpm/run
RUN chmod +x /etc/service/phpfpm/run

RUN chmod 777 /var/lib/php -R
# Add nginx
VOLUME ["/var/www", "/etc/nginx/sites-available", "/etc/nginx/sites-enabled"]

Expand Down
2 changes: 1 addition & 1 deletion build/php/run.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/usr/bin/env bash

php-fpm7.1 -c /etc/php/7.1/fpm
php-fpm8.0 -c /etc/php/8.0/fpm