Skip to content

Commit 1e7a48a

Browse files
authored
Merge pull request #1 from mcustiel/feature/update
chore: updated scripts. added php8
2 parents 15cce0b + cfa0f66 commit 1e7a48a

File tree

6 files changed

+215
-91
lines changed

6 files changed

+215
-91
lines changed

Dockerfile_base

Lines changed: 43 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -25,50 +25,50 @@ ENV PATH $PHARS_DIR:$PATH
2525

2626
RUN apt-get update && \
2727
apt-get install --yes --no-install-recommends \
28-
libssh2-1-dev \
29-
gzip \
30-
zip \
31-
git \
32-
zlib1g-dev \
33-
libfreetype6-dev \
34-
libjpeg62-turbo-dev \
35-
libmcrypt-dev \
36-
libbz2-dev \
37-
libxslt-dev \
38-
libldap2-dev \
28+
aspell-de \
29+
aspell-en \
30+
aspell-es \
3931
curl \
4032
git \
41-
subversion \
42-
unzip \
43-
openssh-client \
44-
wget \
33+
git \
34+
gzip \
4535
imagemagick \
46-
libgraphicsmagick1-dev \
47-
libmagickwand-dev \
36+
libaspell-dev \
37+
libbz2-dev \
38+
libc-client-dev \
4839
libcurl4-gnutls-dev \
49-
libssl-dev \
40+
libedit-dev \
5041
libenchant-dev \
42+
libfreetype6-dev \
5143
libgmp-dev \
52-
libc-client-dev \
44+
libgraphicsmagick1-dev \
45+
libjpeg62-turbo-dev \
5346
libkrb5-dev \
47+
libldap2-dev \
48+
libmagickwand-dev \
49+
libmcrypt-dev \
50+
libonig-dev \
51+
libpng-dev \
5452
libpspell-dev \
55-
libaspell-dev \
56-
aspell-en \
57-
aspell-de \
58-
aspell-es \
59-
libxml2-dev \
60-
libtidy-dev \
53+
libreadline-dev \
6154
librecode-dev \
6255
libsnmp-dev \
63-
libreadline-dev \
64-
libedit-dev \
65-
snmp \
56+
libssh2-1-dev \
57+
libssl-dev \
58+
libtidy-dev \
59+
libxml2-dev \
60+
libxslt-dev \
6661
libzip-dev \
62+
openssh-client \
63+
snmp \
64+
subversion \
65+
unzip \
66+
wget \
67+
zip \
68+
zlib1g-dev \
6769
&& rm -r /var/lib/apt/lists/*
6870

69-
RUN pecl install redis-4.1.1 && docker-php-ext-enable redis
70-
RUN pecl install imagick-3.4.3 && docker-php-ext-enable imagick
71-
71+
RUN docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && docker-php-ext-install ldap
7272
RUN docker-php-ext-install bcmath
7373
RUN docker-php-ext-install bz2
7474
RUN docker-php-ext-install calendar
@@ -81,18 +81,12 @@ RUN docker-php-ext-install exif
8181
RUN docker-php-ext-install fileinfo
8282
#RUN docker-php-ext-install filter
8383
RUN docker-php-ext-install ftp
84-
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install gd
8584
RUN docker-php-ext-install gettext
86-
RUN docker-php-ext-install hash
8785
RUN docker-php-ext-install iconv
86+
#RUN docker-php-ext-install interbase
8887
RUN docker-php-ext-install intl
89-
RUN docker-php-ext-install json
90-
# RUN docker-php-ext-install interbase
91-
RUN docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && docker-php-ext-install ldap
9288
RUN docker-php-ext-install mbstring
93-
9489
#RUN docker-php-ext-install mssql
95-
9690
RUN docker-php-ext-install mysqli
9791
#RUN docker-php-ext-install oci8
9892
#RUN docker-php-ext-install odbc
@@ -106,33 +100,24 @@ RUN docker-php-ext-install pdo_mysql
106100
#RUN docker-php-ext-install pdo_odbc
107101
#RUN docker-php-ext-install pdo_pgsql
108102
#RUN docker-php-ext-install pdo_sqlite
109-
110103
#RUN docker-php-ext-install pgsql
111104
#RUN docker-php-ext-install phar
112105
RUN docker-php-ext-install posix
113106
RUN docker-php-ext-install pspell
114-
RUN docker-php-ext-install readline
115-
RUN docker-php-ext-install recode
116107
#RUN docker-php-ext-install reflection
117-
118108
RUN docker-php-ext-install session
119109
RUN docker-php-ext-install shmop
120110
RUN docker-php-ext-install simplexml
121111
RUN docker-php-ext-install snmp
122112
RUN docker-php-ext-install soap
123113
RUN docker-php-ext-install sockets
124-
125114
#RUN docker-php-ext-install spl
126115
#RUN docker-php-ext-install standard
127-
128116
RUN docker-php-ext-install sysvmsg
129117
RUN docker-php-ext-install sysvsem
130118
RUN docker-php-ext-install sysvshm
131119
RUN docker-php-ext-install tidy
132-
RUN docker-php-ext-install tokenizer
133-
RUN docker-php-ext-install wddx
134120
RUN docker-php-ext-install xml
135-
RUN docker-php-ext-install xmlrpc
136121
RUN docker-php-ext-install xmlwriter
137122
RUN docker-php-ext-install xsl
138123
RUN docker-php-ext-install zip
@@ -147,38 +132,27 @@ ENV PATH /composer/vendor/bin:$PATH
147132
ENV COMPOSER_ALLOW_SUPERUSER 1
148133

149134
# Setup composer
150-
RUN EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)" && \
135+
# RUN EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)" && \
136+
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
137+
# ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" && \
138+
# if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ] ; then >&2 echo 'ERROR: Invalid installer signature'; rm composer-setup.php; exit 1; fi && \
139+
# php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
140+
# RESULT=$? && \
141+
# rm composer-setup.php
142+
RUN EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')" && \
151143
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
152-
ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" && \
153-
if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ] ; then >&2 echo 'ERROR: Invalid installer signature'; rm composer-setup.php; exit 1; fi && \
144+
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" && \
145+
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ] ; then >&2 echo 'ERROR: Invalid installer checksum'; rm composer-setup.php; exit 1; fi && \
154146
php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
155147
RESULT=$? && \
156-
rm composer-setup.php
157-
158-
# Parallel downloads for composer
159-
RUN composer global require hirak/prestissimo
160-
161-
# PHP tools
162-
RUN composer global require phing/phing
163-
164-
RUN composer global require phploc/phploc
165-
RUN composer global require phpmd/phpmd
166-
RUN composer global require squizlabs/php_codesniffer
167-
RUN composer global require pear/archive_tar
168-
RUN composer global require friendsofphp/php-cs-fixer
169-
RUN composer global require codeception/codeception
170-
RUN composer global require sensiolabs/security-checker
171-
RUN composer global require phpmetrics/phpmetrics
148+
rm composer-setup.php
172149

173150
RUN curl -L http://phpdoc.org/phpDocumentor.phar -o $PHARS_DIR/phpDocumentor
174151
RUN chmod +x $PHARS_DIR/phpDocumentor
175152

176153
# Box
177154
RUN echo "phar.readonly=off" > $PHP_INI_DIR/conf.d/phar.ini
178155

179-
RUN curl -LSs https://box-project.github.io/box2/installer.php | php
180-
RUN chmod 0755 box.phar && mv box.phar /composer/vendor/bin/box
181-
182156
# CS config for SF2 standards
183157
RUN composer global require escapestudios/symfony2-coding-standard
184158
RUN phpcs --config-set installed_paths $COMPOSER_HOME/vendor/escapestudios/symfony2-coding-standard

build.sh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@
1515
# You should have received a copy of the GNU General Public License
1616
# along with mcustiel/docker-php-tools. If not, see <http://www.gnu.org/licenses/>.
1717

18-
set -e
18+
set -e
1919
set -u
2020

21-
CURDIR=$(dirname $0)
21+
CURDIR="$(dirname "$0")"
2222

23-
echo "Building for PHP 7.3"
24-
docker build --build-arg PHP_DOCKER_IMAGE_TAG=7.3-cli-stretch -f Dockerfile_base $CURDIR -t php-tool-base:php73
25-
docker build $CURDIR/php73 -t php-tools:php73
23+
echo "Building for PHP 8"
24+
docker build --build-arg PHP_DOCKER_IMAGE_TAG=8.2-cli-buster -f Dockerfile_base "$CURDIR" -t php-tool-base:php8
25+
docker build "$CURDIR/php8" -t php-tools:php8
2626

2727
echo "Building for PHP 7.2"
28-
docker build --build-arg PHP_DOCKER_IMAGE_TAG=7.2-cli-stretch -f Dockerfile_base $CURDIR -t php-tool-base:php72
29-
docker build $CURDIR/php72 -t php-tools:php72
28+
docker build --build-arg PHP_DOCKER_IMAGE_TAG=7.2-cli-stretch -f Dockerfile_base "$CURDIR" -t php-tool-base:php72
29+
docker build "$CURDIR/php72" -t php-tools:php72
3030

3131
echo "Building for PHP 5.6"
32-
docker build --build-arg PHP_DOCKER_IMAGE_TAG=5.6-cli-stretch -f Dockerfile_base $CURDIR -t php-tool-base:php5
33-
docker build $CURDIR/php5 -t php-tools:php5
32+
docker build --build-arg PHP_DOCKER_IMAGE_TAG=5.6-cli-stretch -f Dockerfile_base "$CURDIR" -t php-tool-base:php5
33+
docker build "$CURDIR/php5" -t php-tools:php5
3434

php5/Dockerfile

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,51 @@ LABEL MAINTAINER="Mariano Custiel <jmcustiel@gmail.com>"
1919

2020
ARG DEBUG_IDEKEY=ECLIPSE
2121

22-
RUN pecl install xdebug-2.5.3
22+
RUN pecl install imagick-3.4.3 && docker-php-ext-enable imagick
23+
RUN pecl install redis-4.1.1 && docker-php-ext-enable redis
2324
RUN pecl install ssh2-0.13 && docker-php-ext-enable ssh2
25+
RUN pecl install xdebug-2.5.3
2426

2527
RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
26-
RUN docker-php-ext-install gmp
28+
29+
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install gd
30+
2731
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl && docker-php-ext-install imap
32+
RUN docker-php-ext-install gmp
33+
RUN docker-php-ext-install hash
34+
RUN docker-php-ext-install json
2835
RUN docker-php-ext-install mcrypt
2936
RUN docker-php-ext-install mysql
37+
RUN docker-php-ext-install readline
38+
RUN docker-php-ext-install recode
3039
#RUN docker-php-ext-install sybase_ct
40+
RUN docker-php-ext-install tokenizer
41+
RUN docker-php-ext-install wddx
3142
RUN docker-php-ext-install xmlreader
43+
RUN docker-php-ext-install xmlrpc
3244

33-
RUN composer global require phpunit/phpunit
45+
RUN composer global require symfony/console:^2.8
3446
RUN composer global require phpunit/dbunit
47+
RUN composer global require phpunit/phpunit
3548
RUN composer global require sebastian/phpcpd
49+
RUN composer global require phing/phing
50+
51+
RUN composer global require phploc/phploc
52+
RUN composer global require phpmd/phpmd
53+
RUN composer global require squizlabs/php_codesniffer
54+
RUN composer global require pear/archive_tar
55+
RUN composer global require codeception/codeception
56+
RUN composer global require sensiolabs/security-checker
57+
RUN composer global require phpmetrics/phpmetrics
58+
59+
RUN curl -L http://phpdoc.org/phpDocumentor.phar -o $PHARS_DIR/phpDocumentor && \
60+
chmod +x $PHARS_DIR/phpDocumentor
61+
62+
RUN wget -O /usr/local/bin/php-cs-fixer https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/download/v2.19.1/php-cs-fixer.phar && \
63+
chmod +x /usr/local/bin/php-cs-fixer
3664

37-
RUN curl -L http://phpdoc.org/phpDocumentor.phar -o $PHARS_DIR/phpDocumentor
38-
RUN chmod +x $PHARS_DIR/phpDocumentor
65+
RUN wget -O /usr/local/bin/box https://github.com/box-project/box2/releases/download/2.7.5/box-2.7.5.phar && \
66+
chmod +x /usr/local/bin/box
3967

4068
# Disable Populating Raw POST Data
4169
# Not needed when moving to PHP 7.

php72/Dockerfile

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,37 @@ LABEL MAINTAINER="Mariano Custiel <jmcustiel@gmail.com>"
2020
ARG DEBUG_IDEKEY=ECLIPSE
2121

2222
RUN apt-get update && \
23-
apt-get install --yes --no-install-recommends \
23+
apt-get install --yes --no-install-recommends \
24+
2425
libsodium-dev libc-client-dev libkrb5-dev \
2526
&& rm -r /var/lib/apt/lists/*
2627

27-
RUN pecl install xdebug-2.7.2
28-
#RUN pecl install ssh2-1.1.2 && docker-php-ext-enable ssh2
2928
RUN pecl install ast && docker-php-ext-enable ast
29+
RUN pecl install imagick-3.4.3 && docker-php-ext-enable imagick
30+
RUN pecl install redis-4.1.1 && docker-php-ext-enable redis
31+
#RUN pecl install ssh2-1.1.2 && docker-php-ext-enable ssh2
32+
RUN pecl install xdebug-2.7.2
33+
34+
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install gd
3035

31-
RUN docker-php-ext-install gmp
3236
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl && docker-php-ext-install imap
37+
RUN docker-php-ext-install gmp
38+
RUN docker-php-ext-install hash
39+
RUN docker-php-ext-install json
3340
RUN docker-php-ext-install phar
41+
RUN docker-php-ext-install readline
42+
RUN docker-php-ext-install recode
3443
RUN docker-php-ext-install sodium
44+
RUN docker-php-ext-install tokenizer
45+
RUN docker-php-ext-install wddx
46+
RUN docker-php-ext-install xmlrpc
3547

3648
RUN CFLAGS="-I/usr/src/php" docker-php-ext-install xmlreader
3749
RUN docker-php-ext-install zend_test
3850

51+
RUN wget -O /usr/local/bin/php-cs-fixer https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/download/v2.19.1/php-cs-fixer.phar && \
52+
chmod +x /usr/local/bin/php-cs-fixer
53+
3954
RUN wget -O /usr/local/bin/phpunit https://phar.phpunit.de/phpunit-8.5.8.phar && \
4055
chmod +x /usr/local/bin/phpunit
4156

@@ -45,9 +60,21 @@ RUN wget -O /usr/local/bin/phpcpd https://phar.phpunit.de/phpcpd-4.1.0.phar && \
4560
RUN wget -O /usr/local/bin/codecept http://codeception.com/codecept.phar && \
4661
chmod +x /usr/local/bin/codecept
4762

48-
RUN composer global require phan/phan
63+
RUN wget -O /usr/local/bin/box https://github.com/box-project/box/releases/download/3.0.0/box.phar && \
64+
chmod +x /usr/local/bin/box
4965

66+
RUN composer global require phan/phan
5067
RUN composer global require phpstan/phpstan --prefer-dist
68+
RUN composer global require symfony/console:^5.0
69+
RUN composer global require phing/phing
70+
71+
RUN composer global require phploc/phploc
72+
RUN composer global require phpmd/phpmd
73+
RUN composer global require squizlabs/php_codesniffer
74+
RUN composer global require pear/archive_tar
75+
RUN composer global require codeception/codeception
76+
RUN composer global require sensiolabs/security-checker
77+
RUN composer global require phpmetrics/phpmetrics
5178

5279
# RUN echo "xdebug.remote_enable=on" > $PHP_INI_DIR/conf.d/xdebug.ini \
5380
# && echo "xdebug.remote_autostart=on" >> /usr/local/etc/php/conf.d/xdebug.ini \

php73/Dockerfile renamed to php8/Dockerfile

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# You should have received a copy of the GNU General Public License
1414
# along with mcustiel/docker-php-tools. If not, see <http://www.gnu.org/licenses/>.
1515

16-
FROM php-tool-base:php73
16+
FROM php-tool-base:php8
1717

1818
LABEL MAINTAINER="Mariano Custiel <jmcustiel@gmail.com>"
1919

@@ -24,10 +24,13 @@ RUN apt-get update && \
2424
libsodium-dev libc-client-dev libkrb5-dev \
2525
&& rm -r /var/lib/apt/lists/*
2626

27-
RUN pecl install xdebug-2.7.2
28-
#RUN pecl install ssh2-1.1.2 && docker-php-ext-enable ssh2
2927
RUN pecl install ast && docker-php-ext-enable ast
28+
RUN pecl install imagick && docker-php-ext-enable imagick
29+
RUN pecl install redis && docker-php-ext-enable redis
30+
#RUN pecl install ssh2-1.1.2 && docker-php-ext-enable ssh2
31+
RUN pecl install xdebug
3032

33+
RUN docker-php-ext-configure gd --with-freetype --with-jpeg && docker-php-ext-install gd
3134
RUN docker-php-ext-install gmp
3235
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl && docker-php-ext-install imap
3336
RUN docker-php-ext-install phar
@@ -45,9 +48,27 @@ RUN wget -O /usr/local/bin/phpcpd https://phar.phpunit.de/phpcpd-6.0.2.phar && \
4548
RUN wget -O /usr/local/bin/codecept http://codeception.com/codecept.phar && \
4649
chmod +x /usr/local/bin/codecept
4750

51+
RUN wget -O /usr/local/bin/php-cs-fixer https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/download/v3.15.1/php-cs-fixer.phar && \
52+
chmod +x /usr/local/bin/php-cs-fixer
53+
54+
RUN wget -O /usr/local/bin/box https://github.com/box-project/box/releases/download/4.3.8/box.phar && \
55+
chmod +x /usr/local/bin/box
56+
57+
RUN wget -O /usr/local/bin/php-security-checker https://github.com/fabpot/local-php-security-checker/releases/download/v2.0.6/local-php-security-checker_2.0.6_linux_amd64 && \
58+
chmod +x /usr/local/bin/php-security-checker
59+
4860
RUN composer global require phan/phan
4961

5062
RUN composer global require phpstan/phpstan --prefer-dist
63+
RUN composer global require symfony/console
64+
RUN composer global require phing/phing
65+
66+
RUN composer global require phploc/phploc
67+
RUN composer global require phpmd/phpmd
68+
RUN composer global require squizlabs/php_codesniffer
69+
RUN composer global require pear/archive_tar
70+
RUN composer global require codeception/codeception
71+
RUN composer global require phpmetrics/phpmetrics
5172

5273
# RUN echo "xdebug.remote_enable=on" > $PHP_INI_DIR/conf.d/xdebug.ini \
5374
# && echo "xdebug.remote_autostart=on" >> /usr/local/etc/php/conf.d/xdebug.ini \

0 commit comments

Comments
 (0)