3 Commits

Author SHA1 Message Date
Macintoshplus
2816941770 Update Dockerfile
Remove memory limit for cli
2016-03-30 10:33:59 +02:00
Macintoshplus
94eb35f045 Switch to AMQP 1.7.0Alpha2
The version 1.6.0 and 1.6.1 return Segmentation Fault. Use the latest version for work normally.
2016-02-15 11:01:05 +01:00
Macintoshplus
a51d1a2983 fix 2016-02-14 14:57:03 +01:00
7 changed files with 60 additions and 117 deletions

View File

@@ -1,24 +1,52 @@
##
# Jb Nahan PHP 7.2 container
# Jb Nahan PHP 5.6 container
##
FROM macintoshplus/php:base
MAINTAINER Jean-Baptiste Nahan <814683+macintoshplus@users.noreply.github.com>
FROM debian:jessie
MAINTAINER Jean-Baptiste Nahan <jean-baptiste@nahan.fr>
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get -y upgrade
ARG uid=1008
ARG gid=1008
# Common packages
RUN apt-get -y install curl wget locales nano git subversion sudo php5-dev librabbitmq-dev
COPY certs/ /root/
COPY install.sh /root/install.sh
RUN chmod +x /root/install.sh
RUN /root/install.sh
RUN echo "Europe/Paris" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
RUN export LANGUAGE=en_US.UTF-8 && \
export LANG=en_US.UTF-8 && \
export LC_ALL=en_US.UTF-8 && \
locale-gen en_US.UTF-8 && \
DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales
# Apache
RUN apt-get -y install pdftk mysql-client xfonts-75dpi libfontconfig1 libjpeg62-turbo libxrender1 xfonts-base fontconfig
COPY bin/wkhtmltox-0.12.2.1_linux-jessie-amd64.deb /root/
RUN dpkg -i /root/wkhtmltox-0.12.2.1_linux-jessie-amd64.deb
# PHP
RUN apt-get -y install php5-cli php5-curl php-soap php5-imagick php5-gd php5-mcrypt php5-mysql php5-xmlrpc php5-xsl php5-xdebug php-apc php5-apcu php5-ldap php5-gmp php5-intl php5-redis
RUN cp /usr/share/php5/php.ini-development /etc/php5/cli/php.ini
RUN sed -i 's/\;date\.timezone\ \=/date\.timezone\ \=\ Europe\/Paris/g' /etc/php5/cli/php.ini
RUN sed -i 's/\memory_limit\ \=\ 128M/memory_limit\ \=\ -1/g' /etc/php5/cli/php.ini
RUN sed -i 's/disable_functions\ \=\ pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,/\;disable_functions\ \=\ pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,/g' /etc/php5/cli/php.ini
#RUN sed -i 's/;include_path = ".:\/usr\/share\/php"/include_path = ".:\/var\/www\/library"/g' /etc/php5/cli/php.ini
#PEAR
RUN pear install pecl/amqp-1.7.0alpha2
RUN echo "extension=amqp.so" > /etc/php5/mods-available/amqp.ini
#RUN cd /etc/php5/apache2/conf.d && ln -s ../../mods-available/amqp.ini 20-amqp.ini
RUN cd /etc/php5/cli/conf.d && ln -s ../../mods-available/amqp.ini 20-amqp.ini
RUN pear channel-discover pear.phpmd.org && pear channel-discover pear.pdepend.org && pear channel-discover pear.phpdoc.org && pear channel-discover components.ez.no
RUN pear install PHP_CodeSniffer && pear install --alldeps phpmd/PHP_PMD
RUN git clone https://github.com/lapistano/Symfony2-coding-standard.git /usr/share/php/PHP/CodeSniffer/Standards/Symfony2
RUN useradd -s /bin/bash --home /src --no-create-home phpuser
COPY bin/fixright /
RUN chmod +x /fixright
VOLUME /sources
VOLUME /src
WORKDIR /sources
WORKDIR /src

View File

@@ -1,35 +1,22 @@
# php73
Docker Image With PHP 7.3 and many tools !
# php56
Docker Image With PHP56 and many tools !
## Extensions
Dev tools :
* php7.3-dev
* php7.3-cli
* php7.3-bcmath
* php7.3-curl
* php7.3-gd
* php7.3-mbstring
* php7.3-mysql
* php7.3-sqlite3
* php7.3-xmlrpc
* php7.3-xsl
* php7.3-ldap
* php7.3-gmp
* php7.3-intl
* php-redis
* php7.3-zip
* php7.3-soap
* php7.3-xml
* php7.3-common
* php7.3-json
* php7.3-opcache
* php7.3-readline
* php7.3-xdebug
* php7.3-imagick
* amqp-1.9.3
* pdo_sqlsrv
* sqlsrv
* GIT
* SVN
* Curl
* Wget
* Nano
## Disabled Extensions
Executable tools :
php7.3-apcu
* wkhtmltopdf
* pdftk
Dev quality :
* PHP Mess Detector (phpmd)
* PHP_CodeSniffer (with Symfony2 rules)
This image has already used for run website (with macintoshplus/apache2-php56), run RabbitMQ worker, run tests and make PHPCS and PHPMD repport.

View File

@@ -1,10 +1,10 @@
#!/bin/bash
if [ -d "/sources" ]
if [ -d "/src" ]
then
USERID=$(stat -c "%u" /sources)
GROUPID=$(stat -c "%g" /sources)
USERID=$(stat -c "%u" /src)
GROUPID=$(stat -c "%g" /src)
groupmod -g $GROUPID phpuser
usermod -u $USERID -g $GROUPID phpuser

Binary file not shown.

View File

@@ -1,8 +0,0 @@
#!/bin/sh
DIR=$(dirname $0)
cd $DIR
docker build -t php72 --network host .

Binary file not shown.

View File

@@ -1,64 +0,0 @@
#!/bin/sh -ex
##
# Jb Nahan PHP 7.3 container
##
export DEBIAN_FRONTEND=noninteractive
# Sury : PHP Sources
wget -q -O - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/sury-php.list
# Blackfire
wget -q -O - https://packages.blackfire.io/gpg.key | sudo apt-key add -
echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list
# PHP
apt-get update && apt-get upgrade -y
apt-get -y install php7.3-dev php7.3-cli php7.3-bcmath php7.3-curl php-pear php7.3-gd php7.3-mbstring php7.3-mysql php7.3-sqlite3 php7.3-xmlrpc php7.3-xsl php7.3-ldap php7.3-gmp php7.3-intl php7.3-zip php7.3-soap php7.3-xml php7.3-common php7.3-json php7.3-opcache php7.3-readline
# Disabled ext from repos : php7.3-imagick php7.3-xdebug php7.3-apcu
# Disable dependencies : libmagickwand-6.q16-dev
# Disabled php-redis
sed -i 's/\;date\.timezone\ \=/date\.timezone\ \=\ Europe\/Paris/g' /etc/php/7.3/cli/php.ini
sed -i 's/\memory_limit\ \=\ 128M/memory_limit\ \=\ -1/g' /etc/php/7.3/cli/php.ini
sed -i 's/\display_errors\ \=\ Off/display_errors\ \=\ On/g' /etc/php/7.3/cli/php.ini
sed -i 's/disable_functions\ \=\ pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,/\;disable_functions\ \=\ pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,/g' /etc/php/7.3/cli/php.ini
pecl channel-update pecl.php.net
## Fix Tar Error
#wget https://github.com/pear/Archive_Tar/releases/download/1.4.3/Archive_Tar-1.4.3.tgz
#tar -xvf Archive_Tar-1.4.3.tgz
#cp Archive_Tar-1.4.3/Archive/Tar.php /usr/share/php/Archive/Tar.php
#rm -rf Archive_Tar-1.4.3
pecl install sqlsrv-5.6.1
pecl install pdo_sqlsrv-5.6.1
echo "extension=sqlsrv" > /etc/php/7.3/mods-available/sqlsrv.ini
echo "extension=pdo_sqlsrv" > /etc/php/7.3/mods-available/pdo_sqlsrv.ini
#PEAR
pear upgrade
pear install pecl/amqp
echo "extension=amqp" > /etc/php/7.3/mods-available/amqp.ini
pear install pecl/redis-5.1.1
echo "extension=redis" > /etc/php/7.3/mods-available/redis.ini
apt-get install -y libmagickwand-dev libmagickcore-dev libmagickwand-6.q16-6 libmagickcore-6.q16-6
pear install pecl/imagick
echo "extension=imagick" > /etc/php/7.3/mods-available/imagick.ini
pear install pecl/xdebug-2.8.0
echo "zend_extension=xdebug" > /etc/php/7.3/mods-available/xdebug.ini
phpenmod -v 7.3 -s cli amqp sqlsrv pdo_sqlsrv redis xdebug imagick
#useradd -s /bin/bash --home /sources --no-create-home phpuser
groupadd -g ${gid} phpuser
useradd -l -u ${uid} -g ${gid} -m -s /bin/bash phpuser
usermod -a -G www-data phpuser
apt-get remove -y libgcc-8-dev php7.3-dev libmagickwand-dev libmagickcore-dev && apt-get autoremove -y