From c81589b327c1dd1a5da08cf1b2075774166d2dc2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 8 Nov 2017 12:59:09 +0700 Subject: [PATCH 001/559] Fix description --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f0dfd143..e4280841 100644 --- a/README.md +++ b/README.md @@ -91,13 +91,14 @@ For better reliability we release images with stability tags (`wodby/php:7.1-X.X [PHP_POST_MAX_SIZE]: http://php.net/post-max-size [PHP_FPM_CLEAR_ENV]: http://php.net/manual/en/install.fpm.configuration.php#clear-env [PHP_FPM_LOG_LEVEL]: http://php.net/manual/en/install.fpm.configuration.php#log-level -[PHP_FPM_MAX_CHILDREN]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-chidlren -[PHP_FPM_MAX_REQUESTS]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests -[PHP_FPM_MAX_SPARE_SERVERS]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-spare-servers -[PHP_FPM_MIN_SPARE_SERVERS]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers +[PHP_FPM_PM]: http://php.net/manual/en/install.fpm.configuration.php#pm +[PHP_FPM_PM_MAX_CHILDREN]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-chidlren +[PHP_FPM_PM_MAX_REQUESTS]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests +[PHP_FPM_PM_MAX_SPARE_SERVERS]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-spare-servers +[PHP_FPM_PM_MIN_SPARE_SERVERS]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers +[PHP_FPM_PM_STATUS_PATH]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path [PHP_FPM_REQUEST_SLOWLOG_TIMEOUT]: http://php.net/manual/en/install.fpm.configuration.php#request-slowlog-timeout [PHP_FPM_START_SERVERS]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers -[PHP_FPM_STATUS_PATH]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path [PHP_FPM_USER]: http://php.net/manual/en/install.fpm.configuration.php#user [PHP_FPM_GROUP]: http://php.net/manual/en/install.fpm.configuration.php#group From 1ff6879a6938bdd38c62c6743953f8d71acad034 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 20 Nov 2017 11:44:43 +0700 Subject: [PATCH 002/559] Add libjpeg-turbo-utils https://github.com/wodby/drupal-php/issues/46 --- 5.3/Dockerfile | 1 + 5.6/Dockerfile | 1 + 7.0/Dockerfile | 1 + 7.1/Dockerfile | 1 + 4 files changed, 4 insertions(+) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 2bb298d3..2ce00850 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -207,6 +207,7 @@ RUN set -xe && \ less \ libbz2 \ libjpeg-turbo \ + libjpeg-turbo-utils \ libltdl \ libmemcached-libs \ libmcrypt \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index cf7156af..3634b1d8 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -66,6 +66,7 @@ RUN set -xe && \ less \ libbz2=${LIBBZ2_VER} \ libjpeg-turbo=${LIBJPEG_TURBO_VER} \ + libjpeg-turbo-utils=${LIBJPEG_TURBO_VER} \ libldap=${LIBLDAP_VER} \ libltdl=${LIBLTDL_VER} \ libmemcached-libs=${LIBMEMCACHED_LIBS_VER} \ diff --git a/7.0/Dockerfile b/7.0/Dockerfile index fc484c76..2fc01e62 100644 --- a/7.0/Dockerfile +++ b/7.0/Dockerfile @@ -68,6 +68,7 @@ RUN set -xe && \ less \ libbz2=${LIBBZ2_VER} \ libjpeg-turbo=${LIBJPEG_TURBO_VER} \ + libjpeg-turbo-utils=${LIBJPEG_TURBO_VER} \ libldap=${LIBLDAP_VER} \ libltdl=${LIBLTDL_VER} \ libmemcached-libs=${LIBMEMCACHED_LIBS_VER} \ diff --git a/7.1/Dockerfile b/7.1/Dockerfile index fc484c76..2fc01e62 100644 --- a/7.1/Dockerfile +++ b/7.1/Dockerfile @@ -68,6 +68,7 @@ RUN set -xe && \ less \ libbz2=${LIBBZ2_VER} \ libjpeg-turbo=${LIBJPEG_TURBO_VER} \ + libjpeg-turbo-utils=${LIBJPEG_TURBO_VER} \ libldap=${LIBLDAP_VER} \ libltdl=${LIBLTDL_VER} \ libmemcached-libs=${LIBMEMCACHED_LIBS_VER} \ From 07fd1ffa644f8fcc1126e00a7ce67f4dcd318c25 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 23 Nov 2017 13:29:43 +0700 Subject: [PATCH 003/559] Update memcache ext to 3.0.4 --- .travis.yml | 1 + 5.3/Dockerfile | 3 ++- 5.6/Dockerfile | 3 ++- 7.0/Dockerfile | 5 +++-- 7.1/Dockerfile | 5 +++-- README.md | 2 +- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 115d82ac..1c7a6b25 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,5 +44,6 @@ after_success: | fi notifications: + on_failure: never slack: secure: "Z/uc2jwlK/Kf6WJRyWIcofKgq9kCau+/RMe0NZYbLTVY0cwqIIOfQvVqWwjIZZNly5wUx0w+XlXDVWD0JVeTJFr/TZxpCObUaMzC0hEj4D59LsDkZ509i07QvuSVBNCqXuHoiXM5Ea7UvJkRRNpVohwqUpoVQ18hQ5++kuTMHW//wtHfbM7k/tkI5S/lWm/RulIdA2/txIFB0UiRGlIcLNJCVVSDELAnyC7sugbMw02Gq6epnTtjjMJKWN/5PyCe3YtTo7mut9xIaRMkrSNtA/24HdzY1OjOjw5YTtgfIzq5vHipQtf49tqMj74BOUjq3y7noFwxHxhwtmK8UnzKgrDnBFO8A7d4yWnErHgmEga/LNoKY3TvtIvsv4lfRh0LKqXv4B48DTJXTxmUIEHsVpBBG+ec5LZqYcCq+aM8QdvB+9gCrE8e+5vJKAJfd+za0jCLqY+ooxslPblntNsWIbvYyvvMKdzUfjAs/F1TIynR7gXU58QykJo/i+3KjFN+JHfLF5wJ/E8jbZXhbrmFZOVTn0IOqP5jPzxVsR0X5YSHIBD2iOujUFwklQYnWFBFMtZtKaNkHF+/KE5SyKlcjr4+qmeD2+mjHnzN1pPzq8dHwyqugQt7kkOgLptrHp2a9nfuVDWYeL/cuhkosDvY4NaESOi25/+qhv2wVNL7LBs=" \ No newline at end of file diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 2ce00850..db87694e 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -371,7 +371,8 @@ RUN set -xe && \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ - /root/.composer + /root/.composer \ + /var/cache/apk/* USER www-data diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 3634b1d8..fcdb4dfd 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -241,7 +241,8 @@ RUN set -xe && \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ - /root/.composer + /root/.composer \ + /var/cache/apk/* USER www-data diff --git a/7.0/Dockerfile b/7.0/Dockerfile index 2fc01e62..60a16d83 100644 --- a/7.0/Dockerfile +++ b/7.0/Dockerfile @@ -15,7 +15,7 @@ ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ EXT_AST_VER="0.1.6" \ EXT_GEOIP_VER="1.1.1" \ EXT_IMAGICK_VER="3.4.3" \ - EXT_MEMCACHED_VER="3.0.3" \ + EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.3.2" \ EXT_OAUTH_VER="2.0.2" \ EXT_REDIS_VER="3.1.4" \ @@ -254,7 +254,8 @@ RUN set -xe && \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ - /root/.composer + /root/.composer \ + /var/cache/apk/* USER www-data diff --git a/7.1/Dockerfile b/7.1/Dockerfile index 2fc01e62..60a16d83 100644 --- a/7.1/Dockerfile +++ b/7.1/Dockerfile @@ -15,7 +15,7 @@ ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ EXT_AST_VER="0.1.6" \ EXT_GEOIP_VER="1.1.1" \ EXT_IMAGICK_VER="3.4.3" \ - EXT_MEMCACHED_VER="3.0.3" \ + EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.3.2" \ EXT_OAUTH_VER="2.0.2" \ EXT_REDIS_VER="3.1.4" \ @@ -254,7 +254,8 @@ RUN set -xe && \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ - /root/.composer + /root/.composer \ + /var/cache/apk/* USER www-data diff --git a/README.md b/README.md index e4280841..f4e9d520 100644 --- a/README.md +++ b/README.md @@ -246,7 +246,7 @@ Deprecated variables still supported but will be removed in future releases | libxml | | | | | | mbstring | | | | | | mcrypt | | | | | -| [memcached] | 3.0.3 | 3.0.3 | 2.2.0 | 2.2.0 | +| [memcached] | 3.0.4 | 3.0.4 | 2.2.0 | 2.2.0 | | [mongo] | - | - | - | 1.6.16 | | [mongodb] | 1.3.2 | 1.3.2 | 1.3.2 | - | | mysql | - | - | | | From 432a84215a4425daee8fc7805f16cd1a166427c4 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 23 Nov 2017 13:57:40 +0700 Subject: [PATCH 004/559] Update postgresql client --- 5.6/Dockerfile | 2 +- 7.0/Dockerfile | 2 +- 7.1/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index fcdb4dfd..8c1fb155 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -36,7 +36,7 @@ ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ LIBPNG_VER="1.6.29-r1" \ LIBXSLT_VER="1.1.29-r3" \ MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.5-r0" \ + POSTGRESQL_CLIENT_VER="9.6.6-r0" \ RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" diff --git a/7.0/Dockerfile b/7.0/Dockerfile index 60a16d83..ac0bff48 100644 --- a/7.0/Dockerfile +++ b/7.0/Dockerfile @@ -36,7 +36,7 @@ ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ LIBPNG_VER="1.6.29-r1" \ LIBXSLT_VER="1.1.29-r3" \ MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.5-r0" \ + POSTGRESQL_CLIENT_VER="9.6.6-r0" \ RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" diff --git a/7.1/Dockerfile b/7.1/Dockerfile index 60a16d83..ac0bff48 100644 --- a/7.1/Dockerfile +++ b/7.1/Dockerfile @@ -36,7 +36,7 @@ ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ LIBPNG_VER="1.6.29-r1" \ LIBXSLT_VER="1.1.29-r3" \ MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.5-r0" \ + POSTGRESQL_CLIENT_VER="9.6.6-r0" \ RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" From 274331fa48c33528bae6b8ac8e209fa6f522da40 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 23 Nov 2017 16:10:25 +0700 Subject: [PATCH 005/559] Install phpunit via composer --- 5.3/Dockerfile | 3 +-- 5.6/Dockerfile | 3 +-- 7.0/Dockerfile | 3 +-- 7.1/Dockerfile | 5 +---- 4 files changed, 4 insertions(+), 10 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index db87694e..a55f0fe4 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -322,8 +322,7 @@ RUN set -xe && \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ # Install PHPUnit - wget -qO- https://phar.phpunit.de/phpunit-${PHP_UNIT_VER}.phar > /usr/local/bin/phpunit && \ - chmod +x /usr/local/bin/phpunit && \ + su-exec www-data composer global require --dev phpunit/phpunit ^${PHP_UNIT_VER} && \ # Install Walter tool wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 8c1fb155..b69b1bc9 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -191,8 +191,7 @@ RUN set -xe && \ su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ # Install PHPUnit - wget -qO- https://phar.phpunit.de/phpunit-${PHP_UNIT_VER}.phar > /usr/local/bin/phpunit && \ - chmod +x /usr/local/bin/phpunit && \ + su-exec www-data composer global require --dev phpunit/phpunit ^${PHP_UNIT_VER} && \ # Install Walter wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ diff --git a/7.0/Dockerfile b/7.0/Dockerfile index ac0bff48..dc5e148a 100644 --- a/7.0/Dockerfile +++ b/7.0/Dockerfile @@ -202,8 +202,7 @@ RUN set -xe && \ su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ # Install PHPUnit - wget -qO- https://phar.phpunit.de/phpunit-${PHP_UNIT_VER}.phar > /usr/local/bin/phpunit && \ - chmod +x /usr/local/bin/phpunit && \ + su-exec www-data composer global require --dev phpunit/phpunit ^${PHP_UNIT_VER} && \ # Install Walter wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ diff --git a/7.1/Dockerfile b/7.1/Dockerfile index ac0bff48..91157133 100644 --- a/7.1/Dockerfile +++ b/7.1/Dockerfile @@ -200,10 +200,7 @@ RUN set -xe && \ # Plugin for parallel install su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ - - # Install PHPUnit - wget -qO- https://phar.phpunit.de/phpunit-${PHP_UNIT_VER}.phar > /usr/local/bin/phpunit && \ - chmod +x /usr/local/bin/phpunit && \ + su-exec www-data composer global require --dev phpunit/phpunit ^${PHP_UNIT_VER} && \ # Install Walter wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ From e9cc0f330bb86c702085f4b4deabbf54ed0e90b9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 23 Nov 2017 16:32:01 +0700 Subject: [PATCH 006/559] Update tests --- 5.3/test/docker-compose.yml | 4 +--- 5.6/test/docker-compose.yml | 4 +--- 7.0/test/docker-compose.yml | 4 +--- 7.1/test/docker-compose.yml | 5 +---- 4 files changed, 4 insertions(+), 13 deletions(-) diff --git a/5.3/test/docker-compose.yml b/5.3/test/docker-compose.yml index 55d6ad72..22e2e1ff 100644 --- a/5.3/test/docker-compose.yml +++ b/5.3/test/docker-compose.yml @@ -2,9 +2,7 @@ version: "2" services: nginx: - image: wodby/nginx:1.13 - environment: - NGINX_BACKEND_HOST: php + image: wodby/php-nginx volumes: - ./nginx.conf:/etc/gotpl/default-vhost.conf.tpl depends_on: diff --git a/5.6/test/docker-compose.yml b/5.6/test/docker-compose.yml index 0792fc08..d3299ea6 100644 --- a/5.6/test/docker-compose.yml +++ b/5.6/test/docker-compose.yml @@ -2,9 +2,7 @@ version: "2" services: nginx: - image: wodby/nginx:1.13 - environment: - NGINX_BACKEND_HOST: php + image: wodby/php-nginx volumes: - ./nginx.conf:/etc/gotpl/default-vhost.conf.tpl depends_on: diff --git a/7.0/test/docker-compose.yml b/7.0/test/docker-compose.yml index 0792fc08..d3299ea6 100644 --- a/7.0/test/docker-compose.yml +++ b/7.0/test/docker-compose.yml @@ -2,9 +2,7 @@ version: "2" services: nginx: - image: wodby/nginx:1.13 - environment: - NGINX_BACKEND_HOST: php + image: wodby/php-nginx volumes: - ./nginx.conf:/etc/gotpl/default-vhost.conf.tpl depends_on: diff --git a/7.1/test/docker-compose.yml b/7.1/test/docker-compose.yml index f0fd7b2c..cee7de81 100644 --- a/7.1/test/docker-compose.yml +++ b/7.1/test/docker-compose.yml @@ -2,10 +2,7 @@ version: "2" services: nginx: - image: wodby/nginx:1.13 - environment: - DEBUG: 1 - NGINX_BACKEND_HOST: php + image: wodby/php-nginx volumes: - ./nginx.conf:/etc/gotpl/default-vhost.conf.tpl depends_on: From 6cbc8a8ed9c6041bb2d047c4e576658dd5755dde Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 23 Nov 2017 16:48:55 +0700 Subject: [PATCH 007/559] Remove nginx health-check from tests --- 5.3/test.sh | 2 +- 5.6/test.sh | 2 +- 7.0/test.sh | 2 +- 7.1/test.sh | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/5.3/test.sh b/5.3/test.sh index 8bd14fb9..d3fdae29 100755 --- a/5.3/test.sh +++ b/5.3/test.sh @@ -37,7 +37,7 @@ run_action() { } docker-compose -f test/docker-compose.yml up -d -run_action nginx check-ready max_try=10 + run_action php check-ready max_try=10 # PHP tools diff --git a/5.6/test.sh b/5.6/test.sh index 8bd14fb9..d3fdae29 100755 --- a/5.6/test.sh +++ b/5.6/test.sh @@ -37,7 +37,7 @@ run_action() { } docker-compose -f test/docker-compose.yml up -d -run_action nginx check-ready max_try=10 + run_action php check-ready max_try=10 # PHP tools diff --git a/7.0/test.sh b/7.0/test.sh index 8bd14fb9..d3fdae29 100755 --- a/7.0/test.sh +++ b/7.0/test.sh @@ -37,7 +37,7 @@ run_action() { } docker-compose -f test/docker-compose.yml up -d -run_action nginx check-ready max_try=10 + run_action php check-ready max_try=10 # PHP tools diff --git a/7.1/test.sh b/7.1/test.sh index 498556ac..90754fdd 100755 --- a/7.1/test.sh +++ b/7.1/test.sh @@ -39,7 +39,6 @@ run_action() { docker-compose -f test/docker-compose.yml up -d docker-compose -f test/docker-compose.yml logs -run_action nginx check-ready max_try=10 run_action php check-ready max_try=10 # PHP tools From 2e4e9d29684e72da00c529b8de6c2c5c9931f3cb Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 24 Nov 2017 13:09:15 +0700 Subject: [PATCH 008/559] Update PHP to 7.0.26 --- 7.0/Makefile | 2 +- README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/7.0/Makefile b/7.0/Makefile index 30c481e0..d80516b9 100644 --- a/7.0/Makefile +++ b/7.0/Makefile @@ -5,7 +5,7 @@ TAG ?= $(PHP_VER) REPO = wodby/php NAME = php-$(PHP_VER) -FROM_TAG = 7.0.25 +FROM_TAG = 7.0.26 PHP_DEBUG ?= 0 diff --git a/README.md b/README.md index f4e9d520..ced50ddc 100644 --- a/README.md +++ b/README.md @@ -30,11 +30,11 @@ For better reliability we release images with stability tags (`wodby/php:7.1-X.X | Image tag (Dockerfile) | PHP | Alpine | | ----------------------------------------------------------------------- | ------ | ------ | | [7.1 (latest)](https://github.com/wodby/php/tree/master/7.1/Dockerfile) | 7.1.11 | 3.6 | -| [7.0](https://github.com/wodby/php/tree/master/7.0/Dockerfile) | 7.0.25 | 3.6 | +| [7.0](https://github.com/wodby/php/tree/master/7.0/Dockerfile) | 7.0.26 | 3.6 | | [5.6](https://github.com/wodby/php/tree/master/5.6/Dockerfile) | 5.6.32 | 3.6 | | [5.3](https://github.com/wodby/php/tree/master/5.3/Dockerfile) | 5.3.29 | 3.4 | | [7.1-debug](https://github.com/wodby/php/tree/master/7.1/Dockerfile) | 7.1.11 | 3.6 | -| [7.0-debug](https://github.com/wodby/php/tree/master/7.0/Dockerfile) | 7.0.25 | 3.6 | +| [7.0-debug](https://github.com/wodby/php/tree/master/7.0/Dockerfile) | 7.0.26 | 3.6 | | [5.6-debug](https://github.com/wodby/php/tree/master/5.6/Dockerfile) | 5.6.32 | 3.6 | > Images with -debug tag run php compiled with --enable-debug flag From cab9e97e25fbcda40029409b9e66a56366ec35bb Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 24 Nov 2017 16:31:28 +0700 Subject: [PATCH 009/559] Remove phpunit from images --- 5.3/Dockerfile | 4 ---- 5.6/Dockerfile | 4 ---- 7.0/Dockerfile | 4 ---- 7.1/Dockerfile | 2 -- README.md | 1 - 5 files changed, 15 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index a55f0fe4..130a646e 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -173,7 +173,6 @@ RUN set -ex \ # INSTALLING EXTENSIONS ENV SSHD_PERMIT_USER_ENV="yes" \ - PHP_UNIT_VER="4.8" \ RABBITMQ_C_VER="0.8.0" \ WALTER_VER="1.3.0" \ @@ -321,9 +320,6 @@ RUN set -xe && \ # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - # Install PHPUnit - su-exec www-data composer global require --dev phpunit/phpunit ^${PHP_UNIT_VER} && \ - # Install Walter tool wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ mv /tmp/walter_linux_amd64/walter /usr/local/bin && \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index b69b1bc9..30b740b8 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -7,7 +7,6 @@ ARG PHP_DEBUG ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ - PHP_UNIT_VER="5.7" \ WALTER_VER="1.3.0" \ EXT_AMQP_VER="1.9.1" \ @@ -190,9 +189,6 @@ RUN set -xe && \ # Install composer parallel install plugin su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ - # Install PHPUnit - su-exec www-data composer global require --dev phpunit/phpunit ^${PHP_UNIT_VER} && \ - # Install Walter wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ mv /tmp/walter_linux_amd64/walter /usr/local/bin && \ diff --git a/7.0/Dockerfile b/7.0/Dockerfile index dc5e148a..7eedf9a5 100644 --- a/7.0/Dockerfile +++ b/7.0/Dockerfile @@ -7,7 +7,6 @@ ARG PHP_DEBUG ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ - PHP_UNIT_VER="6.4" \ WALTER_VER="1.3.0" \ EXT_AMQP_VER="1.9.1" \ @@ -201,9 +200,6 @@ RUN set -xe && \ # Plugin for parallel install su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ - # Install PHPUnit - su-exec www-data composer global require --dev phpunit/phpunit ^${PHP_UNIT_VER} && \ - # Install Walter wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ mv /tmp/walter_linux_amd64/walter /usr/local/bin && \ diff --git a/7.1/Dockerfile b/7.1/Dockerfile index 91157133..7eedf9a5 100644 --- a/7.1/Dockerfile +++ b/7.1/Dockerfile @@ -7,7 +7,6 @@ ARG PHP_DEBUG ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ - PHP_UNIT_VER="6.4" \ WALTER_VER="1.3.0" \ EXT_AMQP_VER="1.9.1" \ @@ -200,7 +199,6 @@ RUN set -xe && \ # Plugin for parallel install su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ - su-exec www-data composer global require --dev phpunit/phpunit ^${PHP_UNIT_VER} && \ # Install Walter wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ diff --git a/README.md b/README.md index ced50ddc..b738e3d0 100644 --- a/README.md +++ b/README.md @@ -299,7 +299,6 @@ Extensions xdebug and blackfire disabled by default. | Tool | 7.1 | 7.0 | 5.6 | 5.3 | | --------------------------------------------- | ------- | ------- | ------- | ------- | | [Composer](https://getcomposer.org) | latest | latest | latest | latest | -| [PHPUnit](https://phpunit.de) | 6.4 | 6.4 | 5.7 | 4.8 | | [Walter](https://github.com/walter-cd/walter) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | ## Global Composer Packages From 1f0ff1337dce1304cdd2f08ce8efad295c343a49 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 24 Nov 2017 16:52:13 +0700 Subject: [PATCH 010/559] Clean up tests from phpunit --- 5.3/test/tests.sh | 4 ---- 5.6/test/tests.sh | 4 ---- 7.0/test/tests.sh | 4 ---- 7.1/test/tests.sh | 4 ---- 4 files changed, 16 deletions(-) diff --git a/5.3/test/tests.sh b/5.3/test/tests.sh index 282e8d21..5e8c7481 100755 --- a/5.3/test/tests.sh +++ b/5.3/test/tests.sh @@ -31,7 +31,3 @@ echo "OK" echo -n "Checking walter... " walter -v | grep -q 'Walter version' echo "OK" - -echo -n "Checking PHPUnit... " -phpunit -version | grep -q 'PHPUnit' -echo "OK" diff --git a/5.6/test/tests.sh b/5.6/test/tests.sh index 282e8d21..5e8c7481 100755 --- a/5.6/test/tests.sh +++ b/5.6/test/tests.sh @@ -31,7 +31,3 @@ echo "OK" echo -n "Checking walter... " walter -v | grep -q 'Walter version' echo "OK" - -echo -n "Checking PHPUnit... " -phpunit -version | grep -q 'PHPUnit' -echo "OK" diff --git a/7.0/test/tests.sh b/7.0/test/tests.sh index 282e8d21..5e8c7481 100755 --- a/7.0/test/tests.sh +++ b/7.0/test/tests.sh @@ -31,7 +31,3 @@ echo "OK" echo -n "Checking walter... " walter -v | grep -q 'Walter version' echo "OK" - -echo -n "Checking PHPUnit... " -phpunit -version | grep -q 'PHPUnit' -echo "OK" diff --git a/7.1/test/tests.sh b/7.1/test/tests.sh index 282e8d21..5e8c7481 100755 --- a/7.1/test/tests.sh +++ b/7.1/test/tests.sh @@ -31,7 +31,3 @@ echo "OK" echo -n "Checking walter... " walter -v | grep -q 'Walter version' echo "OK" - -echo -n "Checking PHPUnit... " -phpunit -version | grep -q 'PHPUnit' -echo "OK" From d8c6253a66205115fdaa3da67fb05db5f0588d13 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 28 Nov 2017 15:59:26 +0700 Subject: [PATCH 011/559] Update to 7.1.12 --- 7.1/Makefile | 2 +- README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/7.1/Makefile b/7.1/Makefile index c6fb7300..03c485b8 100644 --- a/7.1/Makefile +++ b/7.1/Makefile @@ -5,7 +5,7 @@ TAG ?= $(PHP_VER) REPO = wodby/php NAME = php-$(PHP_VER) -FROM_TAG = 7.1.11 +FROM_TAG = 7.1.12 PHP_DEBUG ?= 0 diff --git a/README.md b/README.md index b738e3d0..f4ddf9c6 100644 --- a/README.md +++ b/README.md @@ -29,11 +29,11 @@ For better reliability we release images with stability tags (`wodby/php:7.1-X.X | Image tag (Dockerfile) | PHP | Alpine | | ----------------------------------------------------------------------- | ------ | ------ | -| [7.1 (latest)](https://github.com/wodby/php/tree/master/7.1/Dockerfile) | 7.1.11 | 3.6 | +| [7.1 (latest)](https://github.com/wodby/php/tree/master/7.1/Dockerfile) | 7.1.12 | 3.6 | | [7.0](https://github.com/wodby/php/tree/master/7.0/Dockerfile) | 7.0.26 | 3.6 | | [5.6](https://github.com/wodby/php/tree/master/5.6/Dockerfile) | 5.6.32 | 3.6 | | [5.3](https://github.com/wodby/php/tree/master/5.3/Dockerfile) | 5.3.29 | 3.4 | -| [7.1-debug](https://github.com/wodby/php/tree/master/7.1/Dockerfile) | 7.1.11 | 3.6 | +| [7.1-debug](https://github.com/wodby/php/tree/master/7.1/Dockerfile) | 7.1.12 | 3.6 | | [7.0-debug](https://github.com/wodby/php/tree/master/7.0/Dockerfile) | 7.0.26 | 3.6 | | [5.6-debug](https://github.com/wodby/php/tree/master/5.6/Dockerfile) | 5.6.32 | 3.6 | From 7e5d622a4468f15bb5deea655538868eaba87a89 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 29 Nov 2017 13:05:28 +0700 Subject: [PATCH 012/559] Rollback to 7.1.11 --- 7.1/Makefile | 2 +- README.md | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/7.1/Makefile b/7.1/Makefile index 03c485b8..c6fb7300 100644 --- a/7.1/Makefile +++ b/7.1/Makefile @@ -5,7 +5,7 @@ TAG ?= $(PHP_VER) REPO = wodby/php NAME = php-$(PHP_VER) -FROM_TAG = 7.1.12 +FROM_TAG = 7.1.11 PHP_DEBUG ?= 0 diff --git a/README.md b/README.md index f4ddf9c6..5e9e7e86 100644 --- a/README.md +++ b/README.md @@ -27,15 +27,15 @@ For better reliability we release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to git tags. We **strongly recommend** using images only with stability tags. Below listed basic tags: -| Image tag (Dockerfile) | PHP | Alpine | -| ----------------------------------------------------------------------- | ------ | ------ | -| [7.1 (latest)](https://github.com/wodby/php/tree/master/7.1/Dockerfile) | 7.1.12 | 3.6 | -| [7.0](https://github.com/wodby/php/tree/master/7.0/Dockerfile) | 7.0.26 | 3.6 | -| [5.6](https://github.com/wodby/php/tree/master/5.6/Dockerfile) | 5.6.32 | 3.6 | -| [5.3](https://github.com/wodby/php/tree/master/5.3/Dockerfile) | 5.3.29 | 3.4 | -| [7.1-debug](https://github.com/wodby/php/tree/master/7.1/Dockerfile) | 7.1.12 | 3.6 | -| [7.0-debug](https://github.com/wodby/php/tree/master/7.0/Dockerfile) | 7.0.26 | 3.6 | -| [5.6-debug](https://github.com/wodby/php/tree/master/5.6/Dockerfile) | 5.6.32 | 3.6 | +Supported tags and respective `Dockerfile` links: + +* `7.1`, `latest` [_Dockerfile_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) +* `7.0` [_Dockerfile_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) +* `5.6` [_Dockerfile_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5.3` [_Dockerfile_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) +* `7.1-debug` [_Dockerfile_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) +* `7.0-debug` [_Dockerfile_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) +* `5.6-debug` [_Dockerfile_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) > Images with -debug tag run php compiled with --enable-debug flag From be352fcf847f51f053e5b14184dc83a638f6f41a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 29 Nov 2017 15:39:17 +0700 Subject: [PATCH 013/559] Fix stability tag support --- .travis.yml | 2 +- 7.1/Makefile | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1c7a6b25..cf8d72d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,7 +37,7 @@ after_success: | make release if [[ -n "${TRAVIS_TAG}" ]]; then - make release TAG="${DRUPAL}-${PHP_VER}-${TRAVIS_TAG}" + make release STABILITY_TAG="${TRAVIS_TAG}" elif [[ "${PHP_VER}" == "${LATEST_PHP_VER}" && "${PHP_DEBUG}" == 0 ]]; then make release TAG="latest" fi diff --git a/7.1/Makefile b/7.1/Makefile index c6fb7300..b6ba16c1 100644 --- a/7.1/Makefile +++ b/7.1/Makefile @@ -15,6 +15,10 @@ ifneq ($(PHP_DEBUG), 0) NAME := $(NAME)-debug endif +ifneq ($(STABILITY_TAG),) + override TAG := $(TAG)-$(STABILITY_TAG) +endif + .PHONY: build test push shell run start stop logs clean release default: build From 6bfe81f66ce18dc9cc7cdffc3773892f495ccb24 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 29 Nov 2017 15:44:07 +0700 Subject: [PATCH 014/559] Fix stability tag support --- 5.3/Makefile | 4 ++++ 5.6/Makefile | 6 +++++- 7.0/Makefile | 6 +++++- 7.1/Makefile | 4 ++-- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/5.3/Makefile b/5.3/Makefile index a9744962..40e16dd2 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -6,6 +6,10 @@ TAG ?= $(PHP_VER) REPO = wodby/php NAME = php-$(PHP_VER) +ifneq ($(STABILITY_TAG),) + TAG := $(TAG)-$(STABILITY_TAG) +endif + .PHONY: build test push shell run start stop logs clean release default: build diff --git a/5.6/Makefile b/5.6/Makefile index 4c5f4796..a152339d 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -10,11 +10,15 @@ FROM_TAG = 5.6.32 PHP_DEBUG ?= 0 ifneq ($(PHP_DEBUG), 0) - override TAG := $(TAG)-debug + TAG := $(TAG)-debug FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug endif +ifneq ($(STABILITY_TAG),) + TAG := $(TAG)-$(STABILITY_TAG) +endif + .PHONY: build test push shell run start stop logs clean release default: build diff --git a/7.0/Makefile b/7.0/Makefile index d80516b9..02c3350f 100644 --- a/7.0/Makefile +++ b/7.0/Makefile @@ -10,11 +10,15 @@ FROM_TAG = 7.0.26 PHP_DEBUG ?= 0 ifneq ($(PHP_DEBUG), 0) - override TAG := $(TAG)-debug + TAG := $(TAG)-debug FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug endif +ifneq ($(STABILITY_TAG),) + TAG := $(TAG)-$(STABILITY_TAG) +endif + .PHONY: build test push shell run start stop logs clean release default: build diff --git a/7.1/Makefile b/7.1/Makefile index b6ba16c1..a0fc7884 100644 --- a/7.1/Makefile +++ b/7.1/Makefile @@ -10,13 +10,13 @@ FROM_TAG = 7.1.11 PHP_DEBUG ?= 0 ifneq ($(PHP_DEBUG), 0) - override TAG := $(TAG)-debug + TAG := $(TAG)-debug FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug endif ifneq ($(STABILITY_TAG),) - override TAG := $(TAG)-$(STABILITY_TAG) + TAG := $(TAG)-$(STABILITY_TAG) endif .PHONY: build test push shell run start stop logs clean release From 73356a96eda7a404a789a8277d83eab25f3a7bcf Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 29 Nov 2017 15:48:56 +0700 Subject: [PATCH 015/559] Fix stability tag support --- 5.3/Makefile | 2 +- 5.6/Makefile | 4 ++-- 7.0/Makefile | 4 ++-- 7.1/Makefile | 4 ++-- README.md | 14 +++++++------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/5.3/Makefile b/5.3/Makefile index 40e16dd2..f43102fe 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -7,7 +7,7 @@ REPO = wodby/php NAME = php-$(PHP_VER) ifneq ($(STABILITY_TAG),) - TAG := $(TAG)-$(STABILITY_TAG) + override TAG := $(TAG)-$(STABILITY_TAG) endif .PHONY: build test push shell run start stop logs clean release diff --git a/5.6/Makefile b/5.6/Makefile index a152339d..762e1d43 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -10,13 +10,13 @@ FROM_TAG = 5.6.32 PHP_DEBUG ?= 0 ifneq ($(PHP_DEBUG), 0) - TAG := $(TAG)-debug + override TAG := $(TAG)-debug FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug endif ifneq ($(STABILITY_TAG),) - TAG := $(TAG)-$(STABILITY_TAG) + override TAG := $(TAG)-$(STABILITY_TAG) endif .PHONY: build test push shell run start stop logs clean release diff --git a/7.0/Makefile b/7.0/Makefile index 02c3350f..bb0808cd 100644 --- a/7.0/Makefile +++ b/7.0/Makefile @@ -10,13 +10,13 @@ FROM_TAG = 7.0.26 PHP_DEBUG ?= 0 ifneq ($(PHP_DEBUG), 0) - TAG := $(TAG)-debug + override TAG := $(TAG)-debug FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug endif ifneq ($(STABILITY_TAG),) - TAG := $(TAG)-$(STABILITY_TAG) + override TAG := $(TAG)-$(STABILITY_TAG) endif .PHONY: build test push shell run start stop logs clean release diff --git a/7.1/Makefile b/7.1/Makefile index a0fc7884..b6ba16c1 100644 --- a/7.1/Makefile +++ b/7.1/Makefile @@ -10,13 +10,13 @@ FROM_TAG = 7.1.11 PHP_DEBUG ?= 0 ifneq ($(PHP_DEBUG), 0) - TAG := $(TAG)-debug + override TAG := $(TAG)-debug FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug endif ifneq ($(STABILITY_TAG),) - TAG := $(TAG)-$(STABILITY_TAG) + override TAG := $(TAG)-$(STABILITY_TAG) endif .PHONY: build test push shell run start stop logs clean release diff --git a/README.md b/README.md index 5e9e7e86..9feb7a30 100644 --- a/README.md +++ b/README.md @@ -29,13 +29,13 @@ For better reliability we release images with stability tags (`wodby/php:7.1-X.X Supported tags and respective `Dockerfile` links: -* `7.1`, `latest` [_Dockerfile_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) -* `7.0` [_Dockerfile_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) -* `5.6` [_Dockerfile_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) -* `5.3` [_Dockerfile_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -* `7.1-debug` [_Dockerfile_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) -* `7.0-debug` [_Dockerfile_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) -* `5.6-debug` [_Dockerfile_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `7.1`, `latest` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) +* `7.0` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) +* `5.6` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) +* `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) +* `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) +* `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) > Images with -debug tag run php compiled with --enable-debug flag From 6421e346a31f3871ff1847a14a084da6f9fd6bc7 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 30 Nov 2017 12:39:56 +0700 Subject: [PATCH 016/559] Fix stability tags support --- .travis.yml | 9 ++++++--- 5.3/Makefile | 2 ++ 5.6/Makefile | 2 ++ 7.0/Makefile | 2 ++ 7.1/Makefile | 2 ++ 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index cf8d72d2..e148dd38 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,11 +34,14 @@ script: after_success: | if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" - make release if [[ -n "${TRAVIS_TAG}" ]]; then - make release STABILITY_TAG="${TRAVIS_TAG}" - elif [[ "${PHP_VER}" == "${LATEST_PHP_VER}" && "${PHP_DEBUG}" == 0 ]]; then + export STABILITY_TAG="${TRAVIS_TAG}" + fi + + make release + + if [[ "${PHP_VER}" == "${LATEST_PHP_VER}" && "${PHP_DEBUG}" == 0 ]]; then make release TAG="latest" fi fi diff --git a/5.3/Makefile b/5.3/Makefile index f43102fe..47d1ec3a 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -7,8 +7,10 @@ REPO = wodby/php NAME = php-$(PHP_VER) ifneq ($(STABILITY_TAG),) +ifneq ($(TAG),latest) override TAG := $(TAG)-$(STABILITY_TAG) endif +endif .PHONY: build test push shell run start stop logs clean release diff --git a/5.6/Makefile b/5.6/Makefile index 762e1d43..67e67ce2 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -16,8 +16,10 @@ ifneq ($(PHP_DEBUG), 0) endif ifneq ($(STABILITY_TAG),) +ifneq ($(TAG),latest) override TAG := $(TAG)-$(STABILITY_TAG) endif +endif .PHONY: build test push shell run start stop logs clean release diff --git a/7.0/Makefile b/7.0/Makefile index bb0808cd..8ee4e8b5 100644 --- a/7.0/Makefile +++ b/7.0/Makefile @@ -16,8 +16,10 @@ ifneq ($(PHP_DEBUG), 0) endif ifneq ($(STABILITY_TAG),) +ifneq ($(TAG),latest) override TAG := $(TAG)-$(STABILITY_TAG) endif +endif .PHONY: build test push shell run start stop logs clean release diff --git a/7.1/Makefile b/7.1/Makefile index b6ba16c1..c0115497 100644 --- a/7.1/Makefile +++ b/7.1/Makefile @@ -16,8 +16,10 @@ ifneq ($(PHP_DEBUG), 0) endif ifneq ($(STABILITY_TAG),) +ifneq ($(TAG),latest) override TAG := $(TAG)-$(STABILITY_TAG) endif +endif .PHONY: build test push shell run start stop logs clean release From 1eb2dd3a4bbaaa00e487f7b3318db81036c709f0 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 30 Nov 2017 12:58:54 +0700 Subject: [PATCH 017/559] Update description [skip ci] --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9feb7a30..d5a0652c 100644 --- a/README.md +++ b/README.md @@ -25,8 +25,6 @@ * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) -For better reliability we release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to git tags. We **strongly recommend** using images only with stability tags. Below listed basic tags: - Supported tags and respective `Dockerfile` links: * `7.1`, `latest` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) @@ -37,6 +35,8 @@ Supported tags and respective `Dockerfile` links: * `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) * `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +For better reliability we additionally release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to git tags. We **strongly recommend** using images only with stability tags. + > Images with -debug tag run php compiled with --enable-debug flag > The 5.3 version is no longer supported by PHP team, we highly encourage switching to 5.6 From b5c19c5992f812531ccaf7c97d8953f901d51eed Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 1 Dec 2017 15:29:56 +0700 Subject: [PATCH 018/559] add 7.2.0 / update to 7.2.11 --- .travis.yml | 22 +- 5.3/Dockerfile | 1 - 5.3/{ => orig}/php.ini | 0 5.3/test/tests.sh | 2 +- 5.6/Dockerfile | 5 +- 5.6/Makefile | 11 +- 5.6/docker-entrypoint.sh | 2 +- 5.6/{ => orig}/php.ini | 0 5.6/test/tests.sh | 2 +- 7.0/Dockerfile | 266 --- 7.0/Makefile | 55 - 7.0/actions/actions.mk | 37 - 7.0/actions/git-checkout.sh | 19 - 7.0/actions/git-clone.sh | 16 - 7.0/actions/sshd-generate-keys.sh | 16 - 7.0/actions/walter.sh | 11 - 7.0/docker-entrypoint.sh | 119 - 7.0/templates/authorized_keys.tpl | 2 - 7.0/templates/crontab.tpl | 1 - 7.0/templates/docker-php-ext-apcu.ini.tpl | 13 - .../docker-php-ext-blackfire.ini.tpl | 4 - 7.0/templates/docker-php-ext-geoip.ini.tpl | 3 - 7.0/templates/docker-php-ext-opcache.ini.tpl | 10 - 7.0/templates/docker-php-ext-xdebug.ini.tpl | 80 - 7.0/templates/id_rsa.tpl | 1 - 7.0/templates/ssh_config.tpl | 55 - 7.0/templates/sshd_config.tpl | 121 -- 7.0/templates/zz-www.conf.tpl | 47 - 7.0/test.sh | 74 - 7.0/test/docker-compose.yml | 91 - 7.0/test/nginx.conf | 15 - 7.0/test/tests.sh | 33 - 7.1/Dockerfile | 37 +- 7.1/Makefile | 11 +- 7.1/docker-entrypoint.sh | 11 +- 7.1/docker-php-source | 34 - 7.0/php.ini => 7.1/orig/php-7.0.ini | 0 7.1/{php.ini => orig/php-7.1.ini} | 0 7.1/orig/php-7.2.ini | 1911 +++++++++++++++++ ...ker-php.ini.tpl => docker-php-7.0.ini.tpl} | 0 .../templates/docker-php-7.1.ini.tpl | 2 +- 7.1/templates/docker-php-7.2.ini.tpl | 27 + 7.1/test.sh | 1 - .../php_modules => 7.1/test/php_modules/7.0 | 0 7.1/test/{php_modules => php_modules/7.1} | 0 7.1/test/php_modules/7.2 | 70 + 7.1/test/tests.sh | 4 +- README.md | 294 +-- 48 files changed, 2221 insertions(+), 1315 deletions(-) rename 5.3/{ => orig}/php.ini (100%) rename 5.6/{ => orig}/php.ini (100%) delete mode 100644 7.0/Dockerfile delete mode 100644 7.0/Makefile delete mode 100644 7.0/actions/actions.mk delete mode 100755 7.0/actions/git-checkout.sh delete mode 100755 7.0/actions/git-clone.sh delete mode 100755 7.0/actions/sshd-generate-keys.sh delete mode 100755 7.0/actions/walter.sh delete mode 100755 7.0/docker-entrypoint.sh delete mode 100644 7.0/templates/authorized_keys.tpl delete mode 100644 7.0/templates/crontab.tpl delete mode 100644 7.0/templates/docker-php-ext-apcu.ini.tpl delete mode 100644 7.0/templates/docker-php-ext-blackfire.ini.tpl delete mode 100644 7.0/templates/docker-php-ext-geoip.ini.tpl delete mode 100644 7.0/templates/docker-php-ext-opcache.ini.tpl delete mode 100644 7.0/templates/docker-php-ext-xdebug.ini.tpl delete mode 100644 7.0/templates/id_rsa.tpl delete mode 100644 7.0/templates/ssh_config.tpl delete mode 100644 7.0/templates/sshd_config.tpl delete mode 100644 7.0/templates/zz-www.conf.tpl delete mode 100755 7.0/test.sh delete mode 100644 7.0/test/docker-compose.yml delete mode 100644 7.0/test/nginx.conf delete mode 100755 7.0/test/tests.sh delete mode 100644 7.1/docker-php-source rename 7.0/php.ini => 7.1/orig/php-7.0.ini (100%) rename 7.1/{php.ini => orig/php-7.1.ini} (100%) create mode 100644 7.1/orig/php-7.2.ini rename 7.1/templates/{docker-php.ini.tpl => docker-php-7.0.ini.tpl} (100%) rename 7.0/templates/docker-php.ini.tpl => 7.1/templates/docker-php-7.1.ini.tpl (94%) create mode 100644 7.1/templates/docker-php-7.2.ini.tpl rename 7.0/test/php_modules => 7.1/test/php_modules/7.0 (100%) rename 7.1/test/{php_modules => php_modules/7.1} (100%) create mode 100644 7.1/test/php_modules/7.2 diff --git a/.travis.yml b/.travis.yml index e148dd38..481516a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,15 +9,17 @@ env: global: - DOCKER_COMPOSE_VERSION=1.14.0 - DOCKER_VERSION=17.06.2 - - LATEST_PHP_VER=7.1 + - LATEST_TAG=7.2 matrix: - - PHP_VER=7.1 PHP_DEBUG=0 - - PHP_VER=7.0 PHP_DEBUG=0 - - PHP_VER=5.6 PHP_DEBUG=0 - - PHP_VER=5.3 PHP_DEBUG=0 - - PHP_VER=7.1 PHP_DEBUG=1 - - PHP_VER=7.0 PHP_DEBUG=1 - - PHP_VER=5.6 PHP_DEBUG=1 + - TAG=7.2 PHP_VER=7.2.0 + - TAG=7.1 PHP_VER=7.1.12 + - TAG=7.0 PHP_VER=7.0.26 + - TAG=5.6 PHP_VER=5.6.32 + - TAG=5.3 PHP_VER=5.3.29 + - TAG=7.2-debug PHP_VER=7.2.0 PHP_DEBUG=1 + - TAG=7.1-debug PHP_VER=7.1.12 PHP_DEBUG=1 + - TAG=7.0-debug PHP_VER=7.0.26 PHP_DEBUG=1 + - TAG=5.6-debug PHP_VER=5.6.32 PHP_DEBUG=1 install: - sudo apt-get update @@ -28,7 +30,7 @@ install: - sudo mv docker-compose /usr/local/bin script: - - cd ./"${PHP_VER}" + - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - travis_retry make && make test after_success: | @@ -41,7 +43,7 @@ after_success: | make release - if [[ "${PHP_VER}" == "${LATEST_PHP_VER}" && "${PHP_DEBUG}" == 0 ]]; then + if [[ "${TAG}" == "${LATEST_TAG}" ]]; then make release TAG="latest" fi fi diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 130a646e..e99ecffa 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -377,7 +377,6 @@ EXPOSE 9000 COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ -COPY php.ini ${PHP_INI_DIR} ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["php-fpm"] diff --git a/5.3/php.ini b/5.3/orig/php.ini similarity index 100% rename from 5.3/php.ini rename to 5.3/orig/php.ini diff --git a/5.3/test/tests.sh b/5.3/test/tests.sh index 5e8c7481..24e1ae20 100755 --- a/5.3/test/tests.sh +++ b/5.3/test/tests.sh @@ -12,7 +12,7 @@ echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. cp ~/php_modules ~/expected_modules -if [[ "${PHP_DEBUG}" == 1 ]]; then +if [[ -n "${PHP_DEBUG}" ]]; then sed -i '/blackfire/d' ~/expected_modules fi diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 30b740b8..ef85fc7c 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -4,7 +4,7 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEBUG -ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ +ENV PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ @@ -110,7 +110,7 @@ RUN set -xe && \ rabbitmq-c-dev \ yaml-dev && \ - if [[ $PHP_DEBUG == 1 ]]; then \ + if [[ -n "${PHP_DEBUG}" ]]; then \ apk add --update --no-cache --virtual .debug-tools gdb; \ fi && \ @@ -247,7 +247,6 @@ EXPOSE 9000 COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ -COPY php.ini ${PHP_INI_DIR} ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["php-fpm"] diff --git a/5.6/Makefile b/5.6/Makefile index 67e67ce2..01f56b9d 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,15 +1,14 @@ -include env_make -PHP_VER ?= 5.6 -TAG ?= $(PHP_VER) +PHP_VER ?= 5.6.32 +# Remove minor version from tag +TAG ?= $(shell echo "${PHP_VER}" | cut -c 1-3) REPO = wodby/php NAME = php-$(PHP_VER) -FROM_TAG = 5.6.32 +FROM_TAG = $(PHP_VER) -PHP_DEBUG ?= 0 - -ifneq ($(PHP_DEBUG), 0) +ifneq ($(PHP_DEBUG),) override TAG := $(TAG)-debug FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 3f5707f4..6a6f2971 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -86,7 +86,7 @@ process_templates() { exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - if [[ "${PHP_DEBUG}" == 0 ]]; then + if [[ -z "${PHP_DEBUG}" ]]; then exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" fi diff --git a/5.6/php.ini b/5.6/orig/php.ini similarity index 100% rename from 5.6/php.ini rename to 5.6/orig/php.ini diff --git a/5.6/test/tests.sh b/5.6/test/tests.sh index 5e8c7481..24e1ae20 100755 --- a/5.6/test/tests.sh +++ b/5.6/test/tests.sh @@ -12,7 +12,7 @@ echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. cp ~/php_modules ~/expected_modules -if [[ "${PHP_DEBUG}" == 1 ]]; then +if [[ -n "${PHP_DEBUG}" ]]; then sed -i '/blackfire/d' ~/expected_modules fi diff --git a/7.0/Dockerfile b/7.0/Dockerfile deleted file mode 100644 index 7eedf9a5..00000000 --- a/7.0/Dockerfile +++ /dev/null @@ -1,266 +0,0 @@ -ARG FROM_TAG - -FROM wodby/base-php:${FROM_TAG} - -ARG PHP_DEBUG - -ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ - SSHD_PERMIT_USER_ENV="yes" \ - PHP_PRESTISSIMO_VER="0.3" \ - WALTER_VER="1.3.0" \ - - EXT_AMQP_VER="1.9.1" \ - EXT_APCU_VER="5.1.8" \ - EXT_AST_VER="0.1.6" \ - EXT_GEOIP_VER="1.1.1" \ - EXT_IMAGICK_VER="3.4.3" \ - EXT_MEMCACHED_VER="3.0.4" \ - EXT_MONGODB_VER="1.3.2" \ - EXT_OAUTH_VER="2.0.2" \ - EXT_REDIS_VER="3.1.4" \ - EXT_XDEBUG_VER="2.5.5" \ - EXT_YAML_VER="2.0.2" \ - - C_CLIENT_VER="2007f-r6" \ - FREETYPE_VER="2.7.1-r1" \ - GEOIP_VER="1.6.10-r0" \ - ICU_LIBS_VER="58.2-r2" \ - IMAGEMAGICK_VER="7.0.5.10-r0" \ - LIBBZ2_VER="1.0.6-r5" \ - LIBJPEG_TURBO_VER="1.5.1-r0" \ - LIBLDAP_VER="2.4.44-r5" \ - LIBLTDL_VER="2.4.6-r1" \ - LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ - LIBMCRYPT_VER="2.5.8-r7" \ - LIBPNG_VER="1.6.29-r1" \ - LIBXSLT_VER="1.1.29-r3" \ - MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.6-r0" \ - RABBITMQ_C_VER="0.8.0-r2" \ - YAML_VER="0.1.7-r0" - -ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz" \ - EXT_UPLOADPROGRESS_URL="https://github.com/wodby/pecl-php-uploadprogress/archive/latest.tar.gz" \ - WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ - BLACKFIRE_URL="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64" \ - - APP_ROOT="/var/www/html" \ - PATH="/home/www-data/.composer/vendor/bin:${PATH}" - -RUN set -xe && \ - - # Recreate user with correct params - deluser www-data && \ - addgroup -g 82 -S www-data && \ - adduser -u 82 -D -S -s /bin/bash -G www-data www-data && \ - sed -i '/^www-data/s/!/*/' /etc/shadow && \ - echo "PS1='\w\$ '" >> /home/www-data/.bashrc && \ - - apk add --update --no-cache --virtual .php-rundeps \ - c-client=${C_CLIENT_VER} \ - fcgi \ - freetype=${FREETYPE_VER} \ - geoip=${GEOIP_VER} \ - git \ - icu-libs=${ICU_LIBS_VER} \ - imagemagick=${IMAGEMAGICK_VER} \ - less \ - libbz2=${LIBBZ2_VER} \ - libjpeg-turbo=${LIBJPEG_TURBO_VER} \ - libjpeg-turbo-utils=${LIBJPEG_TURBO_VER} \ - libldap=${LIBLDAP_VER} \ - libltdl=${LIBLTDL_VER} \ - libmemcached-libs=${LIBMEMCACHED_LIBS_VER} \ - libmcrypt=${LIBMCRYPT_VER} \ - libpng=${LIBPNG_VER} \ - libxslt=${LIBXSLT_VER} \ - make \ - mariadb-client=${MARIADB_CLIENT_VER} \ - nano \ - openssh \ - openssh-client \ - patch \ - postgresql-client=${POSTGRESQL_CLIENT_VER} \ - rabbitmq-c=${RABBITMQ_C_VER} \ - rsync \ - su-exec \ - sudo \ - tig \ - tmux \ - yaml=${YAML_VER} && \ - - apk add --update --no-cache --virtual .build-deps \ - autoconf \ - cmake \ - build-base \ - bzip2-dev \ - freetype-dev \ - geoip-dev \ - icu-dev \ - imagemagick-dev \ - imap-dev \ - jpeg-dev \ - libjpeg-turbo-dev \ - libmemcached-dev \ - libmcrypt-dev \ - libpng-dev \ - libtool \ - libxslt-dev \ - openldap-dev \ - pcre-dev \ - postgresql-dev \ - rabbitmq-c-dev \ - yaml-dev && \ - - if [[ $PHP_DEBUG == 1 ]]; then \ - apk add --update --no-cache --virtual .debug-tools gdb; \ - fi && \ - - docker-php-source extract && \ - - docker-php-ext-install \ - bcmath \ - bz2 \ - calendar \ - exif \ - imap \ - intl \ - ldap \ - mcrypt \ - mysqli \ - opcache \ - pcntl \ - pdo_mysql \ - pdo_pgsql \ - pgsql \ - phar \ - soap \ - sockets \ - xmlrpc \ - xsl \ - zip && \ - - # GD - docker-php-ext-configure gd \ - --with-gd \ - --with-freetype-dir=/usr/include/ \ - --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/ && \ - NPROC=$(getconf _NPROCESSORS_ONLN) && \ - docker-php-ext-install -j${NPROC} gd && \ - - # PECL extensions - pecl config-set php_ini "${PHP_INI_DIR}/php.ini" && \ - - pecl install \ - amqp-${EXT_AMQP_VER} \ - apcu-${EXT_APCU_VER} \ - geoip-${EXT_GEOIP_VER} \ - imagick-${EXT_IMAGICK_VER} \ - memcached-${EXT_MEMCACHED_VER} \ - mongodb-${EXT_MONGODB_VER} \ - oauth-${EXT_OAUTH_VER} \ - redis-${EXT_REDIS_VER} \ - xdebug-${EXT_XDEBUG_VER} \ - yaml-${EXT_YAML_VER} && \ - - docker-php-ext-enable \ - amqp \ - apcu \ - imagick \ - geoip \ - memcached \ - mongodb \ - oauth \ - redis \ - xdebug \ - yaml && \ - - # Blackfire extension - mkdir -p /tmp/blackfire && \ - version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") && \ - wget -qO- "${BLACKFIRE_URL}/${version}" | tar xz --no-same-owner -C /tmp/blackfire && \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - - # Uploadprogress - mkdir -p /usr/src/php/ext/uploadprogress && \ - wget -qO- ${EXT_UPLOADPROGRESS_URL} | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress && \ - docker-php-ext-configure uploadprogress && \ - docker-php-ext-install uploadprogress && \ - - # AST - mkdir -p /usr/src/php/ext/ast && \ - wget -qO- ${EXT_AST_URL} | tar xz --strip-components=1 -C /usr/src/php/ext/ast && \ - docker-php-ext-configure ast && \ - docker-php-ext-install ast && \ - - # Install composer - wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - - # Plugin for parallel install - su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ - - # Install Walter - wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ - mv /tmp/walter_linux_amd64/walter /usr/local/bin && \ - - # Add composer bins to $PATH - su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile && \ - - # Configure sudoers - { \ - echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ - echo -n '/usr/sbin/sshd, ' ; \ - echo '/usr/sbin/crond' ; \ - } | tee /etc/sudoers.d/www-data && \ - - # Configure ldap - echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf && \ - - # We run php-fpm as non root - sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf* && \ - - # Create required directories and fix permissions - mkdir -p ${APP_ROOT} && \ - su-exec www-data mkdir /home/www-data/.ssh && \ - - touch /etc/ssh/sshd_config && \ - chown www-data: /etc/ssh/sshd_config && \ - - rm /etc/crontabs/root && \ - touch /etc/crontabs/www-data && \ - chown root:www-data /etc/crontabs/www-data && \ - chmod 660 /etc/crontabs/www-data && \ - - chown -R www-data:www-data /var/www "${PHP_INI_DIR}/conf.d" /usr/local/etc/php-fpm.d/ /home/www-data/.profile && \ - - # Cleanup - su-exec www-data composer clear-cache && \ - docker-php-source delete && \ - apk del .build-deps && \ - pecl clear-cache && \ - - rm -rf \ - /usr/src/php.tar.xz \ - /usr/src/php/ext/ast \ - /usr/src/php/ext/uploadprogress \ - /usr/include/php \ - /usr/lib/php/build \ - /tmp/* \ - /root/.composer \ - /var/cache/apk/* - -USER www-data - -WORKDIR ${APP_ROOT} -EXPOSE 9000 - -COPY templates /etc/gotpl/ -COPY docker-entrypoint.sh / -COPY actions /usr/local/bin/ -COPY php.ini ${PHP_INI_DIR} - -ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["php-fpm"] diff --git a/7.0/Makefile b/7.0/Makefile deleted file mode 100644 index 8ee4e8b5..00000000 --- a/7.0/Makefile +++ /dev/null @@ -1,55 +0,0 @@ --include env_make - -PHP_VER ?= 7.0 -TAG ?= $(PHP_VER) - -REPO = wodby/php -NAME = php-$(PHP_VER) -FROM_TAG = 7.0.26 - -PHP_DEBUG ?= 0 - -ifneq ($(PHP_DEBUG), 0) - override TAG := $(TAG)-debug - FROM_TAG := $(FROM_TAG)-debug - NAME := $(NAME)-debug -endif - -ifneq ($(STABILITY_TAG),) -ifneq ($(TAG),latest) - override TAG := $(TAG)-$(STABILITY_TAG) -endif -endif - -.PHONY: build test push shell run start stop logs clean release - -default: build - -build: - docker build -t $(REPO):$(TAG) --build-arg FROM_TAG=$(FROM_TAG) --build-arg PHP_DEBUG=$(PHP_DEBUG) ./ - -test: - IMAGE=$(REPO):$(TAG) ./test.sh - -push: - docker push $(REPO):$(TAG) - -shell: - docker run --rm --name $(NAME) -i -t $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) /bin/bash - -run: - docker run --rm --name $(NAME) $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) $(CMD) - -start: - docker run -d --name $(NAME) $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) - -stop: - docker stop $(NAME) - -logs: - docker logs $(NAME) - -clean: - -docker rm -f $(NAME) - -release: build push diff --git a/7.0/actions/actions.mk b/7.0/actions/actions.mk deleted file mode 100644 index 73a9c9f6..00000000 --- a/7.0/actions/actions.mk +++ /dev/null @@ -1,37 +0,0 @@ -.PHONY: git-clone git-checkout walter check-ready check-live - -check_defined = \ - $(strip $(foreach 1,$1, \ - $(call __check_defined,$1,$(strip $(value 2))))) -__check_defined = \ - $(if $(value $1),, \ - $(error Required parameter is missing: $1$(if $2, ($2)))) - -host ?= localhost -max_try ?= 1 -wait_seconds ?= 1 -delay_seconds ?= 0 -is_hash ?= 0 -branch = "" -# Some symbols in env vars break cgi-fcgi -command ?= env -i SCRIPT_NAME="/ping" SCRIPT_FILENAME="/ping" REQUEST_METHOD=GET cgi-fcgi -bind -connect "${host}":9001 | grep -q "pong" -service = PHP-FPM - -default: check-ready - -git-clone: - $(call check_defined, url) - git-clone.sh $(url) $(branch) - -git-checkout: - $(call check_defined, target) - git-checkout.sh $(target) $(is_hash) - -walter: - walter.sh - -check-ready: - wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) - -check-live: - @echo "OK" diff --git a/7.0/actions/git-checkout.sh b/7.0/actions/git-checkout.sh deleted file mode 100755 index a3f6865e..00000000 --- a/7.0/actions/git-checkout.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -target=$1 -is_hash=$2 - -cd "${APP_ROOT}" -git stash -git fetch --all -git checkout "${target}" - -if [[ "${is_hash}" -eq '0' ]]; then - git pull origin "${target}" -fi diff --git a/7.0/actions/git-clone.sh b/7.0/actions/git-clone.sh deleted file mode 100755 index 63cbf83d..00000000 --- a/7.0/actions/git-clone.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -url=$1 -branch=$2 - -if [[ -n "${branch}" ]]; then - git clone -b "${branch}" "${url}" "${APP_ROOT}" -else - git clone "${url}" "${APP_ROOT}" -fi diff --git a/7.0/actions/sshd-generate-keys.sh b/7.0/actions/sshd-generate-keys.sh deleted file mode 100755 index 1e19a954..00000000 --- a/7.0/actions/sshd-generate-keys.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -dir="${1:-/etc/ssh}" - -mkdir -p "${dir}" -if [[ ! -f "${dir}/ssh_host_rsa_key" ]]; then - ssh-keygen -qb 2048 -t rsa -N "" -f "${dir}/ssh_host_rsa_key" -fi -chmod 0600 "${dir}/ssh_host_rsa_key" -chmod 0644 "${dir}/ssh_host_rsa_key.pub" diff --git a/7.0/actions/walter.sh b/7.0/actions/walter.sh deleted file mode 100755 index e928d759..00000000 --- a/7.0/actions/walter.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -if [[ -f "${APP_ROOT}/wodby.yml" ]]; then - walter -c "${APP_ROOT}/wodby.yml" -fi \ No newline at end of file diff --git a/7.0/docker-entrypoint.sh b/7.0/docker-entrypoint.sh deleted file mode 100755 index 3f5707f4..00000000 --- a/7.0/docker-entrypoint.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -SSH_DIR=/home/www-data/.ssh - -_backwards_compatibility() { - declare -A vars - vars[PHP_APCU_ENABLE]="PHP_APCU_ENABLED" - vars[PHP_FPM_SLOWLOG_TIMEOUT]="PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" - vars[PHP_FPM_MAX_CHILDREN]="PHP_FPM_PM_MAX_CHILDREN" - vars[PHP_FPM_START_SERVERS]="PHP_FPM_PM_START_SERVERS" - vars[PHP_FPM_MIN_SPARE_SERVERS]="PHP_FPM_PM_MIN_SPARE_SERVERS" - vars[PHP_FPM_MAX_SPARE_SERVERS]="PHP_FPM_PM_MAX_SPARE_SERVERS" - vars[PHP_FPM_MAX_REQUESTS]="PHP_FPM_PM_MAX_REQUESTS" - vars[PHP_FPM_STATUS_PATH]="PHP_FPM_PM_STATUS_PATH" - - for i in "${!vars[@]}"; do - export "$i"="${!vars[$i]}" - done -} - -exec_tpl() { - if [[ -f "/etc/gotpl/$1" ]]; then - gotpl "/etc/gotpl/$1" > "$2" - fi -} - -validate_dirs() { - if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then - mkdir -p "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - fi - - if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then - mkdir -p "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - fi -} - -init_ssh_client() { - exec_tpl "ssh_config.tpl" "${SSH_DIR}/config" - - if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - exec_tpl "id_rsa.tpl" "${SSH_DIR}/id_rsa" - chmod -f 600 "${SSH_DIR}/id_rsa" - unset SSH_PRIVATE_KEY - fi -} - -init_sshd() { - exec_tpl "sshd_config.tpl" "/etc/ssh/sshd_config" - - if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - exec_tpl "authorized_keys.tpl" "${SSH_DIR}/authorized_keys" - unset SSH_PUBLIC_KEYS - fi - - printenv | xargs -I{} echo {} | awk ' \ - BEGIN { FS = "=" }; { \ - if ($1 != "HOME" \ - && $1 != "PWD" \ - && $1 != "PATH" \ - && $1 != "SHLVL") { \ - \ - print ""$1"="$2"" \ - } \ - }' > "${SSH_DIR}/environment" - - sudo sshd-generate-keys.sh "${SSHD_HOST_KEYS_DIR}" -} - -init_crond() { - exec_tpl "crontab.tpl" "/etc/crontabs/www-data" -} - -process_templates() { - _backwards_compatibility - - exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - - if [[ "${PHP_DEBUG}" == 0 ]]; then - exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - fi - - sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" -} - -init_git() { - git config --global user.email "${GIT_USER_EMAIL:-www-data@example.com}" - git config --global user.name "${GIT_USER_NAME:-www-data}" -} - -sudo fix-permissions.sh www-data www-data "${APP_ROOT}" -validate_dirs -init_ssh_client -init_git -process_templates - -if [[ "${@:1:2}" == "sudo /usr/sbin/sshd" ]]; then - init_sshd -elif [[ "${@:1:3}" == "sudo -E crond" ]]; then - init_crond -fi - -exec-init-scripts.sh - -if [[ $1 == "make" ]]; then - exec "${@}" -f /usr/local/bin/actions.mk -else - exec /usr/local/bin/docker-php-entrypoint "${@}" -fi diff --git a/7.0/templates/authorized_keys.tpl b/7.0/templates/authorized_keys.tpl deleted file mode 100644 index cd58124a..00000000 --- a/7.0/templates/authorized_keys.tpl +++ /dev/null @@ -1,2 +0,0 @@ -{{ range jsonArray (getenv "SSH_PUBLIC_KEYS") }}{{ . }} -{{ end }} \ No newline at end of file diff --git a/7.0/templates/crontab.tpl b/7.0/templates/crontab.tpl deleted file mode 100644 index 537bc190..00000000 --- a/7.0/templates/crontab.tpl +++ /dev/null @@ -1 +0,0 @@ -{{ getenv "CRONTAB" }} \ No newline at end of file diff --git a/7.0/templates/docker-php-ext-apcu.ini.tpl b/7.0/templates/docker-php-ext-apcu.ini.tpl deleted file mode 100644 index 4f9eeb0f..00000000 --- a/7.0/templates/docker-php-ext-apcu.ini.tpl +++ /dev/null @@ -1,13 +0,0 @@ -[apcu] -extension=apcu.so -apc.enabled = {{ getenv "PHP_APCU_ENABLED" "1" }} -apc.shm_segments = {{ getenv "PHP_APCU_SHM_SEGMENTS" "1" }} -apc.shm_size = {{ getenv "PHP_APCU_SHM_SIZE" "32M" }} -apc.entries_hint = {{ getenv "PHP_APCU_ENTRIES_HINT" "4096" }} -apc.ttl = {{ getenv "PHP_APCU_TTL" "0" }} -apc.gc_ttl = {{ getenv "PHP_APCU_GC_TTL" "3600" }} -apc.slam_defense = {{ getenv "PHP_APCU_SLAM_DEFENSE" "1" }} -apc.enable_cli = {{ getenv "PHP_APCU_ENABLE_CLI" "0" }} -apc.use_request_time = {{ getenv "PHP_APCU_USE_REQUEST_TIME" "1" }} -apc.coredump_unmap = {{ getenv "PHP_APCU_COREDUMP_UNMAP" "0" }} -apc.preload_path = {{ getenv "PHP_APCU_PRELOAD_PATH" "NULL" }} diff --git a/7.0/templates/docker-php-ext-blackfire.ini.tpl b/7.0/templates/docker-php-ext-blackfire.ini.tpl deleted file mode 100644 index e8387eaa..00000000 --- a/7.0/templates/docker-php-ext-blackfire.ini.tpl +++ /dev/null @@ -1,4 +0,0 @@ -{{ if getenv "PHP_BLACKFIRE" }} -extension=blackfire.so -blackfire.agent_socket=tcp://{{ getenv "PHP_BLACKFIRE_AGENT_HOST" "blackfire" }}:{{ getenv "PHP_BLACKFIRE_AGENT_PORT" "8707" }} -{{ end }} \ No newline at end of file diff --git a/7.0/templates/docker-php-ext-geoip.ini.tpl b/7.0/templates/docker-php-ext-geoip.ini.tpl deleted file mode 100644 index fdebfe33..00000000 --- a/7.0/templates/docker-php-ext-geoip.ini.tpl +++ /dev/null @@ -1,3 +0,0 @@ -[geoip] -extension=geoip.so -geoip.custom_directory = {{ getenv "PHP_GEOIP_CUSTOM_DIR" "" }} \ No newline at end of file diff --git a/7.0/templates/docker-php-ext-opcache.ini.tpl b/7.0/templates/docker-php-ext-opcache.ini.tpl deleted file mode 100644 index 518b7d02..00000000 --- a/7.0/templates/docker-php-ext-opcache.ini.tpl +++ /dev/null @@ -1,10 +0,0 @@ -[opcache] -zend_extension = opcache.so -opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} -opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} -opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} -opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} -opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} -opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} -opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "1" }} \ No newline at end of file diff --git a/7.0/templates/docker-php-ext-xdebug.ini.tpl b/7.0/templates/docker-php-ext-xdebug.ini.tpl deleted file mode 100644 index 9e5e67b9..00000000 --- a/7.0/templates/docker-php-ext-xdebug.ini.tpl +++ /dev/null @@ -1,80 +0,0 @@ -{{ if getenv "PHP_XDEBUG" }} -[xdebug] -zend_extension = xdebug.so -xdebug.auto_trace = {{ getenv "PHP_XDEBUG_AUTO_TRACE" "0" }} -xdebug.cli_color = {{ getenv "PHP_XDEBUG_CLI_COLOR" "0" }} -xdebug.collect_assignments = {{ getenv "PHP_XDEBUG_COLLECT_ASSIGNMENTS" "0" }} -xdebug.collect_includes = {{ getenv "PHP_XDEBUG_COLLECT_INCLUDES" "1" }} -xdebug.collect_params = {{ getenv "PHP_XDEBUG_COLLECT_PARAMS" "0" }} -xdebug.collect_return = {{ getenv "PHP_XDEBUG_COLLECT_RETURN" "0" }} -xdebug.collect_vars = {{ getenv "PHP_XDEBUG_COLLECT_VARS" "0" }} -xdebug.coverage_enable = {{ getenv "PHP_XDEBUG_COVERAGE_ENABLE" "1" }} -xdebug.default_enable = {{ getenv "PHP_XDEBUG_DEFAULT_ENABLE" "0" }} -xdebug.dump_globals = {{ getenv "PHP_XDEBUG_DUMP_GLOBALS" "1" }} -xdebug.dump_once = {{ getenv "PHP_XDEBUG_DUMP_ONCE" "1" }} -xdebug.dump_undefined = {{ getenv "PHP_XDEBUG_DUMP_UNDEFINED" "0" }} -xdebug.extended_info = {{ getenv "PHP_XDEBUG_EXTENDED_INFO" "1" }} -xdebug.file_link_format = "{{ getenv "PHP_XDEBUG_FILE_LINK_FORMAT" "" }}" -xdebug.force_display_errors = {{ getenv "PHP_XDEBUG_FORCE_DISPLAY_ERRORS" "0" }} -xdebug.force_error_reporting = {{ getenv "PHP_XDEBUG_FORCE_ERROR_REPORTING" "0" }} -xdebug.halt_level = {{ getenv "PHP_XDEBUG_HALT_LEVEL" "0" }} -xdebug.manual_url = {{ getenv "PHP_XDEBUG_MANUAL_URL" "http://www.php.net" }} -xdebug.max_nesting_level = {{ getenv "PHP_XDEBUG_MAX_NESTING_LEVEL" "256" }} -xdebug.max_stack_frames = {{ getenv "PHP_XDEBUG_MAX_STACK_FRAMES" "-1" }} -xdebug.overload_var_dump = {{ getenv "PHP_XDEBUG_OVERLOAD_VAR_DUMP" "2" }} -xdebug.profiler_aggregate = {{ getenv "PHP_XDEBUG_PROFILER_AGGREGATE" "0" }} -xdebug.profiler_append = {{ getenv "PHP_XDEBUG_PROFILER_APPEND" "0" }} -xdebug.profiler_enable = {{ getenv "PHP_XDEBUG_PROFILER_ENABLE" "0" }} -xdebug.profiler_enable_trigger = {{ getenv "PHP_XDEBUG_PROFILER_ENABLE_TRIGGER" "0" }} -xdebug.profiler_enable_trigger_value = "{{ getenv "PHP_XDEBUG_PROFILER_ENABLE_TRIGGER_VALUE" "" }}" -xdebug.profiler_output_dir = {{ getenv "PHP_XDEBUG_PROFILER_OUTPUT_DIR" "/tmp" }} -xdebug.profiler_output_name = {{ getenv "PHP_XDEBUG_PROFILER_OUTPUT_NAME" "cachegrind.out.%p" }} -xdebug.remote_addr_header = "{{ getenv "PHP_XDEBUG_REMOTE_ADDR_HEADER" "" }}" -xdebug.remote_autostart = {{ getenv "PHP_XDEBUG_REMOTE_AUTOSTART" "1" }} -xdebug.remote_connect_back = {{ getenv "PHP_XDEBUG_REMOTE_CONNECT_BACK" "1" }} -xdebug.remote_cookie_expire_time = {{ getenv "PHP_XDEBUG_REMOTE_COOKIE_EXPIRE_TIME" "3600" }} -xdebug.remote_enable = {{ getenv "PHP_XDEBUG_REMOTE_ENABLE" "1" }} -xdebug.remote_handler = {{ getenv "PHP_XDEBUG_REMOTE_HANDLER" "dbgp" }} -xdebug.remote_host = {{ getenv "PHP_XDEBUG_REMOTE_HOST" "localhost" }} -xdebug.remote_log = "{{ getenv "PHP_XDEBUG_REMOTE_LOG" "" }}" -xdebug.remote_mode = {{ getenv "PHP_XDEBUG_REMOTE_MODE" "req" }} -xdebug.remote_port = {{ getenv "PHP_XDEBUG_REMOTE_PORT" "9000" }} -xdebug.scream = {{ getenv "PHP_XDEBUG_SCREAM" "0" }} -xdebug.show_error_trace = {{ getenv "PHP_XDEBUG_SHOW_ERROR_TRACE" "0" }} -xdebug.show_exception_trace = {{ getenv "PHP_XDEBUG_SHOW_EXCEPTION_TRACE" "0" }} -xdebug.show_local_vars = {{ getenv "PHP_XDEBUG_SHOW_LOCAL_VARS" "0" }} -xdebug.show_mem_delta = {{ getenv "PHP_XDEBUG_SHOW_MEM_DELTA" "0" }} -xdebug.trace_enable_trigger = {{ getenv "PHP_XDEBUG_TRACE_ENABLE_TRIGGER" "0" }} -xdebug.trace_enable_trigger_value = "{{ getenv "PHP_XDEBUG_TRACE_ENABLE_TRIGGER_VALUE" "" }}" -xdebug.trace_format = {{ getenv "PHP_XDEBUG_TRACE_FORMAT" "0" }} -xdebug.trace_options = {{ getenv "PHP_XDEBUG_TRACE_OPTIONS" "0" }} -xdebug.trace_output_dir = {{ getenv "PHP_XDEBUG_TRACE_OUTPUT_DIR" "/tmp" }} -xdebug.trace_output_name = {{ getenv "PHP_XDEBUG_TRACE_OUTPUT_NAME" "trace.%c" }} -xdebug.var_display_max_children = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_CHILDREN" "128" }} -xdebug.var_display_max_data = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_DATA" "512" }} -xdebug.var_display_max_depth = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_DEPTH" "3" }} -{{ if getenv "PHP_XDEBUG_DUMP_COOKIE" }} -xdebug.dump.COOKIE = {{ getenv "PHP_XDEBUG_DUMP_COOKIE" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_FILES" }} -xdebug.dump.FILES = {{ getenv "PHP_XDEBUG_DUMP_FILES" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_GET" }} -xdebug.dump.GET = {{ getenv "PHP_XDEBUG_DUMP_GET" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_POST" }} -xdebug.dump.POST = {{ getenv "PHP_XDEBUG_DUMP_POST" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_REQUEST" }} -xdebug.dump.REQUEST = {{ getenv "PHP_XDEBUG_DUMP_REQUEST" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_SERVER" }} -xdebug.dump.SERVER = {{ getenv "PHP_XDEBUG_DUMP_SERVER" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_SESSION" }} -xdebug.dump.SESSION = {{ getenv "PHP_XDEBUG_DUMP_SESSION" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_IDEKEY" }} -xdebug.idekey = {{ getenv "PHP_XDEBUG_IDEKEY" }} -{{ end }} -{{ end }} \ No newline at end of file diff --git a/7.0/templates/id_rsa.tpl b/7.0/templates/id_rsa.tpl deleted file mode 100644 index 3fee5f15..00000000 --- a/7.0/templates/id_rsa.tpl +++ /dev/null @@ -1 +0,0 @@ -{{ getenv "SSH_PRIVATE_KEY" }} \ No newline at end of file diff --git a/7.0/templates/ssh_config.tpl b/7.0/templates/ssh_config.tpl deleted file mode 100644 index 69bc5a2b..00000000 --- a/7.0/templates/ssh_config.tpl +++ /dev/null @@ -1,55 +0,0 @@ -# $OpenBSD: ssh_config,v 1.30 2016/02/20 23:06:23 sobrado Exp $ - -# This is the ssh client system-wide configuration file. See -# ssh_config(5) for more information. This file provides defaults for -# users, and the values can be changed in per-user configuration files -# or on the command line. - -# Configuration data is parsed as follows: -# 1. command line options -# 2. user-specific file -# 3. system-wide file -# Any configuration value is only changed the first time it is set. -# Thus, host-specific definitions should be at the beginning of the -# configuration file, and defaults at the end. - -# Site-wide defaults for some commonly used options. For a comprehensive -# list of available options, their meanings and defaults, please see the -# ssh_config(5) man page. - -# Host * -# ForwardAgent no -# ForwardX11 no -# RhostsRSAAuthentication no -# RSAAuthentication yes -# PasswordAuthentication yes -# HostbasedAuthentication no -# GSSAPIAuthentication no -# GSSAPIDelegateCredentials no -# BatchMode no -# CheckHostIP yes -# AddressFamily any -# ConnectTimeout 0 -# StrictHostKeyChecking ask -# IdentityFile ~/.ssh/identity -# IdentityFile ~/.ssh/id_rsa -# IdentityFile ~/.ssh/id_dsa -# IdentityFile ~/.ssh/id_ecdsa -# IdentityFile ~/.ssh/id_ed25519 -# Port 22 -# Protocol 2 -# Cipher 3des -# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc -# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160 -# EscapeChar ~ -# Tunnel no -# TunnelDevice any:any -# PermitLocalCommand no -# VisualHostKey no -# ProxyCommand ssh -q -W %h:%p gateway.example.com -# RekeyLimit 1G 1h - -{{ if getenv "SSH_DISABLE_STRICT_KEY_CHECKING" }} -Host * - StrictHostKeyChecking no -{{ end }} \ No newline at end of file diff --git a/7.0/templates/sshd_config.tpl b/7.0/templates/sshd_config.tpl deleted file mode 100644 index ed4b4a99..00000000 --- a/7.0/templates/sshd_config.tpl +++ /dev/null @@ -1,121 +0,0 @@ -# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $ - -# This is the sshd server system-wide configuration file. See -# sshd_config(5) for more information. - -# This sshd was compiled with PATH=/bin:/usr/bin:/sbin:/usr/sbin - -# The strategy used for options in the default sshd_config shipped with -# OpenSSH is to specify options with their default value where -# possible, but leave them commented. Uncommented options override the -# default value. - -#Port 22 -#AddressFamily any -#ListenAddress 0.0.0.0 -#ListenAddress :: - -{{ $keys_dir := (getenv "SSHD_HOST_KEYS_DIR" "/etc/ssh") }} -HostKey {{ $keys_dir }}/ssh_host_rsa_key -HostKey {{ $keys_dir }}/ssh_host_dsa_key -HostKey {{ $keys_dir }}/ssh_host_ecdsa_key -HostKey {{ $keys_dir }}/ssh_host_ed25519_key - -# Ciphers and keying -#RekeyLimit default none - -# Logging -#SyslogFacility AUTH -LogLevel {{ getenv "SSHD_LOG_LEVEL" "INFO" }} - -# Authentication: - -#LoginGraceTime 2m -#PermitRootLogin prohibit-password -#StrictModes yes -#MaxAuthTries 6 -#MaxSessions 10 - -PubkeyAuthentication yes - -# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 -# but this is overridden so installations will only check .ssh/authorized_keys -AuthorizedKeysFile .ssh/authorized_keys - -#AuthorizedPrincipalsFile none - -#AuthorizedKeysCommand none -#AuthorizedKeysCommandUser nobody - -# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts -#HostbasedAuthentication no -# Change to yes if you don't trust ~/.ssh/known_hosts for -# HostbasedAuthentication -#IgnoreUserKnownHosts no -# Don't read the user's ~/.rhosts and ~/.shosts files -#IgnoreRhosts yes - -# To disable tunneled clear text passwords, change to no here! -PasswordAuthentication {{ getenv "SSHD_PASSWORD_AUTHENTICATION" "no" }} -#PermitEmptyPasswords no - -# Change to no to disable s/key passwords -#ChallengeResponseAuthentication yes - -# Kerberos options -#KerberosAuthentication no -#KerberosOrLocalPasswd yes -#KerberosTicketCleanup yes -#KerberosGetAFSToken no - -# GSSAPI options -#GSSAPIAuthentication no -#GSSAPICleanupCredentials yes - -# UsePAM NOT SUPPORTED - -#AllowAgentForwarding yes -#AllowTcpForwarding yes -GatewayPorts {{ getenv "SSHD_GATEWAY_PORTS" "no" }} -#X11Forwarding no -#X11DisplayOffset 10 -#X11UseLocalhost yes -#PermitTTY yes -#PrintMotd yes -#PrintLastLog yes -#TCPKeepAlive yes -#UseLogin no -PermitUserEnvironment {{ getenv "SSHD_PERMIT_USER_ENV" "no" }} -#Compression delayed -#ClientAliveInterval 0 -#ClientAliveCountMax 3 -UseDNS {{ getenv "SSHD_USE_DNS" "yes" }} -#PidFile /run/sshd.pid -#MaxStartups 10:30:100 -#PermitTunnel no -#ChrootDirectory none -#VersionAddendum none - -# no default banner path -#Banner none - -# override default of no subsystems -Subsystem sftp /usr/lib/ssh/sftp-server - -# the following are HPN related configuration options -# tcp receive buffer polling. disable in non autotuning kernels -#TcpRcvBufPoll yes - -# disable hpn performance boosts -#HPNDisabled no - -# buffer size for hpn to non-hpn connections -#HPNBufferSize 2048 - - -# Example of overriding settings on a per-user basis -#Match User anoncvs -# X11Forwarding no -# AllowTcpForwarding no -# PermitTTY no -# ForceCommand cvs server diff --git a/7.0/templates/zz-www.conf.tpl b/7.0/templates/zz-www.conf.tpl deleted file mode 100644 index a35888b8..00000000 --- a/7.0/templates/zz-www.conf.tpl +++ /dev/null @@ -1,47 +0,0 @@ -[global] -log_level = {{ getenv "PHP_FPM_LOG_LEVEL" "notice" }} - -[www] -clear_env = {{ getenv "PHP_FPM_CLEAR_ENV" "yes" }} -pm = {{ getenv "PHP_FPM_PM" "dynamic" }} -pm.max_children = {{ getenv "PHP_FPM_PM_MAX_CHILDREN" "8" }} -pm.start_servers = {{ getenv "PHP_FPM_PM_START_SERVERS" "2" }} -pm.min_spare_servers = {{ getenv "PHP_FPM_PM_MIN_SPARE_SERVERS" "1" }} -pm.max_spare_servers = {{ getenv "PHP_FPM_PM_MAX_SPARE_SERVERS" "3" }} -pm.max_requests = {{ getenv "PHP_FPM_PM_MAX_REQUESTS" "500" }} -{{ if getenv "PHP_FPM_PM_STATUS_PATH" }} -pm.status_path = {{ getenv "PHP_FPM_PM_STATUS_PATH" }} -{{ end }} -{{ if getenv "PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" }} -slowlog = /proc/self/fd/2 -request_slowlog_timeout = {{ getenv "PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" }} -{{ end }} - -php_value[display_errors] = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} -php_value[display_startup_errors] = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} -php_value[expose_php] = {{ getenv "PHP_EXPOSE" "Off" }} -php_value[max_execution_time] = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} -php_value[max_input_time] = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} -php_value[max_input_vars] = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} -php_value[memory_limit] = {{ getenv "PHP_MEMORY_LIMIT" "512M" }} -php_value[post_max_size] = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} -php_value[upload_max_filesize] = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} -php_value[max_file_uploads] = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} -php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} -php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} - -{{ if (getenv "PHP_FPM_USER") }}user = {{ getenv "PHP_FPM_USER" }}{{ end }} -{{ if (getenv "PHP_FPM_GROUP") }}group = {{ getenv "PHP_FPM_GROUP" }}{{ end }} - -{{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} -env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} - -; Pool for health-check pings to avoid spam in access log. -[ping] -pm = static -pm.max_children = 1 -listen = [::]:9001 -ping.path = "/ping" - -{{ if (getenv "PHP_FPM_USER") }}user = {{ getenv "PHP_FPM_USER" }}{{ end }} -{{ if (getenv "PHP_FPM_GROUP") }}group = {{ getenv "PHP_FPM_GROUP" }}{{ end }} diff --git a/7.0/test.sh b/7.0/test.sh deleted file mode 100755 index d3fdae29..00000000 --- a/7.0/test.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -git_url=git@bitbucket.org:wodby/php-git-test.git - -wait_for_cron() { - executed=0 - - for i in $(seq 1 13); do - if docker_exec crond cat /home/www-data/cron | grep -q "test"; then - executed=1 - break - fi - echo 'Waiting for cron execution...' - sleep 5 - done - - if [[ "${executed}" -eq '0' ]]; then - echo >&2 'Cron failed.' - exit 1 - fi - - echo 'Cron has been executed!' -} - -docker_exec() { - docker-compose -f test/docker-compose.yml exec "${@}" -} - -run_action() { - docker_exec "${1}" make "${@:2}" -f /usr/local/bin/actions.mk -} - -docker-compose -f test/docker-compose.yml up -d - -run_action php check-ready max_try=10 - -# PHP tools -docker_exec php tests.sh - -# SSH -echo -n "Testing ssh... " -docker_exec php touch /home/www-data/.ssh/known_hosts -docker_exec php ssh www-data@sshd cat /home/www-data/.ssh/authorized_keys | grep -q admin@wodby.com -echo "OK" - -# Git actions -echo -n "Running git actions... " -docker_exec php bash -c 'echo -e "Host bitbucket.org\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config' -run_action php git-clone url="${git_url}" branch=master -run_action php git-checkout target=develop -echo "OK" - -# PHP-FPM -echo -n "Checking PHP-FPM... " -docker_exec php curl nginx | grep -q "Hello World!" -echo "OK" - -# Walter CD -echo -n "Running walter scripts... " -run_action php walter -docker_exec php cat ./walter-shell-stage -docker_exec php cat ./walter-command-stage -echo "OK" - -# Crond -wait_for_cron - -docker-compose -f test/docker-compose.yml down diff --git a/7.0/test/docker-compose.yml b/7.0/test/docker-compose.yml deleted file mode 100644 index d3299ea6..00000000 --- a/7.0/test/docker-compose.yml +++ /dev/null @@ -1,91 +0,0 @@ -version: "2" - -services: - nginx: - image: wodby/php-nginx - volumes: - - ./nginx.conf:/etc/gotpl/default-vhost.conf.tpl - depends_on: - - php - - sshd: - image: $IMAGE - command: sudo /usr/sbin/sshd -De - environment: - SSH_PUBLIC_KEYS: |- - ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4mQ9wfvufRcDQ4LsoCYEyDL4LNsvP8dWKWMQKrnJ8k09IQm7mnvyzid8zxNJpQYxX12foC0+BttjejWVj67vf1if7rDHb\/e0oX7yQp4ji3QTjDNPDaOR\/eTOCNv1C5Lfj3n7D1G7O2dOiw8lAoSalGy6nltuTYY9EXbkl1dXaCG7qbQRVJEJdZ6x2oJ8FubJO6wjZvj9P759ziLVmWAqtzUgIQVlbv0nqSoq16Ug381sfnRvsHO1fXGhdgHGQ0WP720p5cBHxG+62HJROah5b7gahXidC2Lo6kdnLb5FOzZjRJO1aDiKgry\/GoNNijs6D5xwLtn44HoHMe0eyUw7lQCrWZwvNmdfvIecr+ZJNwT8cbZ2Cf5y0SqD4JZpcolR5FKuQluaVMdOvJCa8A\/BzvRqIeNLmZuHFRvruu2VTIHHZFR2CFgH9F+G\/KyBnmQwV\/FgqN6sy1MAuFmyizL7sJHVL3tSaMPSs423A+SLWYkXLxpUPjo2J5W2ImZYq97AQaHcArvrhKS2MwbBFGwaxglcq5t8Ss6Df3fEZUWGLHJSdOv\/fn\/+CNOiI7hjj3v5mHaxxnC27MOHmJlrqmCA3OXuQ9mZG\/hSfj2vPKF+xFUarqqsp4zVsDH71bY2Q+zHpyncIFnyhaiEba9gbvmUVOfUyYglkJ6TGF5xAhpDFpQ== admin@wodby.com"] - - php: - image: $IMAGE - environment: - SSH_DISABLE_STRICT_KEY_CHECKING: 1 - PHP_XDEBUG: 1 - PHP_BLACKFIRE: 1 - SSH_PRIVATE_KEY: |- - -----BEGIN RSA PRIVATE KEY----- - MIIJKQIBAAKCAgEAuJkPcH77n0XA0OC7KAmBMgy+CzbLz/HViljECq5yfJNPSEJu - 5p78s4nfM8TSaUGMV9dn6AtPgbbY3o1lY+u739Yn+6wx2/3tKF+8kKeI4t0E4wzT - w2jkf3kzgjb9QuS3495+w9RuztnTosPJQKEmpRsup5bbk2GPRF25JdXV2ghu6m0E - VSRCXWesdqCfBbmyTusI2b4/T++fc4i1ZlgKrc1ICEFZW79J6kqKtelIN/NbH50b - 7BztX1xoXYBxkNFj+9tKeXAR8RvuthyUTmoeW+4GoV4nQti6OpHZy2+RTs2Y0STt - Wg4ioK8vxqDTYo7Og+ccC7Z+OB6BzHtHslMO5UAq1mcLzZnX7yHnK/mSTcE/HG2d - gn+ctEqg+CWaXKJUeRSrkJbmlTHTryQmvAPwc70aiHjS5mbhxUb67rtlUyBx2RUd - ghYB/RfhvysgZ5kMFfxYKjerMtTALhZsosy+7CR1S97UmjD0rONtwPki1mJFy8aV - D46NieVtiJmWKvewEGh3AK764SktjMGwRRsGsYJXKubfErOg393xGVFhixyUnTr/ - 35//gjToiO4Y497+Zh2scZwtuzDh5iZa6pggNzl7kPZmRv4Un49rzyhfsRVGq6qr - KeM1bAx+9W2NkPsx6cp3CBZ8oWohG2vYG75lFTn1MmIJZCekxhecQIaQxaUCAwEA - AQKCAgBe5+J2NfLr2hLd0Qyn8usHbmGupkd266Cb9jMkQrf9sEbMocseqpLFQ5cL - qJ99GgQrjUWQmXARAo7RLOT50FLRK+t2ivs/XXe2kDIENP49lOBUU130U1NW7ls7 - EUZ4Q9r/Pn7x85/cnUUfo4Uuwyt5K1Z7NyZAyaG8xmrQNvYxmLBduhrGI1QzbX/P - pZjcerJfvJraR+OJF2tlHN4WdiFXZfkotWBZuSkpWZWjHQLSMT2iLUYTyHOJ2ZqW - p9i7WcwLypypfqLa0T+TRXJCNnDRVrj18dBBn+dvAVl2LDAK0c1FibS13hqTfj4T - 4s+LFly6l/FlXDfcZmLZXHBqECXReoyY02mo6jNOdzwYHKElPQeAnzc8IRIBG3s4 - EU+OA2EFZzQp2qSNlVAfTe/masQZkBOYTU/cpWg5yfIReFEWc1FzILTyXESJu0U2 - GmAYu1b7miFWsglIapUxCdlfdoEer+yDpjG4T151CYB11sUfpgcfOhAsStNfykmc - AaxRzklKFnjD5R8Au0BqZLyHu7FApV0BQqwZkevomsAAVWfVSxVGobnSzhW2mIIV - 4FyAKWHG8pm0By/eJkgKjJK3rIAjeAq/bJpNoUeKwjdvuysfMM9Q/LEjUQ5RRU09 - r/kAquTDUHne5d4yEjzmDmlaBN/zrMYuY1bG5H9Qs05p86W/aQKCAQEA82TOCRys - XCud62XTyHYxOqQbG/vDa1qdiamiE4iGBJgFUG0Xvqzy3YeSvqdifRxzst2auj7p - OSHk6w5/4Q2iezew/UCzRcG+INwtNwOUJ7wvHPyqskbp3w7e4OkrcN6lzReFZqls - pB5a9U8yn3qK/qrpHtyyBds951qI0olDyiPdW0M+8IKrIa70cUb6PYpk5enGVgyI - h+fBK9PTCzr9Gsk5XTpkNRcvgF1Czig+ZXk4KpD19W/JtqHSpCOu5XZx1RpCBBtY - +1BJcTzE0jgOAywFuUHVdYaSXZa+Nlyc+mgjqZoeNfgy8rvcGrM7VYAt+wlPpSeI - eiQBgeltfDWD7wKCAQEAwiisBfaSvN+odjs05vYEYPH43Vs2pp76ZxjUqTU0H2hL - Cmun2ogh/QgDy1wIUQBeZznm4mSQWn5vZNBmz786Fh2tPFi4QQaYCvtJmGfeV5aR - wOnb+cpCVeI2MG9iBnUPlWp7Zdj7Lwdt2EG5QNIMfF4zKuScuY2E05eIZCuWPdwA - 9/9zaWH3QR9luCEcHzLuspmu56uH5CvMBtsDdqs42BAm/DRn5FjAAWIHunIjoRrt - 8WaHe1/jPPcOHAvVLeK1iq/Ahe9f48JQqh5PeMtWFyUqRB68D5RcqCgHlVpfFk84 - UFMvgVLo2Sv1LtZAWlop168Io6YTsbXpt9HAxl+rqwKCAQEAs3EFSch+9nEdu1fW - XLturfohFm918qba8IxEtrv3elmNyW60i9o8L8DtGmyTewPH9P3WPit1jK6FdBq7 - gvOnb8puTTgvM2WUQ+uv1hhoWScvYOKTAl6vu8jd3tlpMoyjlmIZ8sdEFndeve6G - tvcElJ7ywdMZ2KF7sR6ZMwcKGHR6lPct5umfO3UeOImIomhu3OaOWBBjdDcTvrkr - peL2iZIDHc2X5WBToAKh5xXacrt9AjzfaPTitSf3ARZhskCxydfTBe4XmyjlDHwt - 64JyKjqBecSkmEH/lMo3MCL1hNPUPw0l6soy3axMqM6tFusqeyKxOmS8BLiY9+td - 0a4utwKCAQBIXrigEGRpmkRErZTuccz4BblpaNJaEO/s9chuubIP8uPlonMSdaOV - mSMw7cD70FNfzqlMwYc889u5jCSGUxTnoXAtCjTDqB2MGlY4RJ8PrsPtUD36QXWw - ZX0lWJ8FISUJ4ILWV6ZoxTAgZ38RtjmJMeOInWX9k85qwBTKoaSCsjp6NfFi2m07 - DOTxWQYOawGl+LrFB57DYb/O3lvQI8owXvTpFO+UobAP0+ZljJ3TMyJ11G2zgu5E - jyHnOlHfpJ1ecFwmkC8ByjAe+OVOdRxFzEiQ05PtirNuylzpQqImwqiO6DLQ1YKN - UGE3cAzUoL7v8gIaXZEBsHjJV5mvV4G5AoIBAQCd89YTMEVVHr2HPxWmQb1BJ+4D - u0u9Aj9Gb6f3qxfQPa9+A081rdnb2DEXCRrjPAguxP/JxXmBMQjs/PfcCnHRHFWU - nEnXfUAprudh2xX6j3tgNyOwJT3fBlRg8TRQ5HorpzaCxzCIoMgbwBmB05VzxDAq - y7zXXF+i0+QLHdAKMIQmps0S+qn+ji3ViooJyrAGuZTmeIXQP7b8wgft5m16C5Nc - Hl/7LjnsiAiu6HMNqIjrJmHNmdYlmfqFBepvWpnykUgvEMSigyy0K7858Lcl+FH3 - 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ - -----END RSA PRIVATE KEY----- - volumes: - - ./tests.sh:/usr/local/bin/tests.sh - - ./php_modules:/home/www-data/php_modules - depends_on: - - sshd - - crond: - image: $IMAGE - command: sudo -E crond -f -d 0 - environment: - CRONTAB_ENV: test - CRONTAB: |- - # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /home/www-data/cron - depends_on: - - sshd diff --git a/7.0/test/nginx.conf b/7.0/test/nginx.conf deleted file mode 100644 index a89ce5ba..00000000 --- a/7.0/test/nginx.conf +++ /dev/null @@ -1,15 +0,0 @@ -server { - server_name default; - listen 80; - - root /var/www/html/; - index index.php; - - fastcgi_param REQUEST_METHOD $request_method; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_index index.php; - - location / { - fastcgi_pass php:9000; - } -} diff --git a/7.0/test/tests.sh b/7.0/test/tests.sh deleted file mode 100755 index 5e8c7481..00000000 --- a/7.0/test/tests.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -php -m > ~/php_modules.tmp -echo -n "Checking PHP modules... " - -# Modify copy, keep the mounted version untouched. -cp ~/php_modules ~/expected_modules - -if [[ "${PHP_DEBUG}" == 1 ]]; then - sed -i '/blackfire/d' ~/expected_modules -fi - -if ! cmp -s ~/php_modules.tmp ~/expected_modules; then - echo "Error. PHP modules are not identical." - diff ~/php_modules.tmp ~/expected_modules - exit 1 -fi - -echo "OK" - -echo -n "Checking composer... " -composer --version | grep -q 'Composer version' -echo "OK" - -echo -n "Checking walter... " -walter -v | grep -q 'Walter version' -echo "OK" diff --git a/7.1/Dockerfile b/7.1/Dockerfile index 7eedf9a5..13b91f0f 100644 --- a/7.1/Dockerfile +++ b/7.1/Dockerfile @@ -4,7 +4,7 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEBUG -ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ +ENV PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ @@ -21,6 +21,8 @@ ENV PHP_DEBUG="${PHP_DEBUG:-0}" \ EXT_XDEBUG_VER="2.5.5" \ EXT_YAML_VER="2.0.2" \ + PHP72_EXT_MCRYPT_VER="1.0.1" \ + C_CLIENT_VER="2007f-r6" \ FREETYPE_VER="2.7.1-r1" \ GEOIP_VER="1.6.10-r0" \ @@ -47,6 +49,8 @@ ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz APP_ROOT="/var/www/html" \ PATH="/home/www-data/.composer/vendor/bin:${PATH}" +ADD https://patch-diff.githubusercontent.com/raw/php/php-src/pull/2955.patch /usr/src/ + RUN set -xe && \ # Recreate user with correct params @@ -112,12 +116,17 @@ RUN set -xe && \ rabbitmq-c-dev \ yaml-dev && \ - if [[ $PHP_DEBUG == 1 ]]; then \ + if [[ -n "${PHP_DEBUG}" ]]; then \ apk add --update --no-cache --virtual .debug-tools gdb; \ fi && \ docker-php-source extract && \ + # phar extension patch https://patch-diff.githubusercontent.com/php/php-src/pull/2955 + if [[ "${PHP_VERSION}" == "7.1.12" ]]; then \ + patch -d /usr/src/php -p1 < /usr/src/2955.patch; \ + fi && \ + docker-php-ext-install \ bcmath \ bz2 \ @@ -126,7 +135,6 @@ RUN set -xe && \ imap \ intl \ ldap \ - mcrypt \ mysqli \ opcache \ pcntl \ @@ -150,7 +158,19 @@ RUN set -xe && \ docker-php-ext-install -j${NPROC} gd && \ # PECL extensions - pecl config-set php_ini "${PHP_INI_DIR}/php.ini" && \ + pecl config-set php_ini "${PHP_INI_DIR}/php.ini" + + # PHP 7.2: + # - mcrypt moved to pecl + # - No xdebug support yet (TODO: return xdebug config template processing once support added) +RUN if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ + pecl install mcrypt-${PHP72_EXT_MCRYPT_VER}; \ + docker-php-ext-enable mcrypt; \ + else \ + docker-php-ext-install mcrypt; \ + xdebug-${EXT_XDEBUG_VER}; \ + docker-php-ext-enable xdebug; \ + fi && \ pecl install \ amqp-${EXT_AMQP_VER} \ @@ -161,7 +181,6 @@ RUN set -xe && \ mongodb-${EXT_MONGODB_VER} \ oauth-${EXT_OAUTH_VER} \ redis-${EXT_REDIS_VER} \ - xdebug-${EXT_XDEBUG_VER} \ yaml-${EXT_YAML_VER} && \ docker-php-ext-enable \ @@ -173,7 +192,6 @@ RUN set -xe && \ mongodb \ oauth \ redis \ - xdebug \ yaml && \ # Blackfire extension @@ -234,7 +252,11 @@ RUN set -xe && \ chown root:www-data /etc/crontabs/www-data && \ chmod 660 /etc/crontabs/www-data && \ - chown -R www-data:www-data /var/www "${PHP_INI_DIR}/conf.d" /usr/local/etc/php-fpm.d/ /home/www-data/.profile && \ + chown -R www-data:www-data \ + /var/www \ + "${PHP_INI_DIR}/conf.d" \ + /usr/local/etc/php-fpm.d/ \ + /home/www-data/.profile && \ # Cleanup su-exec www-data composer clear-cache && \ @@ -260,7 +282,6 @@ EXPOSE 9000 COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ -COPY php.ini ${PHP_INI_DIR} ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["php-fpm"] diff --git a/7.1/Makefile b/7.1/Makefile index c0115497..ccf45d84 100644 --- a/7.1/Makefile +++ b/7.1/Makefile @@ -1,15 +1,14 @@ -include env_make -PHP_VER ?= 7.1 -TAG ?= $(PHP_VER) +PHP_VER ?= 7.2.0 +# Remove minor version from tag +TAG ?= $(shell echo "${PHP_VER}" | cut -c 1-3) REPO = wodby/php NAME = php-$(PHP_VER) -FROM_TAG = 7.1.11 +FROM_TAG = $(PHP_VER) -PHP_DEBUG ?= 0 - -ifneq ($(PHP_DEBUG), 0) +ifneq ($(PHP_DEBUG),) override TAG := $(TAG)-debug FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug diff --git a/7.1/docker-entrypoint.sh b/7.1/docker-entrypoint.sh index 3f5707f4..0050d6e5 100755 --- a/7.1/docker-entrypoint.sh +++ b/7.1/docker-entrypoint.sh @@ -6,6 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi +PHP_VER_MINOR="${PHP_VERSION:0:3}" SSH_DIR=/home/www-data/.ssh _backwards_compatibility() { @@ -79,18 +80,20 @@ init_crond() { process_templates() { _backwards_compatibility - exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" + exec_tpl "docker-php-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - if [[ "${PHP_DEBUG}" == 0 ]]; then + if [[ -z "${PHP_DEBUG}" ]]; then exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" fi - sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then + exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + fi } init_git() { diff --git a/7.1/docker-php-source b/7.1/docker-php-source deleted file mode 100644 index 720d4ad1..00000000 --- a/7.1/docker-php-source +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -set -e - -dir=/usr/src/php - -usage() { - echo "usage: $0 COMMAND" - echo - echo "Manage php source tarball lifecycle." - echo - echo "Commands:" - echo " extract extract php source tarball into directory $dir if not already done." - echo " delete delete extracted php source located into $dir if not already done." - echo -} - -case "$1" in - extract) - mkdir -p "$dir" - if [ ! -f "$dir/.docker-extracted" ]; then - tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1 - touch "$dir/.docker-extracted" - fi - ;; - - delete) - rm -rf "$dir" - ;; - - *) - usage - exit 1 - ;; -esac \ No newline at end of file diff --git a/7.0/php.ini b/7.1/orig/php-7.0.ini similarity index 100% rename from 7.0/php.ini rename to 7.1/orig/php-7.0.ini diff --git a/7.1/php.ini b/7.1/orig/php-7.1.ini similarity index 100% rename from 7.1/php.ini rename to 7.1/orig/php-7.1.ini diff --git a/7.1/orig/php-7.2.ini b/7.1/orig/php-7.2.ini new file mode 100644 index 00000000..cef8628f --- /dev/null +++ b/7.1/orig/php-7.2.ini @@ -0,0 +1,1911 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is php.ini-development INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = On + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = On + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +; sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +; http://php.net/cgi.dicard-path +;cgi.discard_path=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=.so' and +; 'extension='php_.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=) syntax. +; +; Notes for Windows environments : +; +; - ODBC support is built in, so no dll is needed for it. +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +;extension=curl +;extension=fileinfo +;extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=interbase +;extension=ldap +;extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +;extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +;Enables or disables JIT compilation of patterns. This requires the PCRE +;library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = On + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +;
is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute pathes, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = 1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertationException on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; If enabled, a fast shutdown sequence is used for the accelerated code +; Depending on the used Memory Manager this may cause some incompatibilities. +;opcache.fast_shutdown=0 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=0 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: \ No newline at end of file diff --git a/7.1/templates/docker-php.ini.tpl b/7.1/templates/docker-php-7.0.ini.tpl similarity index 100% rename from 7.1/templates/docker-php.ini.tpl rename to 7.1/templates/docker-php-7.0.ini.tpl diff --git a/7.0/templates/docker-php.ini.tpl b/7.1/templates/docker-php-7.1.ini.tpl similarity index 94% rename from 7.0/templates/docker-php.ini.tpl rename to 7.1/templates/docker-php-7.1.ini.tpl index 871c1755..bb1e2000 100644 --- a/7.0/templates/docker-php.ini.tpl +++ b/7.1/templates/docker-php-7.1.ini.tpl @@ -25,4 +25,4 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Assertion] zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} -assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} +assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} \ No newline at end of file diff --git a/7.1/templates/docker-php-7.2.ini.tpl b/7.1/templates/docker-php-7.2.ini.tpl new file mode 100644 index 00000000..d2cc1423 --- /dev/null +++ b/7.1/templates/docker-php-7.2.ini.tpl @@ -0,0 +1,27 @@ +; This file user only to override default php.ini values +; BASIC SETTINGS: $PHP_INI_DIR/php.ini +; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf + +[PHP] +realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} +realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} +memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} +error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} +log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "1024" }} +error_log = /proc/self/fd/2 + +[Date] +date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} + +[Pdo_mysql] +pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} + +[mail function] +sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} + +[MySQLi] +mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} + +[Assertion] +zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} +assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} \ No newline at end of file diff --git a/7.1/test.sh b/7.1/test.sh index 90754fdd..d3fdae29 100755 --- a/7.1/test.sh +++ b/7.1/test.sh @@ -37,7 +37,6 @@ run_action() { } docker-compose -f test/docker-compose.yml up -d -docker-compose -f test/docker-compose.yml logs run_action php check-ready max_try=10 diff --git a/7.0/test/php_modules b/7.1/test/php_modules/7.0 similarity index 100% rename from 7.0/test/php_modules rename to 7.1/test/php_modules/7.0 diff --git a/7.1/test/php_modules b/7.1/test/php_modules/7.1 similarity index 100% rename from 7.1/test/php_modules rename to 7.1/test/php_modules/7.1 diff --git a/7.1/test/php_modules/7.2 b/7.1/test/php_modules/7.2 new file mode 100644 index 00000000..490ab202 --- /dev/null +++ b/7.1/test/php_modules/7.2 @@ -0,0 +1,70 @@ +[PHP Modules] +amqp +apcu +ast +bcmath +blackfire +bz2 +calendar +Core +ctype +curl +date +dom +exif +fileinfo +filter +ftp +gd +geoip +hash +iconv +imagick +imap +intl +json +ldap +libxml +mbstring +mcrypt +memcached +mongodb +mysqli +mysqlnd +OAuth +openssl +pcntl +pcre +PDO +pdo_mysql +pdo_pgsql +pdo_sqlite +pgsql +Phar +posix +readline +redis +Reflection +session +SimpleXML +soap +sockets +SPL +sqlite3 +standard +tokenizer +uploadprogress +xml +xmlreader +xmlrpc +xmlwriter +xsl +yaml +Zend OPcache +zip +zlib + +[Zend Modules] +Zend OPcache +blackfire + diff --git a/7.1/test/tests.sh b/7.1/test/tests.sh index 5e8c7481..f473fa3a 100755 --- a/7.1/test/tests.sh +++ b/7.1/test/tests.sh @@ -10,9 +10,9 @@ php -m > ~/php_modules.tmp echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. -cp ~/php_modules ~/expected_modules +cp ~/php_modules/"${PHP_VERSION:0:3}" ~/expected_modules -if [[ "${PHP_DEBUG}" == 1 ]]; then +if [[ -n "${PHP_DEBUG}" ]]; then sed -i '/blackfire/d' ~/expected_modules fi diff --git a/README.md b/README.md index d5a0652c..7d573e79 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,14 @@ Supported tags and respective `Dockerfile` links: -* `7.1`, `latest` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) -* `7.0` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) +* `7.2`, `latest` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.1` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.0` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) * `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -* `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.1/Dockerfile) -* `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7.0/Dockerfile) +* `7.2-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) For better reliability we additionally release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to git tags. We **strongly recommend** using images only with stability tags. @@ -45,16 +47,13 @@ For better reliability we additionally release images with stability tags (`wodb #### PHP and PHP-FPM configuration -[xdebug71]: https://github.com/wodby/php/tree/master/7.1/templates/docker-php-ext-xdebug.ini.tpl -[xdebug70]: https://github.com/wodby/php/tree/master/7.0/templates/docker-php-ext-xdebug.ini.tpl -[xdebug56]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tpl -[xdebug53]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-xdebug.ini.tpl -[opcache71]: https://github.com/wodby/php/tree/master/7.1/templates/docker-php-ext-opcache.ini.tpl -[opcache70]: https://github.com/wodby/php/tree/master/7.0/templates/docker-php-ext-opcache.ini.tpl -[opcache56]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-opcache.ini.tpl -[opcache53]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-opcache.ini.tpl -[apcu71]: https://github.com/wodby/php/tree/master/7.1/templates/docker-php-ext-apcu.ini.tpl -[apcu70]: https://github.com/wodby/php/tree/master/7.0/templates/docker-php-ext-apcu.ini.tpl +[7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tpl +[5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tpl +[5.3 xdebug 5.3]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-xdebug.ini.tpl +[7.x opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache.ini.tpl +[5.6 opcache]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-opcache.ini.tpl +[5.3 opcache]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-opcache.ini.tpl +[7.x apcu]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-apcu.ini.tpl [PHP_ALWAYS_POPULATE_RAW_POST_DATA]: http://php.net/always-populate-raw-post-data [PHP_APCU_ENABLED]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enabled @@ -104,63 +103,63 @@ For better reliability we additionally release images with stability tags (`wodb The default configuration is not recommended to be used for production environment: -| Variable | 7.1 | 7.0 | 5.6 | 5.3 | -| ------------------------------------- | ----------- | ----------- | ----------- | ----------- | -| [PHP_ALWAYS_POPULATE_RAW_POST_DATA] | - | - | 0 | 0 | -| [PHP_APCU_ENABLED] | 1 | 1 | - | - | -| _SEE ALL APCU EXT OPTIONS_ | [apcu71] | [apcu70] | - | - | -| [PHP_ASSERT_ACTIVE] | On | On | On | On | -| PHP_BLACKFIRE | | | | - | -| PHP_BLACKFIRE_AGENT_HOST | blackfire | blackfire | blackfire | - | -| PHP_BLACKFIRE_AGENT_PORT | 8707 | 8707 | 8707 | - | -| PHP_CLI_MEMORY_LIMIT | -1 | -1 | -1 | -1 | -| [PHP_DATE_TIMEZONE] | UTC | UTC | UTC | UTC | -| [PHP_DISPLAY_ERRORS] | On | On | On | On | -| [PHP_DISPLAY_STARTUP_ERRORS] | On | On | On | On | -| [PHP_ERROR_REPORTING] | E_ALL | E_ALL | E_ALL | E_ALL | -| [PHP_EXPOSE] | Off | Off | Off | Off | -| [PHP_FPM_CLEAR_ENV] | yes | yes | yes | - | -| PHP_FPM_ENV_VARS | | | | | -| [PHP_FPM_LOG_LEVEL] | notice | notice | notice | notice | -| [PHP_FPM_PM] | dynamic | dynamic | dynamic | dynamic | -| [PHP_FPM_PM_MAX_CHILDREN] | 8 | 8 | 8 | 8 | -| [PHP_FPM_PM_MAX_REQUESTS] | 500 | 500 | 500 | 500 | -| [PHP_FPM_PM_MAX_SPARE_SERVERS] | 3 | 3 | 3 | 3 | -| [PHP_FPM_PM_MIN_SPARE_SERVERS] | 1 | 1 | 1 | 1 | -| [PHP_FPM_PM_STATUS_PATH] | | | | | -| [PHP_FPM_REQUEST_SLOWLOG_TIMEOUT] | | | | | -| [PHP_FPM_START_SERVERS] | 2 | 2 | 2 | 2 | -| [PHP_FPM_USER] | | | | | -| [PHP_FPM_GROUP] | | | | | -| [PHP_GEOIP_CUSTOM_DIR] | | | | - | -| [PHP_LOG_ERRORS_MAX_LEN] | 1024 | 1024 | 1024 | 1024 | -| [PHP_MAX_EXECUTION_TIME] | 120 | 120 | 120 | 120 | -| [PHP_MAX_FILE_UPLOADS] | 20 | 20 | 20 | 20 | -| [PHP_MAX_INPUT_TIME] | 60 | 60 | 60 | 60 | -| [PHP_MAX_INPUT_VARS] | 2000 | 2000 | 2000 | 2000 | -| [PHP_MBSTRING_HTTP_INPUT] | - | - | | | -| [PHP_MBSTRING_HTTP_OUTPUT] | - | - | | | -| [PHP_MBSTRING_ENCODING_TRANSLATION] | - | - | Off | Off | -| [PHP_MEMORY_LIMIT] | 512M | 512M | 512M | 512M | -| PHP_MYSQL_CACHE_SIZE | - | - | 2000 | 2000 | -| [PHP_MYSQLI_CACHE_SIZE] | 2000 | 2000 | 2000 | 2000 | -| [PHP_OPCACHE_ENABLE] | 1 | 1 | 1 | 1 | -| _SEE ALL OPCACHE EXT OPTIONS_ | [opcache71] | [opcache70] | [opcache56] | [opcache53] | -| [PHP_OUTPUT_BUFFERING] | 4096 | 4096 | 4096 | 4096 | -| [PHP_PDO_MYSQL_CACHE_SIZE] | 2000 | 2000 | 2000 | 2000 | -| [PHP_POST_MAX_SIZE] | 32M | 32M | 32M | 32M | -| [PHP_REALPATH_CACHE_SIZE] | 4096k | 4096k | 16k | 16k | -| [PHP_REALPATH_CACHE_TTL] | 120 | 120 | 120 | 120 | -| [PHP_SENDMAIL_PATH] | /bin/true | /bin/true | /bin/true | /bin/true | -| [PHP_SESSION_AUTO_START] | 0 | 0 | 0 | 0 | -| [PHP_SESSION_BUG_COMPAT_42] | - | - | - | On | -| [PHP_SESSION_BUG_COMPAT_WARN] | - | - | - | On | -| [PHP_TRACK_ERRORS] | - | - | - | On | -| [PHP_UPLOAD_MAX_FILESIZE] | 32M | 32M | 32M | 32M | -| PHP_XDEBUG | | | | | -| [PHP_XDEBUG_DEFAULT_ENABLE] | 0 | 0 | 0 | 0 | -| _SEE ALL XDEBUG EXT OPTIONS_ | [xdebug71] | [xdebug70] | [xdebug56] | [xdebug53] | -| [PHP_ZEND_ASSERTIONS] | 1 | 1 | 1 | - | +| Variable | 7.2 | 7.1 | 7.0 | 5.6 | 5.3 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | ----------- | +| [PHP_ALWAYS_POPULATE_RAW_POST_DATA] | - | - | - | 0 | 0 | +| [PHP_APCU_ENABLED] | 1 | 1 | 1 | - | - | +| _SEE ALL APCU EXT OPTIONS_ | [7.x apcu] | [7.x apcu] | [7.x apcu] | - | - | +| [PHP_ASSERT_ACTIVE] | On | On | On | On | On | +| PHP_BLACKFIRE | | | | | - | +| PHP_BLACKFIRE_AGENT_HOST | blackfire | blackfire | blackfire | blackfire | - | +| PHP_BLACKFIRE_AGENT_PORT | 8707 | 8707 | 8707 | 8707 | - | +| PHP_CLI_MEMORY_LIMIT | -1 | -1 | -1 | -1 | -1 | +| [PHP_DATE_TIMEZONE] | UTC | UTC | UTC | UTC | UTC | +| [PHP_DISPLAY_ERRORS] | On | On | On | On | On | +| [PHP_DISPLAY_STARTUP_ERRORS] | On | On | On | On | On | +| [PHP_ERROR_REPORTING] | E_ALL | E_ALL | E_ALL | E_ALL | E_ALL | +| [PHP_EXPOSE] | Off | Off | Off | Off | Off | +| [PHP_FPM_CLEAR_ENV] | yes | yes | yes | yes | - | +| PHP_FPM_ENV_VARS | | | | | | +| [PHP_FPM_LOG_LEVEL] | notice | notice | notice | notice | notice | +| [PHP_FPM_PM] | dynamic | dynamic | dynamic | dynamic | dynamic | +| [PHP_FPM_PM_MAX_CHILDREN] | 8 | 8 | 8 | 8 | 8 | +| [PHP_FPM_PM_MAX_REQUESTS] | 500 | 500 | 500 | 500 | 500 | +| [PHP_FPM_PM_MAX_SPARE_SERVERS] | 3 | 3 | 3 | 3 | 3 | +| [PHP_FPM_PM_MIN_SPARE_SERVERS] | 1 | 1 | 1 | 1 | 1 | +| [PHP_FPM_PM_STATUS_PATH] | | | | | | +| [PHP_FPM_REQUEST_SLOWLOG_TIMEOUT] | | | | | | +| [PHP_FPM_START_SERVERS] | 2 | 2 | 2 | 2 | 2 | +| [PHP_FPM_USER] | | | | | | +| [PHP_FPM_GROUP] | | | | | | +| [PHP_GEOIP_CUSTOM_DIR] | | | | | - | +| [PHP_LOG_ERRORS_MAX_LEN] | 1024 | 1024 | 1024 | 1024 | 1024 | +| [PHP_MAX_EXECUTION_TIME] | 120 | 120 | 120 | 120 | 120 | +| [PHP_MAX_FILE_UPLOADS] | 20 | 20 | 20 | 20 | 20 | +| [PHP_MAX_INPUT_TIME] | 60 | 60 | 60 | 60 | 60 | +| [PHP_MAX_INPUT_VARS] | 2000 | 2000 | 2000 | 2000 | 2000 | +| [PHP_MBSTRING_HTTP_INPUT] | - | - | - | | | +| [PHP_MBSTRING_HTTP_OUTPUT] | - | - | - | | | +| [PHP_MBSTRING_ENCODING_TRANSLATION] | - | - | - | Off | Off | +| [PHP_MEMORY_LIMIT] | 512M | 512M | 512M | 512M | 512M | +| PHP_MYSQL_CACHE_SIZE | - | - | - | 2000 | 2000 | +| [PHP_MYSQLI_CACHE_SIZE] | 2000 | 2000 | 2000 | 2000 | 2000 | +| [PHP_OPCACHE_ENABLE] | 1 | 1 | 1 | 1 | 1 | +| _SEE ALL OPCACHE EXT OPTIONS_ | [7.x opcache] | [7.x opcache] | [7.x opcache] | [5.6 opcache] | [5.3 opcache] | +| [PHP_OUTPUT_BUFFERING] | 4096 | 4096 | 4096 | 4096 | 4096 | +| [PHP_PDO_MYSQL_CACHE_SIZE] | 2000 | 2000 | 2000 | 2000 | 2000 | +| [PHP_POST_MAX_SIZE] | 32M | 32M | 32M | 32M | 32M | +| [PHP_REALPATH_CACHE_SIZE] | 4096k | 4096k | 4096k | 16k | 16k | +| [PHP_REALPATH_CACHE_TTL] | 120 | 120 | 120 | 120 | 120 | +| [PHP_SENDMAIL_PATH] | /bin/true | /bin/true | /bin/true | /bin/true | /bin/true | +| [PHP_SESSION_AUTO_START] | 0 | 0 | 0 | 0 | 0 | +| [PHP_SESSION_BUG_COMPAT_42] | - | - | - | - | On | +| [PHP_SESSION_BUG_COMPAT_WARN] | - | - | - | - | On | +| [PHP_TRACK_ERRORS] | - | On | On | On | On | +| [PHP_UPLOAD_MAX_FILESIZE] | 32M | 32M | 32M | 32M | 32M | +| PHP_XDEBUG | - | | | | | +| [PHP_XDEBUG_DEFAULT_ENABLE] | - | 0 | 0 | 0 | 0 | +| _SEE ALL XDEBUG EXT OPTIONS_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | [5.3 xdebug] | +| [PHP_ZEND_ASSERTIONS] | 1 | 1 | 1 | 1 | - | > "-" - Not available for this version @@ -212,80 +211,81 @@ Deprecated variables still supported but will be removed in future releases [yaml]: https://pecl.php.net/package/yaml [latest]: https://github.com/wodby/pecl-php-uploadprogress/releases/tag/latest [7.0.5]: https://pecl.php.net/package/ZendOpcache +[1.0.1]: https://pecl.php.net/package/mcrypt [blackfire]: https://blackfire.io/dashboard/mine/profiles -| Extension | 7.1 | 7.0 | 5.6 | 5.3 | -| ---------------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | -| apc | - | - | - | | -| [apcu] | 5.1.8 | 5.1.8 | 4.0.11 | 4.0.11 | -| [ast] | 0.1.6 | 0.1.6 | - | - | -| [blackfire] | latest | latest | latest | - | -| bcmath | | | | | -| bz2 | | | | | -| calendar | | | | | -| Core | | | | | -| ctype | | | | | -| curl | | | | | -| date | | | | | -| dom | | | | | -| exif | | | | | -| ereg | - | - | | | -| fileinfo | | | | | -| filter | | | | | -| ftp | | | | | -| gd | | | | | -| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | - | -| hash | | | | | -| iconv | | | | | -| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | - | -| imap | | | | | -| intl | | | | | -| json | | | | | -| ldap | | | | | -| libxml | | | | | -| mbstring | | | | | -| mcrypt | | | | | -| [memcached] | 3.0.4 | 3.0.4 | 2.2.0 | 2.2.0 | -| [mongo] | - | - | - | 1.6.16 | -| [mongodb] | 1.3.2 | 1.3.2 | 1.3.2 | - | -| mysql | - | - | | | -| mysqli | | | | | -| mysqlnd | | | | | -| [OAuth] | 2.0.2 | 2.0.2 | 1.2.3 | 1.2.3 | -| openssl | | | | | -| pcntl | | | | | -| pcre | | | | | -| PDO | | | | | -| pdo_mysql | | | | | -| pdo_pgsql | | | | | -| pdo_sqlite | | | | | -| pgsql | | | | | -| Phar | | | | | -| posix | | | | | -| readline | | | | | -| [redis] | 3.1.4 | 3.1.4 | 3.1.4 | - | -| Reflection | | | | | -| session | | | | | -| SimpleXML | | | | | -| soap | | | | | -| sockets | | | | | -| SPL | | | | | -| SQLite | - | - | - | | -| sqlite3 | | | | | -| standard | | | | | -| tokenizer | | | | | -| [uploadprogress] | [latest] | [latest] | 1.0.3.1 | 1.0.3.1 | -| [xdebug] | 2.5.5 | 2.5.5 | 2.5.5 | 2.2.7 | -| xml | | | | | -| xmlreader | | | | | -| xmlrpc | | | | | -| xmlwriter | | | | | -| xsl | | | | | -| [yaml] | 2.0.2 | 2.0.2 | 1.3.1 | 1.3.1 | -| Zend OPcache | | | | [7.0.5] | -| zip | | | | | -| zlib | | | | | +| Extension | 7.2 | 7.1 | 7.0 | 5.6 | 5.3 | +| ---------------- | -------- | -------- | -------- | -------- | -------- | +| [amqp] | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | +| apc | - | - | - | - | | +| [apcu] | 5.1.8 | 5.1.8 | 5.1.8 | 4.0.11 | 4.0.11 | +| [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | - | +| [blackfire] | latest | latest | latest | latest | - | +| bcmath | | | | | | +| bz2 | | | | | | +| calendar | | | | | | +| Core | | | | | | +| ctype | | | | | | +| curl | | | | | | +| date | | | | | | +| dom | | | | | | +| exif | | | | | | +| ereg | - | - | - | | | +| fileinfo | | | | | | +| filter | | | | | | +| ftp | | | | | | +| gd | | | | | | +| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | - | +| hash | | | | | | +| iconv | | | | | | +| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | - | +| imap | | | | | | +| intl | | | | | | +| json | | | | | | +| ldap | | | | | | +| libxml | | | | | | +| mbstring | | | | | | +| mcrypt | [1.0.1] | | | | | +| [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | 2.2.0 | +| [mongo] | - | - | - | - | 1.6.16 | +| [mongodb] | 1.3.2 | 1.3.2 | 1.3.2 | 1.3.2 | - | +| mysql | - | - | - | | | +| mysqli | | | | | | +| mysqlnd | | | | | | +| [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | 1.2.3 | +| openssl | | | | | | +| pcntl | | | | | | +| pcre | | | | | | +| PDO | | | | | | +| pdo_mysql | | | | | | +| pdo_pgsql | | | | | | +| pdo_sqlite | | | | | | +| pgsql | | | | | | +| Phar | | | | | | +| posix | | | | | | +| readline | | | | | | +| [redis] | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | - | +| Reflection | | | | | | +| session | | | | | | +| SimpleXML | | | | | | +| soap | | | | | | +| sockets | | | | | | +| SPL | | | | | | +| SQLite | - | - | - | - | | +| sqlite3 | | | | | | +| standard | | | | | | +| tokenizer | | | | | | +| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | 1.0.3.1 | +| [xdebug] | - | 2.5.5 | 2.5.5 | 2.5.5 | 2.2.7 | +| xml | | | | | | +| xmlreader | | | | | | +| xmlrpc | | | | | | +| xmlwriter | | | | | | +| xsl | | | | | | +| [yaml] | 2.0.2 | 2.0.2 | 2.0.2 | 1.3.1 | 1.3.1 | +| Zend OPcache | | | | | [7.0.5] | +| zip | | | | | | +| zlib | | | | | | Legend: @@ -296,10 +296,10 @@ Extensions xdebug and blackfire disabled by default. ## Tools -| Tool | 7.1 | 7.0 | 5.6 | 5.3 | -| --------------------------------------------- | ------- | ------- | ------- | ------- | -| [Composer](https://getcomposer.org) | latest | latest | latest | latest | -| [Walter](https://github.com/walter-cd/walter) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | +| Tool | 7.2 | 7.1 | 7.0 | 5.6 | 5.3 | +| --------------------------------------------- | ------- | ------- | ------- | ------- | ------- | +| [Composer](https://getcomposer.org) | latest | latest | latest | latest | latest | +| [Walter](https://github.com/walter-cd/walter) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | ## Global Composer Packages From c105592823c7fe7d88d940aea0de72ede974cd2a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 1 Dec 2017 15:31:18 +0700 Subject: [PATCH 019/559] Fix description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d573e79..19d7269e 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ For better reliability we additionally release images with stability tags (`wodb [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tpl -[5.3 xdebug 5.3]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-xdebug.ini.tpl +[5.3 xdebug]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-xdebug.ini.tpl [7.x opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache.ini.tpl [5.6 opcache]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-opcache.ini.tpl [5.3 opcache]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-opcache.ini.tpl From d37d0412ddfb874906ba0b5c83e5b9be119b9a0e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 1 Dec 2017 15:34:09 +0700 Subject: [PATCH 020/559] Fix directory name --- {7.1 => 7}/Dockerfile | 0 {7.1 => 7}/Makefile | 0 {7.1 => 7}/actions/actions.mk | 0 {7.1 => 7}/actions/git-checkout.sh | 0 {7.1 => 7}/actions/git-clone.sh | 0 {7.1 => 7}/actions/sshd-generate-keys.sh | 0 {7.1 => 7}/actions/walter.sh | 0 {7.1 => 7}/docker-entrypoint.sh | 0 {7.1 => 7}/orig/php-7.0.ini | 0 {7.1 => 7}/orig/php-7.1.ini | 0 {7.1 => 7}/orig/php-7.2.ini | 0 {7.1 => 7}/templates/authorized_keys.tpl | 0 {7.1 => 7}/templates/crontab.tpl | 0 {7.1 => 7}/templates/docker-php-7.0.ini.tpl | 0 {7.1 => 7}/templates/docker-php-7.1.ini.tpl | 0 {7.1 => 7}/templates/docker-php-7.2.ini.tpl | 0 {7.1 => 7}/templates/docker-php-ext-apcu.ini.tpl | 0 {7.1 => 7}/templates/docker-php-ext-blackfire.ini.tpl | 0 {7.1 => 7}/templates/docker-php-ext-geoip.ini.tpl | 0 {7.1 => 7}/templates/docker-php-ext-opcache.ini.tpl | 0 {7.1 => 7}/templates/docker-php-ext-xdebug.ini.tpl | 0 {7.1 => 7}/templates/id_rsa.tpl | 0 {7.1 => 7}/templates/ssh_config.tpl | 0 {7.1 => 7}/templates/sshd_config.tpl | 0 {7.1 => 7}/templates/zz-www.conf.tpl | 0 {7.1 => 7}/test.sh | 0 {7.1 => 7}/test/docker-compose.yml | 0 {7.1 => 7}/test/nginx.conf | 0 {7.1 => 7}/test/php_modules/7.0 | 0 {7.1 => 7}/test/php_modules/7.1 | 0 {7.1 => 7}/test/php_modules/7.2 | 0 {7.1 => 7}/test/tests.sh | 0 32 files changed, 0 insertions(+), 0 deletions(-) rename {7.1 => 7}/Dockerfile (100%) rename {7.1 => 7}/Makefile (100%) rename {7.1 => 7}/actions/actions.mk (100%) rename {7.1 => 7}/actions/git-checkout.sh (100%) rename {7.1 => 7}/actions/git-clone.sh (100%) rename {7.1 => 7}/actions/sshd-generate-keys.sh (100%) rename {7.1 => 7}/actions/walter.sh (100%) rename {7.1 => 7}/docker-entrypoint.sh (100%) rename {7.1 => 7}/orig/php-7.0.ini (100%) rename {7.1 => 7}/orig/php-7.1.ini (100%) rename {7.1 => 7}/orig/php-7.2.ini (100%) rename {7.1 => 7}/templates/authorized_keys.tpl (100%) rename {7.1 => 7}/templates/crontab.tpl (100%) rename {7.1 => 7}/templates/docker-php-7.0.ini.tpl (100%) rename {7.1 => 7}/templates/docker-php-7.1.ini.tpl (100%) rename {7.1 => 7}/templates/docker-php-7.2.ini.tpl (100%) rename {7.1 => 7}/templates/docker-php-ext-apcu.ini.tpl (100%) rename {7.1 => 7}/templates/docker-php-ext-blackfire.ini.tpl (100%) rename {7.1 => 7}/templates/docker-php-ext-geoip.ini.tpl (100%) rename {7.1 => 7}/templates/docker-php-ext-opcache.ini.tpl (100%) rename {7.1 => 7}/templates/docker-php-ext-xdebug.ini.tpl (100%) rename {7.1 => 7}/templates/id_rsa.tpl (100%) rename {7.1 => 7}/templates/ssh_config.tpl (100%) rename {7.1 => 7}/templates/sshd_config.tpl (100%) rename {7.1 => 7}/templates/zz-www.conf.tpl (100%) rename {7.1 => 7}/test.sh (100%) rename {7.1 => 7}/test/docker-compose.yml (100%) rename {7.1 => 7}/test/nginx.conf (100%) rename {7.1 => 7}/test/php_modules/7.0 (100%) rename {7.1 => 7}/test/php_modules/7.1 (100%) rename {7.1 => 7}/test/php_modules/7.2 (100%) rename {7.1 => 7}/test/tests.sh (100%) diff --git a/7.1/Dockerfile b/7/Dockerfile similarity index 100% rename from 7.1/Dockerfile rename to 7/Dockerfile diff --git a/7.1/Makefile b/7/Makefile similarity index 100% rename from 7.1/Makefile rename to 7/Makefile diff --git a/7.1/actions/actions.mk b/7/actions/actions.mk similarity index 100% rename from 7.1/actions/actions.mk rename to 7/actions/actions.mk diff --git a/7.1/actions/git-checkout.sh b/7/actions/git-checkout.sh similarity index 100% rename from 7.1/actions/git-checkout.sh rename to 7/actions/git-checkout.sh diff --git a/7.1/actions/git-clone.sh b/7/actions/git-clone.sh similarity index 100% rename from 7.1/actions/git-clone.sh rename to 7/actions/git-clone.sh diff --git a/7.1/actions/sshd-generate-keys.sh b/7/actions/sshd-generate-keys.sh similarity index 100% rename from 7.1/actions/sshd-generate-keys.sh rename to 7/actions/sshd-generate-keys.sh diff --git a/7.1/actions/walter.sh b/7/actions/walter.sh similarity index 100% rename from 7.1/actions/walter.sh rename to 7/actions/walter.sh diff --git a/7.1/docker-entrypoint.sh b/7/docker-entrypoint.sh similarity index 100% rename from 7.1/docker-entrypoint.sh rename to 7/docker-entrypoint.sh diff --git a/7.1/orig/php-7.0.ini b/7/orig/php-7.0.ini similarity index 100% rename from 7.1/orig/php-7.0.ini rename to 7/orig/php-7.0.ini diff --git a/7.1/orig/php-7.1.ini b/7/orig/php-7.1.ini similarity index 100% rename from 7.1/orig/php-7.1.ini rename to 7/orig/php-7.1.ini diff --git a/7.1/orig/php-7.2.ini b/7/orig/php-7.2.ini similarity index 100% rename from 7.1/orig/php-7.2.ini rename to 7/orig/php-7.2.ini diff --git a/7.1/templates/authorized_keys.tpl b/7/templates/authorized_keys.tpl similarity index 100% rename from 7.1/templates/authorized_keys.tpl rename to 7/templates/authorized_keys.tpl diff --git a/7.1/templates/crontab.tpl b/7/templates/crontab.tpl similarity index 100% rename from 7.1/templates/crontab.tpl rename to 7/templates/crontab.tpl diff --git a/7.1/templates/docker-php-7.0.ini.tpl b/7/templates/docker-php-7.0.ini.tpl similarity index 100% rename from 7.1/templates/docker-php-7.0.ini.tpl rename to 7/templates/docker-php-7.0.ini.tpl diff --git a/7.1/templates/docker-php-7.1.ini.tpl b/7/templates/docker-php-7.1.ini.tpl similarity index 100% rename from 7.1/templates/docker-php-7.1.ini.tpl rename to 7/templates/docker-php-7.1.ini.tpl diff --git a/7.1/templates/docker-php-7.2.ini.tpl b/7/templates/docker-php-7.2.ini.tpl similarity index 100% rename from 7.1/templates/docker-php-7.2.ini.tpl rename to 7/templates/docker-php-7.2.ini.tpl diff --git a/7.1/templates/docker-php-ext-apcu.ini.tpl b/7/templates/docker-php-ext-apcu.ini.tpl similarity index 100% rename from 7.1/templates/docker-php-ext-apcu.ini.tpl rename to 7/templates/docker-php-ext-apcu.ini.tpl diff --git a/7.1/templates/docker-php-ext-blackfire.ini.tpl b/7/templates/docker-php-ext-blackfire.ini.tpl similarity index 100% rename from 7.1/templates/docker-php-ext-blackfire.ini.tpl rename to 7/templates/docker-php-ext-blackfire.ini.tpl diff --git a/7.1/templates/docker-php-ext-geoip.ini.tpl b/7/templates/docker-php-ext-geoip.ini.tpl similarity index 100% rename from 7.1/templates/docker-php-ext-geoip.ini.tpl rename to 7/templates/docker-php-ext-geoip.ini.tpl diff --git a/7.1/templates/docker-php-ext-opcache.ini.tpl b/7/templates/docker-php-ext-opcache.ini.tpl similarity index 100% rename from 7.1/templates/docker-php-ext-opcache.ini.tpl rename to 7/templates/docker-php-ext-opcache.ini.tpl diff --git a/7.1/templates/docker-php-ext-xdebug.ini.tpl b/7/templates/docker-php-ext-xdebug.ini.tpl similarity index 100% rename from 7.1/templates/docker-php-ext-xdebug.ini.tpl rename to 7/templates/docker-php-ext-xdebug.ini.tpl diff --git a/7.1/templates/id_rsa.tpl b/7/templates/id_rsa.tpl similarity index 100% rename from 7.1/templates/id_rsa.tpl rename to 7/templates/id_rsa.tpl diff --git a/7.1/templates/ssh_config.tpl b/7/templates/ssh_config.tpl similarity index 100% rename from 7.1/templates/ssh_config.tpl rename to 7/templates/ssh_config.tpl diff --git a/7.1/templates/sshd_config.tpl b/7/templates/sshd_config.tpl similarity index 100% rename from 7.1/templates/sshd_config.tpl rename to 7/templates/sshd_config.tpl diff --git a/7.1/templates/zz-www.conf.tpl b/7/templates/zz-www.conf.tpl similarity index 100% rename from 7.1/templates/zz-www.conf.tpl rename to 7/templates/zz-www.conf.tpl diff --git a/7.1/test.sh b/7/test.sh similarity index 100% rename from 7.1/test.sh rename to 7/test.sh diff --git a/7.1/test/docker-compose.yml b/7/test/docker-compose.yml similarity index 100% rename from 7.1/test/docker-compose.yml rename to 7/test/docker-compose.yml diff --git a/7.1/test/nginx.conf b/7/test/nginx.conf similarity index 100% rename from 7.1/test/nginx.conf rename to 7/test/nginx.conf diff --git a/7.1/test/php_modules/7.0 b/7/test/php_modules/7.0 similarity index 100% rename from 7.1/test/php_modules/7.0 rename to 7/test/php_modules/7.0 diff --git a/7.1/test/php_modules/7.1 b/7/test/php_modules/7.1 similarity index 100% rename from 7.1/test/php_modules/7.1 rename to 7/test/php_modules/7.1 diff --git a/7.1/test/php_modules/7.2 b/7/test/php_modules/7.2 similarity index 100% rename from 7.1/test/php_modules/7.2 rename to 7/test/php_modules/7.2 diff --git a/7.1/test/tests.sh b/7/test/tests.sh similarity index 100% rename from 7.1/test/tests.sh rename to 7/test/tests.sh From ae2049f541637a3d96d6b3caead843f1edef93cd Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 1 Dec 2017 15:42:39 +0700 Subject: [PATCH 021/559] Fixes --- 7/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 13b91f0f..fbff5546 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -158,17 +158,17 @@ RUN set -xe && \ docker-php-ext-install -j${NPROC} gd && \ # PECL extensions - pecl config-set php_ini "${PHP_INI_DIR}/php.ini" + pecl config-set php_ini "${PHP_INI_DIR}/php.ini" && \ # PHP 7.2: # - mcrypt moved to pecl # - No xdebug support yet (TODO: return xdebug config template processing once support added) -RUN if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ + if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ pecl install mcrypt-${PHP72_EXT_MCRYPT_VER}; \ docker-php-ext-enable mcrypt; \ else \ docker-php-ext-install mcrypt; \ - xdebug-${EXT_XDEBUG_VER}; \ + docker-php-ext-install xdebug-${EXT_XDEBUG_VER}; \ docker-php-ext-enable xdebug; \ fi && \ From ede0aaa1a4e02abccfc11e3696ab5b09c323593c Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 1 Dec 2017 16:07:36 +0700 Subject: [PATCH 022/559] Fixes --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index fbff5546..30a33b35 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -168,7 +168,7 @@ RUN set -xe && \ docker-php-ext-enable mcrypt; \ else \ docker-php-ext-install mcrypt; \ - docker-php-ext-install xdebug-${EXT_XDEBUG_VER}; \ + pecl install xdebug-${EXT_XDEBUG_VER}; \ docker-php-ext-enable xdebug; \ fi && \ From 9588d1b745aab7bddb147cf1fdbfd1773a0c5369 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 1 Dec 2017 18:37:11 +0700 Subject: [PATCH 023/559] Fix image tags formation --- 5.6/Makefile | 15 +++++++++++---- 7/Makefile | 15 +++++++++++---- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/5.6/Makefile b/5.6/Makefile index 01f56b9d..6bb984ce 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,17 +1,24 @@ -include env_make PHP_VER ?= 5.6.32 -# Remove minor version from tag -TAG ?= $(shell echo "${PHP_VER}" | cut -c 1-3) REPO = wodby/php NAME = php-$(PHP_VER) FROM_TAG = $(PHP_VER) +ifeq ($(TAG),) + PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) + + ifeq ($(PHP_DEBUG),) + TAG ?= $(PHP_VER_MINOR) + else + TAG ?= $(PHP_VER_MINOR)-debug + endif +endif + ifneq ($(PHP_DEBUG),) - override TAG := $(TAG)-debug - FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug + FROM_TAG := $(FROM_TAG)-debug endif ifneq ($(STABILITY_TAG),) diff --git a/7/Makefile b/7/Makefile index ccf45d84..32cd2885 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,17 +1,24 @@ -include env_make PHP_VER ?= 7.2.0 -# Remove minor version from tag -TAG ?= $(shell echo "${PHP_VER}" | cut -c 1-3) REPO = wodby/php NAME = php-$(PHP_VER) FROM_TAG = $(PHP_VER) +ifeq ($(TAG),) + PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) + + ifeq ($(PHP_DEBUG),) + TAG ?= $(PHP_VER_MINOR) + else + TAG ?= $(PHP_VER_MINOR)-debug + endif +endif + ifneq ($(PHP_DEBUG),) - override TAG := $(TAG)-debug - FROM_TAG := $(FROM_TAG)-debug NAME := $(NAME)-debug + FROM_TAG := $(FROM_TAG)-debug endif ifneq ($(STABILITY_TAG),) From e0847b78e6d6881ffa717155a31ddde192971342 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 2 Dec 2017 00:18:05 +0700 Subject: [PATCH 024/559] Keep php sources --- 5.3/Dockerfile | 1 - 5.6/Dockerfile | 1 - 7/Dockerfile | 1 - 3 files changed, 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index e99ecffa..40555e12 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -362,7 +362,6 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ - /usr/src/php.tar.xz \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index ef85fc7c..bb2ca184 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -232,7 +232,6 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ - /usr/src/php.tar.xz \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ diff --git a/7/Dockerfile b/7/Dockerfile index 30a33b35..2be9a736 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -265,7 +265,6 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ - /usr/src/php.tar.xz \ /usr/src/php/ext/ast \ /usr/src/php/ext/uploadprogress \ /usr/include/php \ From 6eee2281e865dbc90a03ca4c1f5a137003dd27a1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 2 Dec 2017 00:21:31 +0700 Subject: [PATCH 025/559] Keep php sources in place --- 5.3/Dockerfile | 1 + 5.6/Dockerfile | 1 + 7/Dockerfile | 1 + 3 files changed, 3 insertions(+) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 40555e12..e99ecffa 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -362,6 +362,7 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ + /usr/src/php.tar.xz \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index bb2ca184..ef85fc7c 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -232,6 +232,7 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ + /usr/src/php.tar.xz \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ diff --git a/7/Dockerfile b/7/Dockerfile index 2be9a736..30a33b35 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -265,6 +265,7 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ + /usr/src/php.tar.xz \ /usr/src/php/ext/ast \ /usr/src/php/ext/uploadprogress \ /usr/include/php \ From cabd23a72442ed434554f7038173e63cfe502dd9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 2 Dec 2017 00:22:00 +0700 Subject: [PATCH 026/559] Keep php sources in place --- 5.3/Dockerfile | 1 - 5.6/Dockerfile | 1 - 7/Dockerfile | 1 - 3 files changed, 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index e99ecffa..40555e12 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -362,7 +362,6 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ - /usr/src/php.tar.xz \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index ef85fc7c..bb2ca184 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -232,7 +232,6 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ - /usr/src/php.tar.xz \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ diff --git a/7/Dockerfile b/7/Dockerfile index 30a33b35..2be9a736 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -265,7 +265,6 @@ RUN set -xe && \ pecl clear-cache && \ rm -rf \ - /usr/src/php.tar.xz \ /usr/src/php/ext/ast \ /usr/src/php/ext/uploadprogress \ /usr/include/php \ From 92c56f1e4772f52da6eee9ca02b0fc9251986f6c Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 4 Dec 2017 12:39:02 +0700 Subject: [PATCH 027/559] Replace -debug version with -dev --- .travis.yml | 8 +- 5.3/test/tests.sh | 4 - 5.6/Dockerfile | 160 +++++++++++++++++---------------- 5.6/Makefile | 10 +-- 5.6/docker-entrypoint.sh | 2 +- 5.6/test/tests.sh | 2 +- 7/Dockerfile | 188 ++++++++++++++++++++------------------- 7/Makefile | 10 +-- 7/docker-entrypoint.sh | 2 +- 7/test/tests.sh | 2 +- README.md | 10 +-- 11 files changed, 204 insertions(+), 194 deletions(-) diff --git a/.travis.yml b/.travis.yml index 481516a4..ff13cf71 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,10 +16,10 @@ env: - TAG=7.0 PHP_VER=7.0.26 - TAG=5.6 PHP_VER=5.6.32 - TAG=5.3 PHP_VER=5.3.29 - - TAG=7.2-debug PHP_VER=7.2.0 PHP_DEBUG=1 - - TAG=7.1-debug PHP_VER=7.1.12 PHP_DEBUG=1 - - TAG=7.0-debug PHP_VER=7.0.26 PHP_DEBUG=1 - - TAG=5.6-debug PHP_VER=5.6.32 PHP_DEBUG=1 + - TAG=7.2-debug PHP_VER=7.2.0 PHP_DEV=1 + - TAG=7.1-debug PHP_VER=7.1.12 PHP_DEV=1 + - TAG=7.0-debug PHP_VER=7.0.26 PHP_DEV=1 + - TAG=5.6-debug PHP_VER=5.6.32 PHP_DEV=1 install: - sudo apt-get update diff --git a/5.3/test/tests.sh b/5.3/test/tests.sh index 24e1ae20..094591e2 100755 --- a/5.3/test/tests.sh +++ b/5.3/test/tests.sh @@ -12,10 +12,6 @@ echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. cp ~/php_modules ~/expected_modules -if [[ -n "${PHP_DEBUG}" ]]; then - sed -i '/blackfire/d' ~/expected_modules -fi - if ! cmp -s ~/php_modules.tmp ~/expected_modules; then echo "Error. PHP modules are not identical." diff ~/php_modules.tmp ~/expected_modules diff --git a/5.6/Dockerfile b/5.6/Dockerfile index bb2ca184..b98d1167 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -2,9 +2,9 @@ ARG FROM_TAG FROM wodby/base-php:${FROM_TAG} -ARG PHP_DEBUG +ARG PHP_DEV -ENV PHP_DEBUG="${PHP_DEBUG}" \ +ENV PHP_DEV="${PHP_DEV}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ @@ -45,15 +45,15 @@ ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_ APP_ROOT="/var/www/html" \ PATH="/home/www-data/.composer/vendor/bin:${PATH}" -RUN set -xe && \ - +RUN set -xe; \ + \ # Recreate user with correct params - deluser www-data && \ - addgroup -g 82 -S www-data && \ - adduser -u 82 -D -S -s /bin/bash -G www-data www-data && \ - sed -i '/^www-data/s/!/*/' /etc/shadow && \ - echo "PS1='\w\$ '" >> /home/www-data/.bashrc && \ - + deluser www-data; \ + addgroup -g 82 -S www-data; \ + adduser -u 82 -D -S -s /bin/bash -G www-data www-data; \ + sed -i '/^www-data/s/!/*/' /etc/shadow; \ + echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ + \ apk add --update --no-cache --virtual .php-rundeps \ c-client=${C_CLIENT_VER} \ fcgi \ @@ -85,8 +85,8 @@ RUN set -xe && \ sudo \ tig \ tmux \ - yaml=${YAML_VER} && \ - + yaml=${YAML_VER}; \ + \ apk add --update --no-cache --virtual .build-deps \ autoconf \ cmake \ @@ -108,14 +108,14 @@ RUN set -xe && \ pcre-dev \ postgresql-dev \ rabbitmq-c-dev \ - yaml-dev && \ - - if [[ -n "${PHP_DEBUG}" ]]; then \ + yaml-dev; \ + \ + if [[ -n "${PHP_DEV}" ]]; then \ apk add --update --no-cache --virtual .debug-tools gdb; \ - fi && \ - - docker-php-source extract && \ - + fi; \ + \ + docker-php-source extract; \ + \ docker-php-ext-install \ bcmath \ bz2 \ @@ -137,20 +137,20 @@ RUN set -xe && \ sockets \ xmlrpc \ xsl \ - zip && \ - + zip; \ + \ # GD docker-php-ext-configure gd \ --with-gd \ --with-freetype-dir=/usr/include/ \ --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/ && \ - NPROC=$(getconf _NPROCESSORS_ONLN) && \ - docker-php-ext-install -j${NPROC} gd && \ - + --with-jpeg-dir=/usr/include/; \ + NPROC=$(getconf _NPROCESSORS_ONLN); \ + docker-php-ext-install -j${NPROC} gd; \ + \ # PECL extensions - pecl config-set php_ini "${PHP_INI_DIR}/php.ini" && \ - + pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ + \ pecl install \ amqp-${EXT_AMQP_VER} \ apcu-${EXT_APCU_VER} \ @@ -162,8 +162,8 @@ RUN set -xe && \ redis-${EXT_REDIS_VER} \ uploadprogress-${EXT_UPLOADPROGRESS_VER} \ xdebug-${EXT_XDEBUG_VER} \ - yaml-${EXT_YAML_VER} && \ - + yaml-${EXT_YAML_VER}; \ + \ docker-php-ext-enable \ amqp \ apcu \ @@ -175,68 +175,76 @@ RUN set -xe && \ redis \ uploadprogress \ xdebug \ - yaml && \ - + yaml; \ + \ # Blackfire extension - mkdir -p /tmp/blackfire && \ - version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") && \ - wget -qO- "${BLACKFIRE_URL}/${version}" | tar xz --no-same-owner -C /tmp/blackfire && \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - + mkdir -p /tmp/blackfire; \ + version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ + wget -qO- "${BLACKFIRE_URL}/${version}" | tar xz --no-same-owner -C /tmp/blackfire; \ + mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ + \ # Install composer - wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - + wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ + \ # Install composer parallel install plugin - su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ - + su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER}; \ + \ # Install Walter - wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ - mv /tmp/walter_linux_amd64/walter /usr/local/bin && \ - + wget -qO- ${WALTER_URL} | tar xz -C /tmp/; \ + mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ + \ # Add composer bins to $PATH - su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile && \ - + su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ + \ # Configure sudoers - { \ - echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ - echo -n '/usr/sbin/sshd, ' ; \ - echo '/usr/sbin/crond' ; \ - } | tee /etc/sudoers.d/www-data && \ - + if [[ -n "${PHP_DEV}" ]]; then \ + echo 'www-data ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/www-data; \ + else \ + { \ + echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ + echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ + echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ + echo -n '/usr/sbin/sshd, ' ; \ + echo '/usr/sbin/crond' ; \ + } | tee /etc/sudoers.d/www-data; \ + fi; \ + \ # Configure ldap - echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf && \ - + echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ + \ # We run php-fpm as non root - sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf* && \ - + sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf*; \ + \ # Create required directories and fix permissions - mkdir -p ${APP_ROOT} && \ - su-exec www-data mkdir /home/www-data/.ssh && \ - - touch /etc/ssh/sshd_config && \ - chown www-data: /etc/ssh/sshd_config && \ - - rm /etc/crontabs/root && \ - touch /etc/crontabs/www-data && \ - chown root:www-data /etc/crontabs/www-data && \ - chmod 660 /etc/crontabs/www-data && \ - - chown -R www-data:www-data /var/www "${PHP_INI_DIR}/conf.d" /usr/local/etc/php-fpm.d/ /home/www-data/.profile && \ - + mkdir -p ${APP_ROOT}; \ + su-exec www-data mkdir /home/www-data/.ssh; \ + \ + touch /etc/ssh/sshd_config; \ + chown www-data: /etc/ssh/sshd_config; \ + \ + rm /etc/crontabs/root; \ + touch /etc/crontabs/www-data; \ + chown root:www-data /etc/crontabs/www-data; \ + chmod 660 /etc/crontabs/www-data; \ + \ + chown -R www-data:www-data /var/www "${PHP_INI_DIR}/conf.d" /usr/local/etc/php-fpm.d/ /home/www-data/.profile; \ + \ # Cleanup - su-exec www-data composer clear-cache && \ - docker-php-source delete && \ - apk del .build-deps && \ - pecl clear-cache && \ - + su-exec www-data composer clear-cache; \ + docker-php-source delete; \ + apk del .build-deps; \ + pecl clear-cache; \ + \ rm -rf \ /usr/include/php \ /usr/lib/php/build \ /tmp/* \ /root/.composer \ - /var/cache/apk/* + /var/cache/apk/*; \ + \ + if [[ -z "${PHP_DEV}" ]]; then \ + rm -rf /usr/src/php.tar.xz; \ + fi USER www-data diff --git a/5.6/Makefile b/5.6/Makefile index 6bb984ce..3d982806 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -9,15 +9,15 @@ FROM_TAG = $(PHP_VER) ifeq ($(TAG),) PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) - ifeq ($(PHP_DEBUG),) + ifeq ($(PHP_DEV),) TAG ?= $(PHP_VER_MINOR) else - TAG ?= $(PHP_VER_MINOR)-debug + TAG ?= $(PHP_VER_MINOR)-dev endif endif -ifneq ($(PHP_DEBUG),) - NAME := $(NAME)-debug +ifneq ($(PHP_DEV),) + NAME := $(NAME)-dev FROM_TAG := $(FROM_TAG)-debug endif @@ -32,7 +32,7 @@ endif default: build build: - docker build -t $(REPO):$(TAG) --build-arg FROM_TAG=$(FROM_TAG) --build-arg PHP_DEBUG=$(PHP_DEBUG) ./ + docker build -t $(REPO):$(TAG) --build-arg FROM_TAG=$(FROM_TAG) --build-arg PHP_DEV=$(PHP_DEV) ./ test: IMAGE=$(REPO):$(TAG) ./test.sh diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 6a6f2971..fc0e2569 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -86,7 +86,7 @@ process_templates() { exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - if [[ -z "${PHP_DEBUG}" ]]; then + if [[ -z "${PHP_DEV}" ]]; then exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" fi diff --git a/5.6/test/tests.sh b/5.6/test/tests.sh index 24e1ae20..17be2a8e 100755 --- a/5.6/test/tests.sh +++ b/5.6/test/tests.sh @@ -12,7 +12,7 @@ echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. cp ~/php_modules ~/expected_modules -if [[ -n "${PHP_DEBUG}" ]]; then +if [[ -n "${PHP_DEV}" ]]; then sed -i '/blackfire/d' ~/expected_modules fi diff --git a/7/Dockerfile b/7/Dockerfile index 2be9a736..09e5bc9e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -2,9 +2,9 @@ ARG FROM_TAG FROM wodby/base-php:${FROM_TAG} -ARG PHP_DEBUG +ARG PHP_DEV -ENV PHP_DEBUG="${PHP_DEBUG}" \ +ENV PHP_DEV="${PHP_DEV}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ @@ -51,15 +51,15 @@ ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz ADD https://patch-diff.githubusercontent.com/raw/php/php-src/pull/2955.patch /usr/src/ -RUN set -xe && \ - +RUN set -xe; \ + \ # Recreate user with correct params - deluser www-data && \ - addgroup -g 82 -S www-data && \ - adduser -u 82 -D -S -s /bin/bash -G www-data www-data && \ - sed -i '/^www-data/s/!/*/' /etc/shadow && \ - echo "PS1='\w\$ '" >> /home/www-data/.bashrc && \ - + deluser www-data; \ + addgroup -g 82 -S www-data; \ + adduser -u 82 -D -S -s /bin/bash -G www-data www-data; \ + sed -i '/^www-data/s/!/*/' /etc/shadow; \ + echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ + \ apk add --update --no-cache --virtual .php-rundeps \ c-client=${C_CLIENT_VER} \ fcgi \ @@ -91,8 +91,8 @@ RUN set -xe && \ sudo \ tig \ tmux \ - yaml=${YAML_VER} && \ - + yaml=${YAML_VER}; \ + \ apk add --update --no-cache --virtual .build-deps \ autoconf \ cmake \ @@ -114,19 +114,19 @@ RUN set -xe && \ pcre-dev \ postgresql-dev \ rabbitmq-c-dev \ - yaml-dev && \ - - if [[ -n "${PHP_DEBUG}" ]]; then \ + yaml-dev; \ + \ + if [[ -n "${PHP_DEV}" ]]; then \ apk add --update --no-cache --virtual .debug-tools gdb; \ - fi && \ - - docker-php-source extract && \ - + fi; \ + \ + docker-php-source extract; \ + \ # phar extension patch https://patch-diff.githubusercontent.com/php/php-src/pull/2955 if [[ "${PHP_VERSION}" == "7.1.12" ]]; then \ patch -d /usr/src/php -p1 < /usr/src/2955.patch; \ - fi && \ - + fi; \ + \ docker-php-ext-install \ bcmath \ bz2 \ @@ -146,20 +146,20 @@ RUN set -xe && \ sockets \ xmlrpc \ xsl \ - zip && \ - + zip; \ + \ # GD docker-php-ext-configure gd \ --with-gd \ --with-freetype-dir=/usr/include/ \ --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/ && \ - NPROC=$(getconf _NPROCESSORS_ONLN) && \ - docker-php-ext-install -j${NPROC} gd && \ - + --with-jpeg-dir=/usr/include/; \ + NPROC=$(getconf _NPROCESSORS_ONLN); \ + docker-php-ext-install -j${NPROC} gd; \ + \ # PECL extensions - pecl config-set php_ini "${PHP_INI_DIR}/php.ini" && \ - + pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ + \ # PHP 7.2: # - mcrypt moved to pecl # - No xdebug support yet (TODO: return xdebug config template processing once support added) @@ -170,8 +170,8 @@ RUN set -xe && \ docker-php-ext-install mcrypt; \ pecl install xdebug-${EXT_XDEBUG_VER}; \ docker-php-ext-enable xdebug; \ - fi && \ - + fi; \ + \ pecl install \ amqp-${EXT_AMQP_VER} \ apcu-${EXT_APCU_VER} \ @@ -181,8 +181,8 @@ RUN set -xe && \ mongodb-${EXT_MONGODB_VER} \ oauth-${EXT_OAUTH_VER} \ redis-${EXT_REDIS_VER} \ - yaml-${EXT_YAML_VER} && \ - + yaml-${EXT_YAML_VER}; \ + \ docker-php-ext-enable \ amqp \ apcu \ @@ -192,78 +192,82 @@ RUN set -xe && \ mongodb \ oauth \ redis \ - yaml && \ - + yaml; \ + \ # Blackfire extension - mkdir -p /tmp/blackfire && \ - version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") && \ - wget -qO- "${BLACKFIRE_URL}/${version}" | tar xz --no-same-owner -C /tmp/blackfire && \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - + mkdir -p /tmp/blackfire; \ + version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ + wget -qO- "${BLACKFIRE_URL}/${version}" | tar xz --no-same-owner -C /tmp/blackfire; \ + mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ + \ # Uploadprogress - mkdir -p /usr/src/php/ext/uploadprogress && \ - wget -qO- ${EXT_UPLOADPROGRESS_URL} | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress && \ - docker-php-ext-configure uploadprogress && \ - docker-php-ext-install uploadprogress && \ - + mkdir -p /usr/src/php/ext/uploadprogress; \ + wget -qO- ${EXT_UPLOADPROGRESS_URL} | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress; \ + docker-php-ext-configure uploadprogress; \ + docker-php-ext-install uploadprogress; \ + \ # AST - mkdir -p /usr/src/php/ext/ast && \ - wget -qO- ${EXT_AST_URL} | tar xz --strip-components=1 -C /usr/src/php/ext/ast && \ - docker-php-ext-configure ast && \ - docker-php-ext-install ast && \ - + mkdir -p /usr/src/php/ext/ast; \ + wget -qO- ${EXT_AST_URL} | tar xz --strip-components=1 -C /usr/src/php/ext/ast; \ + docker-php-ext-configure ast; \ + docker-php-ext-install ast; \ + \ # Install composer - wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - + wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ + \ # Plugin for parallel install - su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER} && \ - + su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER}; \ + \ # Install Walter - wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ - mv /tmp/walter_linux_amd64/walter /usr/local/bin && \ - + wget -qO- ${WALTER_URL} | tar xz -C /tmp/; \ + mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ + \ # Add composer bins to $PATH - su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile && \ - + su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ + \ # Configure sudoers - { \ - echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ - echo -n '/usr/sbin/sshd, ' ; \ - echo '/usr/sbin/crond' ; \ - } | tee /etc/sudoers.d/www-data && \ - + if [[ -n "${PHP_DEV}" ]]; then \ + echo 'www-data ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/www-data; \ + else \ + { \ + echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ + echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ + echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ + echo -n '/usr/sbin/sshd, ' ; \ + echo '/usr/sbin/crond' ; \ + } | tee /etc/sudoers.d/www-data; \ + fi; \ + \ # Configure ldap - echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf && \ - + echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ + \ # We run php-fpm as non root - sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf* && \ - + sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf*; \ + \ # Create required directories and fix permissions - mkdir -p ${APP_ROOT} && \ - su-exec www-data mkdir /home/www-data/.ssh && \ - - touch /etc/ssh/sshd_config && \ - chown www-data: /etc/ssh/sshd_config && \ - - rm /etc/crontabs/root && \ - touch /etc/crontabs/www-data && \ - chown root:www-data /etc/crontabs/www-data && \ - chmod 660 /etc/crontabs/www-data && \ - + mkdir -p ${APP_ROOT}; \ + su-exec www-data mkdir /home/www-data/.ssh; \ + \ + touch /etc/ssh/sshd_config; \ + chown www-data: /etc/ssh/sshd_config; \ + \ + rm /etc/crontabs/root; \ + touch /etc/crontabs/www-data; \ + chown root:www-data /etc/crontabs/www-data; \ + chmod 660 /etc/crontabs/www-data; \ + \ chown -R www-data:www-data \ /var/www \ "${PHP_INI_DIR}/conf.d" \ /usr/local/etc/php-fpm.d/ \ - /home/www-data/.profile && \ - + /home/www-data/.profile; \ + \ # Cleanup - su-exec www-data composer clear-cache && \ - docker-php-source delete && \ - apk del .build-deps && \ - pecl clear-cache && \ - + su-exec www-data composer clear-cache; \ + docker-php-source delete; \ + apk del .build-deps; \ + pecl clear-cache; \ + \ rm -rf \ /usr/src/php/ext/ast \ /usr/src/php/ext/uploadprogress \ @@ -271,7 +275,11 @@ RUN set -xe && \ /usr/lib/php/build \ /tmp/* \ /root/.composer \ - /var/cache/apk/* + /var/cache/apk/*; \ + \ + if [[ -z "${PHP_DEV}" ]]; then \ + rm -rf /usr/src/php.tar.xz; \ + fi; USER www-data diff --git a/7/Makefile b/7/Makefile index 32cd2885..95be70c5 100644 --- a/7/Makefile +++ b/7/Makefile @@ -9,15 +9,15 @@ FROM_TAG = $(PHP_VER) ifeq ($(TAG),) PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) - ifeq ($(PHP_DEBUG),) + ifeq ($(PHP_DEV),) TAG ?= $(PHP_VER_MINOR) else - TAG ?= $(PHP_VER_MINOR)-debug + TAG ?= $(PHP_VER_MINOR)-dev endif endif -ifneq ($(PHP_DEBUG),) - NAME := $(NAME)-debug +ifneq ($(PHP_DEV),) + NAME := $(NAME)-dev FROM_TAG := $(FROM_TAG)-debug endif @@ -32,7 +32,7 @@ endif default: build build: - docker build -t $(REPO):$(TAG) --build-arg FROM_TAG=$(FROM_TAG) --build-arg PHP_DEBUG=$(PHP_DEBUG) ./ + docker build -t $(REPO):$(TAG) --build-arg FROM_TAG=$(FROM_TAG) --build-arg PHP_DEV=$(PHP_DEV) ./ test: IMAGE=$(REPO):$(TAG) ./test.sh diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 0050d6e5..ad891a18 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -86,7 +86,7 @@ process_templates() { exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - if [[ -z "${PHP_DEBUG}" ]]; then + if [[ -z "${PHP_DEV}" ]]; then exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" fi diff --git a/7/test/tests.sh b/7/test/tests.sh index f473fa3a..5e45f747 100755 --- a/7/test/tests.sh +++ b/7/test/tests.sh @@ -12,7 +12,7 @@ echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. cp ~/php_modules/"${PHP_VERSION:0:3}" ~/expected_modules -if [[ -n "${PHP_DEBUG}" ]]; then +if [[ -n "${PHP_DEV}" ]]; then sed -i '/blackfire/d' ~/expected_modules fi diff --git a/README.md b/README.md index 19d7269e..8c7cabce 100644 --- a/README.md +++ b/README.md @@ -32,15 +32,13 @@ Supported tags and respective `Dockerfile` links: * `7.0` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) * `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -* `7.2-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `7.2-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.1-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.0-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) For better reliability we additionally release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to git tags. We **strongly recommend** using images only with stability tags. -> Images with -debug tag run php compiled with --enable-debug flag - > The 5.3 version is no longer supported by PHP team, we highly encourage switching to 5.6 ## Environment Variables From dc48185f8fa0e1f885c664a44e345ec8343367f5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 4 Dec 2017 15:55:04 +0700 Subject: [PATCH 028/559] Update build images tags to -dev --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index ff13cf71..d1736e18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,10 +16,10 @@ env: - TAG=7.0 PHP_VER=7.0.26 - TAG=5.6 PHP_VER=5.6.32 - TAG=5.3 PHP_VER=5.3.29 - - TAG=7.2-debug PHP_VER=7.2.0 PHP_DEV=1 - - TAG=7.1-debug PHP_VER=7.1.12 PHP_DEV=1 - - TAG=7.0-debug PHP_VER=7.0.26 PHP_DEV=1 - - TAG=5.6-debug PHP_VER=5.6.32 PHP_DEV=1 + - TAG=7.2-dev PHP_VER=7.2.0 PHP_DEV=1 + - TAG=7.1-dev PHP_VER=7.1.12 PHP_DEV=1 + - TAG=7.0-dev PHP_VER=7.0.26 PHP_DEV=1 + - TAG=5.6-dev PHP_VER=5.6.32 PHP_DEV=1 install: - sudo apt-get update From 5d01fa869898affdff9808658ef4860c470742fd Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 4 Dec 2017 15:59:00 +0700 Subject: [PATCH 029/559] Update code style --- 5.3/Dockerfile | 116 ++++++++++++++++++++++++------------------------- 5.6/Dockerfile | 6 +-- 7/Dockerfile | 8 ++-- README.md | 2 +- 4 files changed, 66 insertions(+), 66 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 40555e12..71d0bcaf 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -175,7 +175,7 @@ RUN set -ex \ ENV SSHD_PERMIT_USER_ENV="yes" \ RABBITMQ_C_VER="0.8.0" \ WALTER_VER="1.3.0" \ - + \ # Imagick missing because of bug in imagemagick library. EXT_AMQP_VER="1.8.0" \ EXT_APCU_VER="4.0.11" \ @@ -189,12 +189,12 @@ ENV SSHD_PERMIT_USER_ENV="yes" \ ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ RABBITMQ_C_URL="https://github.com/alanxz/rabbitmq-c/releases/download/v${RABBITMQ_C_VER}/rabbitmq-c-${RABBITMQ_C_VER}.tar.gz" \ - + \ APP_ROOT="/var/www/html" \ PATH="/home/www-data/.composer/vendor/bin:${PATH}" -RUN set -xe && \ - +RUN set -xe; \ + \ apk add --update --no-cache --virtual .php-rundeps \ bzip2 \ c-client \ @@ -226,8 +226,8 @@ RUN set -xe && \ sudo \ tig \ tmux \ - yaml && \ - + yaml; \ + \ apk add --update --no-cache --virtual .build-deps \ autoconf \ cmake \ @@ -247,10 +247,10 @@ RUN set -xe && \ openldap-dev \ pcre-dev \ postgresql-dev \ - yaml-dev && \ - - docker-php-source extract && \ - + yaml-dev; \ + \ + docker-php-source extract; \ + \ docker-php-ext-install \ bcmath \ bz2 \ @@ -271,30 +271,30 @@ RUN set -xe && \ sockets \ xmlrpc \ xsl \ - zip && \ - + zip; \ + \ # GD docker-php-ext-configure gd \ --with-gd \ --with-freetype-dir=/usr/include/ \ --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/ && \ - NPROC=$(getconf _NPROCESSORS_ONLN) && \ - docker-php-ext-install -j${NPROC} gd && \ - + --with-jpeg-dir=/usr/include/; \ + NPROC=$(getconf _NPROCESSORS_ONLN); \ + docker-php-ext-install -j${NPROC} gd; \ + \ # RabbitMQ C client - wget -qO- ${RABBITMQ_C_URL} | tar xz -C /tmp/ && \ - cd /tmp/rabbitmq-c-${RABBITMQ_C_VER} && \ - mkdir -p build && cd build && \ + wget -qO- ${RABBITMQ_C_URL} | tar xz -C /tmp/; \ + cd /tmp/rabbitmq-c-${RABBITMQ_C_VER}; \ + mkdir -p build && cd build; \ cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_C_FLAGS="${CFLAGS}" && \ - cmake --build . --target install && \ - + -DCMAKE_C_FLAGS="${CFLAGS}"; \ + cmake --build . --target install; \ + \ # PECL extensions - pecl config-set php_ini "${PHP_INI_DIR}/php.ini" && \ - + pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ + \ pecl install \ amqp-${EXT_AMQP_VER} \ apcu-${EXT_APCU_VER} \ @@ -304,8 +304,8 @@ RUN set -xe && \ uploadprogress-${EXT_UPLOADPROGRESS_VER} \ xdebug-${EXT_XDEBUG_VER} \ yaml-${EXT_YAML_VER} \ - ZendOpcache-${EXT_OPCACHE_VER} && \ - + ZendOpcache-${EXT_OPCACHE_VER}; \ + \ docker-php-ext-enable \ amqp \ apcu \ @@ -315,18 +315,18 @@ RUN set -xe && \ opcache \ uploadprogress \ xdebug \ - yaml && \ - + yaml; \ + \ # Install composer - wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - + wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ + \ # Install Walter tool - wget -qO- ${WALTER_URL} | tar xz -C /tmp/ && \ - mv /tmp/walter_linux_amd64/walter /usr/local/bin && \ - + wget -qO- ${WALTER_URL} | tar xz -C /tmp/; \ + mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ + \ # Add composer bins to $PATH - su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile && \ - + su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ + \ # Configure sudoers { \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ @@ -334,33 +334,33 @@ RUN set -xe && \ echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo "/usr/sbin/crond" ; \ - } | tee /etc/sudoers.d/www-data && \ - + } | tee /etc/sudoers.d/www-data; \ + \ # Configure ldap - echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf && \ - + echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ + \ # We run php-fpm as non root - sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf* && \ - + sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf*; \ + \ # Create required directories and fix permissions - mkdir -p ${APP_ROOT} && \ - su-exec www-data mkdir /home/www-data/.ssh && \ - - touch /etc/ssh/sshd_config && \ - chown www-data: /etc/ssh/sshd_config && \ - - rm /etc/crontabs/root && \ - touch /etc/crontabs/www-data && \ - chown root:www-data /etc/crontabs/www-data && \ - chmod 660 /etc/crontabs/www-data && \ - - chown -R www-data:www-data /var/www "${PHP_INI_DIR}/conf.d" /usr/local/etc/php-fpm.d/ /home/www-data/.profile && \ - + mkdir -p ${APP_ROOT}; \ + su-exec www-data mkdir /home/www-data/.ssh; \ + \ + touch /etc/ssh/sshd_config; \ + chown www-data: /etc/ssh/sshd_config; \ + \ + rm /etc/crontabs/root; \ + touch /etc/crontabs/www-data; \ + chown root:www-data /etc/crontabs/www-data; \ + chmod 660 /etc/crontabs/www-data; \ + \ + chown -R www-data:www-data /var/www "${PHP_INI_DIR}/conf.d" /usr/local/etc/php-fpm.d/ /home/www-data/.profile; \ + \ # Cleanup - docker-php-source delete && \ - apk del .build-deps && \ - pecl clear-cache && \ - + docker-php-source delete; \ + apk del .build-deps; \ + pecl clear-cache; \ + \ rm -rf \ /usr/include/php \ /usr/lib/php/build \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index b98d1167..a2f17962 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -8,7 +8,7 @@ ENV PHP_DEV="${PHP_DEV}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ - + \ EXT_AMQP_VER="1.9.1" \ EXT_APCU_VER="4.0.11" \ EXT_GEOIP_VER="1.1.1" \ @@ -20,7 +20,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_UPLOADPROGRESS_VER="1.0.3.1" \ EXT_XDEBUG_VER="2.5.5" \ EXT_YAML_VER="1.3.1" \ - + \ C_CLIENT_VER="2007f-r6" \ FREETYPE_VER="2.7.1-r1" \ GEOIP_VER="1.6.10-r0" \ @@ -41,7 +41,7 @@ ENV PHP_DEV="${PHP_DEV}" \ ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ BLACKFIRE_URL="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64" \ - + \ APP_ROOT="/var/www/html" \ PATH="/home/www-data/.composer/vendor/bin:${PATH}" diff --git a/7/Dockerfile b/7/Dockerfile index 09e5bc9e..69eaac69 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -8,7 +8,7 @@ ENV PHP_DEV="${PHP_DEV}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ - + \ EXT_AMQP_VER="1.9.1" \ EXT_APCU_VER="5.1.8" \ EXT_AST_VER="0.1.6" \ @@ -20,9 +20,9 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_REDIS_VER="3.1.4" \ EXT_XDEBUG_VER="2.5.5" \ EXT_YAML_VER="2.0.2" \ - + \ PHP72_EXT_MCRYPT_VER="1.0.1" \ - + \ C_CLIENT_VER="2007f-r6" \ FREETYPE_VER="2.7.1-r1" \ GEOIP_VER="1.6.10-r0" \ @@ -45,7 +45,7 @@ ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz EXT_UPLOADPROGRESS_URL="https://github.com/wodby/pecl-php-uploadprogress/archive/latest.tar.gz" \ WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ BLACKFIRE_URL="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64" \ - + \ APP_ROOT="/var/www/html" \ PATH="/home/www-data/.composer/vendor/bin:${PATH}" diff --git a/README.md b/README.md index 8c7cabce..06490c6d 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,11 @@ Supported tags and respective `Dockerfile` links: * `7.1` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) -* `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) * `7.2-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.1-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) For better reliability we additionally release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to git tags. We **strongly recommend** using images only with stability tags. From ef99827a64f6b348080c99ab1452abec6e7de8ff Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 4 Dec 2017 16:36:11 +0700 Subject: [PATCH 030/559] Replace after_success to deploy stage --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d1736e18..a5fc18be 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ script: - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - travis_retry make && make test -after_success: | +deploy: | if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" From 9fef354a4561673aa34624543f6f8458fa7ebb4d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 4 Dec 2017 16:40:15 +0700 Subject: [PATCH 031/559] Rollback build changes --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a5fc18be..d1736e18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ script: - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - travis_retry make && make test -deploy: | +after_success: | if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" From 5f1376629d33ebe6de7a8129d8dda185822523d8 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 5 Dec 2017 13:20:01 +0700 Subject: [PATCH 032/559] Fix env vars backward compatibility --- 5.3/docker-entrypoint.sh | 7 ++++++- 5.6/docker-entrypoint.sh | 7 ++++++- 7/docker-entrypoint.sh | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 7f968607..187a694d 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -8,8 +8,10 @@ fi SSH_DIR=/home/www-data/.ssh +# Backwards compatibility for old env vars names. _backwards_compatibility() { declare -A vars + # vars[DEPRECATED]="ACTUAL" vars[PHP_APCU_ENABLE]="PHP_APCU_ENABLED" vars[PHP_FPM_SLOWLOG_TIMEOUT]="PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" vars[PHP_FPM_MAX_CHILDREN]="PHP_FPM_PM_MAX_CHILDREN" @@ -20,7 +22,10 @@ _backwards_compatibility() { vars[PHP_FPM_STATUS_PATH]="PHP_FPM_PM_STATUS_PATH" for i in "${!vars[@]}"; do - export "$i"="${!vars[$i]}" + # Use value from old var if it's not empty and the new is. + if [[ -n "${!i}" && -z "${!vars[$i]}" ]]; then + export "${vars[$i]}"="${!i}" + fi done } diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index fc0e2569..24164b60 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -8,8 +8,10 @@ fi SSH_DIR=/home/www-data/.ssh +# Backwards compatibility for old env vars names. _backwards_compatibility() { declare -A vars + # vars[DEPRECATED]="ACTUAL" vars[PHP_APCU_ENABLE]="PHP_APCU_ENABLED" vars[PHP_FPM_SLOWLOG_TIMEOUT]="PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" vars[PHP_FPM_MAX_CHILDREN]="PHP_FPM_PM_MAX_CHILDREN" @@ -20,7 +22,10 @@ _backwards_compatibility() { vars[PHP_FPM_STATUS_PATH]="PHP_FPM_PM_STATUS_PATH" for i in "${!vars[@]}"; do - export "$i"="${!vars[$i]}" + # Use value from old var if it's not empty and the new is. + if [[ -n "${!i}" && -z "${!vars[$i]}" ]]; then + export "${vars[$i]}"="${!i}" + fi done } diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index ad891a18..969effa8 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -9,8 +9,10 @@ fi PHP_VER_MINOR="${PHP_VERSION:0:3}" SSH_DIR=/home/www-data/.ssh +# Backwards compatibility for old env vars names. _backwards_compatibility() { declare -A vars + # vars[DEPRECATED]="ACTUAL" vars[PHP_APCU_ENABLE]="PHP_APCU_ENABLED" vars[PHP_FPM_SLOWLOG_TIMEOUT]="PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" vars[PHP_FPM_MAX_CHILDREN]="PHP_FPM_PM_MAX_CHILDREN" @@ -21,7 +23,10 @@ _backwards_compatibility() { vars[PHP_FPM_STATUS_PATH]="PHP_FPM_PM_STATUS_PATH" for i in "${!vars[@]}"; do - export "$i"="${!vars[$i]}" + # Use value from old var if it's not empty and the new is. + if [[ -n "${!i}" && -z "${!vars[$i]}" ]]; then + export "${vars[$i]}"="${!i}" + fi done } From c1ac17892b55e5a26ef10c7f48452d1a6555bec9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 12 Dec 2017 16:41:04 +0700 Subject: [PATCH 033/559] Add newrelic extension --- 5.6/Dockerfile | 11 + 5.6/docker-entrypoint.sh | 1 + 5.6/templates/docker-php-ext-newrelic.ini.tpl | 5 + 5.6/test/php_modules | 1 + 7/Dockerfile | 11 + 7/docker-entrypoint.sh | 2 + 7/templates/docker-php-ext-newrelic.ini.tpl | 5 + 7/test/php_modules/7.0 | 1 + 7/test/php_modules/7.1 | 1 + README.md | 365 +++++++++--------- 10 files changed, 223 insertions(+), 180 deletions(-) create mode 100644 5.6/templates/docker-php-ext-newrelic.ini.tpl create mode 100644 7/templates/docker-php-ext-newrelic.ini.tpl diff --git a/5.6/Dockerfile b/5.6/Dockerfile index a2f17962..2644fc83 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -151,6 +151,17 @@ RUN set -xe; \ # PECL extensions pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ \ + # NewRelic extension and agent. + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz \ + http://download.newrelic.com/php_agent/release/ >/dev/null 2>&1; \ + tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ + export NR_INSTALL_SILENT=true; \ + export NR_INSTALL_USE_CP_NOT_LN=true; \ + bash /tmp/newrelic/newrelic-install install; \ + rm /usr/local/etc/php/conf.d/newrelic.ini; \ + mkdir -p /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ + \ pecl install \ amqp-${EXT_AMQP_VER} \ apcu-${EXT_APCU_VER} \ diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 24164b60..eb637f87 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -87,6 +87,7 @@ process_templates() { exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tpl b/5.6/templates/docker-php-ext-newrelic.ini.tpl new file mode 100644 index 00000000..0487cea9 --- /dev/null +++ b/5.6/templates/docker-php-ext-newrelic.ini.tpl @@ -0,0 +1,5 @@ +[newrelic] +extension = newrelic.so +newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} +newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" +newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" \ No newline at end of file diff --git a/5.6/test/php_modules b/5.6/test/php_modules index 4845d331..0e18cdb4 100644 --- a/5.6/test/php_modules +++ b/5.6/test/php_modules @@ -33,6 +33,7 @@ mongodb mysql mysqli mysqlnd +newrelic OAuth openssl pcntl diff --git a/7/Dockerfile b/7/Dockerfile index 69eaac69..74cc3940 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -170,6 +170,17 @@ RUN set -xe; \ docker-php-ext-install mcrypt; \ pecl install xdebug-${EXT_XDEBUG_VER}; \ docker-php-ext-enable xdebug; \ + \ + # NewRelic extension and agent. + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz \ + http://download.newrelic.com/php_agent/release/ >/dev/null 2>&1; \ + tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ + export NR_INSTALL_SILENT=true; \ + export NR_INSTALL_USE_CP_NOT_LN=true; \ + bash /tmp/newrelic/newrelic-install install; \ + rm /usr/local/etc/php/conf.d/newrelic.ini; \ + mkdir -p /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ fi; \ \ pecl install \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 969effa8..3c3a8b45 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -96,7 +96,9 @@ process_templates() { fi if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then + exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" fi } diff --git a/7/templates/docker-php-ext-newrelic.ini.tpl b/7/templates/docker-php-ext-newrelic.ini.tpl new file mode 100644 index 00000000..0487cea9 --- /dev/null +++ b/7/templates/docker-php-ext-newrelic.ini.tpl @@ -0,0 +1,5 @@ +[newrelic] +extension = newrelic.so +newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} +newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" +newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" \ No newline at end of file diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index 31d576e9..850cdf3f 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -31,6 +31,7 @@ memcached mongodb mysqli mysqlnd +newrelic OAuth openssl pcntl diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index 31d576e9..850cdf3f 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -31,6 +31,7 @@ memcached mongodb mysqli mysqlnd +newrelic OAuth openssl pcntl diff --git a/README.md b/README.md index 06490c6d..458dfda1 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ ## Docker Images * All images are based on Alpine Linux -* Base image: [wodby/alpine](https://github.com/wodby/alpine) for 5.3, [wodby/base-php](https://github.com/wodby/base-php) for the rest +* Base image: [wodby/base-php](https://github.com/wodby/base-php) ([wodby/alpine](https://github.com/wodby/alpine) for 5.3) * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) @@ -39,7 +39,7 @@ Supported tags and respective `Dockerfile` links: For better reliability we additionally release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to git tags. We **strongly recommend** using images only with stability tags. -> The 5.3 version is no longer supported by PHP team, we highly encourage switching to 5.6 +> The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 ## Environment Variables @@ -53,111 +53,114 @@ For better reliability we additionally release images with stability tags (`wodb [5.3 opcache]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-opcache.ini.tpl [7.x apcu]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-apcu.ini.tpl -[PHP_ALWAYS_POPULATE_RAW_POST_DATA]: http://php.net/always-populate-raw-post-data -[PHP_APCU_ENABLED]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enabled -[PHP_ASSERT_ACTIVE]: http://php.net/assert.active -[PHP_DATE_TIMEZONE]: http://php.net/date.timezone -[PHP_DISPLAY_ERRORS]: http://php.net/display-errors -[PHP_DISPLAY_STARTUP_ERRORS]: http://php.net/display-startup-errors -[PHP_ERROR_REPORTING]: http://php.net/error-reporting -[PHP_EXPOSE]: http://php.net/expose-php -[PHP_GEOIP_CUSTOM_DIR]: http://php.net/manual/en/geoip.configuration.php#ini.geoip.custom-directory -[PHP_LOG_ERRORS_MAX_LEN]: http://php.net/log-errors-max-len -[PHP_MAX_EXECUTION_TIME]: http://php.net/max-execution-time -[PHP_MAX_FILE_UPLOADS]: http://php.net/manual/en/ini.core.php#ini.max-file-uploads -[PHP_MAX_INPUT_TIME]: http://php.net/max-input-time -[PHP_MAX_INPUT_VARS]: http://php.net/max-input-vars -[PHP_MBSTRING_HTTP_INPUT]: http://php.net/mbstring.http-input -[PHP_MBSTRING_HTTP_OUTPUT]: http://php.net/mbstring.http-output -[PHP_MBSTRING_ENCODING_TRANSLATION]: http://php.net/mbstring.encoding-translation -[PHP_MEMORY_LIMIT]: http://php.net/memory-limit -[PHP_MYSQLI_CACHE_SIZE]: http://php.net/mysqli.cache_size -[PHP_OPCACHE_ENABLE]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable -[PHP_OUTPUT_BUFFERING]: http://php.net/output-buffering -[PHP_PDO_MYSQL_CACHE_SIZE]: http://php.net/pdo_mysql.cache_size -[PHP_ZEND_ASSERTIONS]: http://php.net/zend.assertions -[PHP_XDEBUG_DEFAULT_ENABLE]: https://xdebug.org/docs/all_settings -[PHP_UPLOAD_MAX_FILESIZE]: http://php.net/upload-max-filesize -[PHP_TRACK_ERRORS]: http://php.net/track-errors -[PHP_SESSION_AUTO_START]: http://php.net/session.auto-start -[PHP_SESSION_BUG_COMPAT_42]: http://php.net/session.bug-compat-42 -[PHP_SESSION_BUG_COMPAT_WARN]: http://php.net/session.bug-compat-warn -[PHP_SENDMAIL_PATH]: http://php.net/sendmail-path -[PHP_REALPATH_CACHE_SIZE]: http://php.net/realpath-cache-size -[PHP_REALPATH_CACHE_TTL]: http://php.net/realpath-cache-ttl -[PHP_POST_MAX_SIZE]: http://php.net/post-max-size -[PHP_FPM_CLEAR_ENV]: http://php.net/manual/en/install.fpm.configuration.php#clear-env -[PHP_FPM_LOG_LEVEL]: http://php.net/manual/en/install.fpm.configuration.php#log-level -[PHP_FPM_PM]: http://php.net/manual/en/install.fpm.configuration.php#pm -[PHP_FPM_PM_MAX_CHILDREN]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-chidlren -[PHP_FPM_PM_MAX_REQUESTS]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests -[PHP_FPM_PM_MAX_SPARE_SERVERS]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-spare-servers -[PHP_FPM_PM_MIN_SPARE_SERVERS]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers -[PHP_FPM_PM_STATUS_PATH]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path -[PHP_FPM_REQUEST_SLOWLOG_TIMEOUT]: http://php.net/manual/en/install.fpm.configuration.php#request-slowlog-timeout -[PHP_FPM_START_SERVERS]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers -[PHP_FPM_USER]: http://php.net/manual/en/install.fpm.configuration.php#user -[PHP_FPM_GROUP]: http://php.net/manual/en/install.fpm.configuration.php#group +[`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data +[`PHP_APCU_ENABLED`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enabled +[`PHP_ASSERT_ACTIVE`]: http://php.net/assert.active +[`PHP_DATE_TIMEZONE`]: http://php.net/date.timezone +[`PHP_DISPLAY_ERRORS`]: http://php.net/display-errors +[`PHP_DISPLAY_STARTUP_ERRORS`]: http://php.net/display-startup-errors +[`PHP_ERROR_REPORTING`]: http://php.net/error-reporting +[`PHP_EXPOSE`]: http://php.net/expose-php +[`PHP_GEOIP_CUSTOM_DIR`]: http://php.net/manual/en/geoip.configuration.php#ini.geoip.custom-directory +[`PHP_LOG_ERRORS_MAX_LEN`]: http://php.net/log-errors-max-len +[`PHP_MAX_EXECUTION_TIME`]: http://php.net/max-execution-time +[`PHP_MAX_FILE_UPLOADS`]: http://php.net/manual/en/ini.core.php#ini.max-file-uploads +[`PHP_MAX_INPUT_TIME`]: http://php.net/max-input-time +[`PHP_MAX_INPUT_VARS`]: http://php.net/max-input-vars +[`PHP_MBSTRING_HTTP_INPUT`]: http://php.net/mbstring.http-input +[`PHP_MBSTRING_HTTP_OUTPUT`]: http://php.net/mbstring.http-output +[`PHP_MBSTRING_ENCODING_TRANSLATION`]: http://php.net/mbstring.encoding-translation +[`PHP_MEMORY_LIMIT`]: http://php.net/memory-limit +[`PHP_MYSQLI_CACHE_SIZE`]: http://php.net/mysqli.cache_size +[`PHP_OPCACHE_ENABLE`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable +[`PHP_OUTPUT_BUFFERING`]: http://php.net/output-buffering +[`PHP_PDO_MYSQL_CACHE_SIZE`]: http://php.net/pdo_mysql.cache_size +[`PHP_ZEND_ASSERTIONS`]: http://php.net/zend.assertions +[`PHP_XDEBUG_DEFAULT_ENABLE`]: https://xdebug.org/docs/all_settings +[`PHP_UPLOAD_MAX_FILESIZE`]: http://php.net/upload-max-filesize +[`PHP_TRACK_ERRORS`]: http://php.net/track-errors +[`PHP_SESSION_AUTO_START`]: http://php.net/session.auto-start +[`PHP_SESSION_BUG_COMPAT_42`]: http://php.net/session.bug-compat-42 +[`PHP_SESSION_BUG_COMPAT_WARN`]: http://php.net/session.bug-compat-warn +[`PHP_SENDMAIL_PATH`]: http://php.net/sendmail-path +[`PHP_REALPATH_CACHE_SIZE`]: http://php.net/realpath-cache-size +[`PHP_REALPATH_CACHE_TTL`]: http://php.net/realpath-cache-ttl +[`PHP_POST_MAX_SIZE`]: http://php.net/post-max-size +[`PHP_FPM_CLEAR_ENV`]: http://php.net/manual/en/install.fpm.configuration.php#clear-env +[`PHP_FPM_LOG_LEVEL`]: http://php.net/manual/en/install.fpm.configuration.php#log-level +[`PHP_FPM_PM`]: http://php.net/manual/en/install.fpm.configuration.php#pm +[`PHP_FPM_PM_MAX_CHILDREN`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-chidlren +[`PHP_FPM_PM_MAX_REQUESTS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests +[`PHP_FPM_PM_MAX_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-spare-servers +[`PHP_FPM_PM_MIN_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers +[`PHP_FPM_PM_STATUS_PATH`]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path +[`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`]: http://php.net/manual/en/install.fpm.configuration.php#request-slowlog-timeout +[`PHP_FPM_START_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers +[`PHP_FPM_USER`]: http://php.net/manual/en/install.fpm.configuration.php#user +[`PHP_FPM_GROUP`]: http://php.net/manual/en/install.fpm.configuration.php#group The default configuration is not recommended to be used for production environment: -| Variable | 7.2 | 7.1 | 7.0 | 5.6 | 5.3 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | ----------- | -| [PHP_ALWAYS_POPULATE_RAW_POST_DATA] | - | - | - | 0 | 0 | -| [PHP_APCU_ENABLED] | 1 | 1 | 1 | - | - | -| _SEE ALL APCU EXT OPTIONS_ | [7.x apcu] | [7.x apcu] | [7.x apcu] | - | - | -| [PHP_ASSERT_ACTIVE] | On | On | On | On | On | -| PHP_BLACKFIRE | | | | | - | -| PHP_BLACKFIRE_AGENT_HOST | blackfire | blackfire | blackfire | blackfire | - | -| PHP_BLACKFIRE_AGENT_PORT | 8707 | 8707 | 8707 | 8707 | - | -| PHP_CLI_MEMORY_LIMIT | -1 | -1 | -1 | -1 | -1 | -| [PHP_DATE_TIMEZONE] | UTC | UTC | UTC | UTC | UTC | -| [PHP_DISPLAY_ERRORS] | On | On | On | On | On | -| [PHP_DISPLAY_STARTUP_ERRORS] | On | On | On | On | On | -| [PHP_ERROR_REPORTING] | E_ALL | E_ALL | E_ALL | E_ALL | E_ALL | -| [PHP_EXPOSE] | Off | Off | Off | Off | Off | -| [PHP_FPM_CLEAR_ENV] | yes | yes | yes | yes | - | -| PHP_FPM_ENV_VARS | | | | | | -| [PHP_FPM_LOG_LEVEL] | notice | notice | notice | notice | notice | -| [PHP_FPM_PM] | dynamic | dynamic | dynamic | dynamic | dynamic | -| [PHP_FPM_PM_MAX_CHILDREN] | 8 | 8 | 8 | 8 | 8 | -| [PHP_FPM_PM_MAX_REQUESTS] | 500 | 500 | 500 | 500 | 500 | -| [PHP_FPM_PM_MAX_SPARE_SERVERS] | 3 | 3 | 3 | 3 | 3 | -| [PHP_FPM_PM_MIN_SPARE_SERVERS] | 1 | 1 | 1 | 1 | 1 | -| [PHP_FPM_PM_STATUS_PATH] | | | | | | -| [PHP_FPM_REQUEST_SLOWLOG_TIMEOUT] | | | | | | -| [PHP_FPM_START_SERVERS] | 2 | 2 | 2 | 2 | 2 | -| [PHP_FPM_USER] | | | | | | -| [PHP_FPM_GROUP] | | | | | | -| [PHP_GEOIP_CUSTOM_DIR] | | | | | - | -| [PHP_LOG_ERRORS_MAX_LEN] | 1024 | 1024 | 1024 | 1024 | 1024 | -| [PHP_MAX_EXECUTION_TIME] | 120 | 120 | 120 | 120 | 120 | -| [PHP_MAX_FILE_UPLOADS] | 20 | 20 | 20 | 20 | 20 | -| [PHP_MAX_INPUT_TIME] | 60 | 60 | 60 | 60 | 60 | -| [PHP_MAX_INPUT_VARS] | 2000 | 2000 | 2000 | 2000 | 2000 | -| [PHP_MBSTRING_HTTP_INPUT] | - | - | - | | | -| [PHP_MBSTRING_HTTP_OUTPUT] | - | - | - | | | -| [PHP_MBSTRING_ENCODING_TRANSLATION] | - | - | - | Off | Off | -| [PHP_MEMORY_LIMIT] | 512M | 512M | 512M | 512M | 512M | -| PHP_MYSQL_CACHE_SIZE | - | - | - | 2000 | 2000 | -| [PHP_MYSQLI_CACHE_SIZE] | 2000 | 2000 | 2000 | 2000 | 2000 | -| [PHP_OPCACHE_ENABLE] | 1 | 1 | 1 | 1 | 1 | -| _SEE ALL OPCACHE EXT OPTIONS_ | [7.x opcache] | [7.x opcache] | [7.x opcache] | [5.6 opcache] | [5.3 opcache] | -| [PHP_OUTPUT_BUFFERING] | 4096 | 4096 | 4096 | 4096 | 4096 | -| [PHP_PDO_MYSQL_CACHE_SIZE] | 2000 | 2000 | 2000 | 2000 | 2000 | -| [PHP_POST_MAX_SIZE] | 32M | 32M | 32M | 32M | 32M | -| [PHP_REALPATH_CACHE_SIZE] | 4096k | 4096k | 4096k | 16k | 16k | -| [PHP_REALPATH_CACHE_TTL] | 120 | 120 | 120 | 120 | 120 | -| [PHP_SENDMAIL_PATH] | /bin/true | /bin/true | /bin/true | /bin/true | /bin/true | -| [PHP_SESSION_AUTO_START] | 0 | 0 | 0 | 0 | 0 | -| [PHP_SESSION_BUG_COMPAT_42] | - | - | - | - | On | -| [PHP_SESSION_BUG_COMPAT_WARN] | - | - | - | - | On | -| [PHP_TRACK_ERRORS] | - | On | On | On | On | -| [PHP_UPLOAD_MAX_FILESIZE] | 32M | 32M | 32M | 32M | 32M | -| PHP_XDEBUG | - | | | | | -| [PHP_XDEBUG_DEFAULT_ENABLE] | - | 0 | 0 | 0 | 0 | -| _SEE ALL XDEBUG EXT OPTIONS_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | [5.3 xdebug] | -| [PHP_ZEND_ASSERTIONS] | 1 | 1 | 1 | 1 | - | +| Variable | 7.2 | 7.1 | 7.0 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | 0 | +| [`PHP_APCU_ENABLED`] | 1 | 1 | 1 | - | +| _SEE ALL APCU EXT OPTIONS_ | [7.x apcu] | [7.x apcu] | [7.x apcu] | - | +| [`PHP_ASSERT_ACTIVE`] | On | On | On | On | +| `PHP_BLACKFIRE` | | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | blackfire | blackfire | blackfire | blackfire | +| `PHP_BLACKFIRE_AGENT_PORT` | 8707 | 8707 | 8707 | 8707 | +| `PHP_CLI_MEMORY_LIMIT` | -1 | -1 | -1 | -1 | +| [`PHP_DATE_TIMEZONE`] | UTC | UTC | UTC | UTC | +| [`PHP_DISPLAY_ERRORS`] | On | On | On | On | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | On | On | On | On | +| [`PHP_ERROR_REPORTING`] | E_ALL | E_ALL | E_ALL | E_ALL | +| [`PHP_EXPOSE`] | Off | Off | Off | Off | +| [`PHP_FPM_CLEAR_ENV`] | yes | yes | yes | yes | +| `PHP_FPM_ENV_VARS` | | | | | +| [`PHP_FPM_LOG_LEVEL`] | notice | notice | notice | notice | +| [`PHP_FPM_PM`] | dynamic | dynamic | dynamic | dynamic | +| [`PHP_FPM_PM_MAX_CHILDREN`] | 8 | 8 | 8 | 8 | +| [`PHP_FPM_PM_MAX_REQUESTS`] | 500 | 500 | 500 | 500 | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | 3 | 3 | 3 | 3 | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | 1 | 1 | 1 | 1 | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | +| [`PHP_FPM_START_SERVERS`] | 2 | 2 | 2 | 2 | +| [`PHP_FPM_USER`] | | | | | +| [`PHP_FPM_GROUP`] | | | | | +| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | +| [`PHP_LOG_ERRORS_MAX_LEN`] | 1024 | 1024 | 1024 | 1024 | +| [`PHP_MAX_EXECUTION_TIME`] | 120 | 120 | 120 | 120 | +| [`PHP_MAX_FILE_UPLOADS`] | 20 | 20 | 20 | 20 | +| [`PHP_MAX_INPUT_TIME`] | 60 | 60 | 60 | 60 | +| [`PHP_MAX_INPUT_VARS`] | 2000 | 2000 | 2000 | 2000 | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | Off | +| [`PHP_MEMORY_LIMIT`] | 512M | 512M | 512M | 512M | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | 2000 | +| [`PHP_MYSQLI_CACHE_SIZE`] | 2000 | 2000 | 2000 | 2000 | +| `PHP_NEWRELIC_ENABLED` | - | false | false | false | +| `PHP_NEWRELIC_LICENSE` | - | | | | +| `PHP_NEWRELIC_APPNAME` | - | My PHP app | My PHP app | My PHP app | +| [`PHP_OPCACHE_ENABLE`] | 1 | 1 | 1 | 1 | +| _SEE ALL OPCACHE EXT OPTIONS_ | [7.x opcache] | [7.x opcache] | [7.x opcache] | [5.6 opcache] | +| [`PHP_OUTPUT_BUFFERING`] | 4096 | 4096 | 4096 | 4096 | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | 2000 | 2000 | 2000 | 2000 | +| [`PHP_POST_MAX_SIZE`] | 32M | 32M | 32M | 32M | +| [`PHP_REALPATH_CACHE_SIZE`] | 4096k | 4096k | 4096k | 16k | +| [`PHP_REALPATH_CACHE_TTL`] | 120 | 120 | 120 | 120 | +| [`PHP_SENDMAIL_PATH`] | /bin/true | /bin/true | /bin/true | /bin/true | +| [`PHP_SESSION_AUTO_START`] | 0 | 0 | 0 | 0 | +| [`PHP_SESSION_BUG_COMPAT_42`] | - | - | - | - | +| [`PHP_SESSION_BUG_COMPAT_WARN`] | - | - | - | - | +| [`PHP_TRACK_ERRORS`] | - | On | On | On | +| [`PHP_UPLOAD_MAX_FILESIZE`] | 32M | 32M | 32M | 32M | +| `PHP_XDEBUG` | - | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | 0 | 0 | 0 | +| _SEE ALL XDEBUG EXT OPTIONS_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | 1 | 1 | 1 | 1 | > "-" - Not available for this version @@ -201,6 +204,7 @@ Deprecated variables still supported but will be removed in future releases [memcached]: http://pecl.php.net/package/memcached [mongo]: http://pecl.php.net/package/mongo [mongodb]: http://pecl.php.net/package/mongodb +[newrelic]: http://download.newrelic.com/php_agent/release [OAuth]: http://pecl.php.net/package/oauth [redis]: http://pecl.php.net/package/redis [uploadprogress]: https://pecl.php.net/package/uploadprogress @@ -212,78 +216,79 @@ Deprecated variables still supported but will be removed in future releases [1.0.1]: https://pecl.php.net/package/mcrypt [blackfire]: https://blackfire.io/dashboard/mine/profiles -| Extension | 7.2 | 7.1 | 7.0 | 5.6 | 5.3 | -| ---------------- | -------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | -| apc | - | - | - | - | | -| [apcu] | 5.1.8 | 5.1.8 | 5.1.8 | 4.0.11 | 4.0.11 | -| [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | - | -| [blackfire] | latest | latest | latest | latest | - | -| bcmath | | | | | | -| bz2 | | | | | | -| calendar | | | | | | -| Core | | | | | | -| ctype | | | | | | -| curl | | | | | | -| date | | | | | | -| dom | | | | | | -| exif | | | | | | -| ereg | - | - | - | | | -| fileinfo | | | | | | -| filter | | | | | | -| ftp | | | | | | -| gd | | | | | | -| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | - | -| hash | | | | | | -| iconv | | | | | | -| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | - | -| imap | | | | | | -| intl | | | | | | -| json | | | | | | -| ldap | | | | | | -| libxml | | | | | | -| mbstring | | | | | | -| mcrypt | [1.0.1] | | | | | -| [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | 2.2.0 | -| [mongo] | - | - | - | - | 1.6.16 | -| [mongodb] | 1.3.2 | 1.3.2 | 1.3.2 | 1.3.2 | - | -| mysql | - | - | - | | | -| mysqli | | | | | | -| mysqlnd | | | | | | -| [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | 1.2.3 | -| openssl | | | | | | -| pcntl | | | | | | -| pcre | | | | | | -| PDO | | | | | | -| pdo_mysql | | | | | | -| pdo_pgsql | | | | | | -| pdo_sqlite | | | | | | -| pgsql | | | | | | -| Phar | | | | | | -| posix | | | | | | -| readline | | | | | | -| [redis] | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | - | -| Reflection | | | | | | -| session | | | | | | -| SimpleXML | | | | | | -| soap | | | | | | -| sockets | | | | | | -| SPL | | | | | | -| SQLite | - | - | - | - | | -| sqlite3 | | | | | | -| standard | | | | | | -| tokenizer | | | | | | -| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | 1.0.3.1 | -| [xdebug] | - | 2.5.5 | 2.5.5 | 2.5.5 | 2.2.7 | -| xml | | | | | | -| xmlreader | | | | | | -| xmlrpc | | | | | | -| xmlwriter | | | | | | -| xsl | | | | | | -| [yaml] | 2.0.2 | 2.0.2 | 2.0.2 | 1.3.1 | 1.3.1 | -| Zend OPcache | | | | | [7.0.5] | -| zip | | | | | | -| zlib | | | | | | +| Extension | 7.2 | 7.1 | 7.0 | 5.6 | +| ---------------- | -------- | -------- | -------- | -------- | +| [amqp] | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | +| apc | - | - | - | - | +| [apcu] | 5.1.8 | 5.1.8 | 5.1.8 | 4.0.11 | +| [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | +| [blackfire] | latest | latest | latest | latest | +| bcmath | | | | | +| bz2 | | | | | +| calendar | | | | | +| Core | | | | | +| ctype | | | | | +| curl | | | | | +| date | | | | | +| dom | | | | | +| exif | | | | | +| ereg | - | - | - | | +| fileinfo | | | | | +| filter | | | | | +| ftp | | | | | +| gd | | | | | +| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | +| hash | | | | | +| iconv | | | | | +| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | +| imap | | | | | +| intl | | | | | +| json | | | | | +| ldap | | | | | +| libxml | | | | | +| mbstring | | | | | +| mcrypt | [1.0.1] | | | | +| [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | +| [mongo] | - | - | - | - | +| [mongodb] | 1.3.2 | 1.3.2 | 1.3.2 | 1.3.2 | +| mysql | - | - | - | | +| mysqli | | | | | +| mysqlnd | | | | | +| [newrelic] | - | latest | latest | latest | +| [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | +| openssl | | | | | +| pcntl | | | | | +| pcre | | | | | +| PDO | | | | | +| pdo_mysql | | | | | +| pdo_pgsql | | | | | +| pdo_sqlite | | | | | +| pgsql | | | | | +| Phar | | | | | +| posix | | | | | +| readline | | | | | +| [redis] | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | +| Reflection | | | | | +| session | | | | | +| SimpleXML | | | | | +| soap | | | | | +| sockets | | | | | +| SPL | | | | | +| SQLite | - | - | - | - | +| sqlite3 | | | | | +| standard | | | | | +| tokenizer | | | | | +| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | +| [xdebug] | - | 2.5.5 | 2.5.5 | 2.5.5 | +| xml | | | | | +| xmlreader | | | | | +| xmlrpc | | | | | +| xmlwriter | | | | | +| xsl | | | | | +| [yaml] | 2.0.2 | 2.0.2 | 2.0.2 | 1.3.1 | +| Zend OPcache | | | | | +| zip | | | | | +| zlib | | | | | Legend: @@ -294,10 +299,10 @@ Extensions xdebug and blackfire disabled by default. ## Tools -| Tool | 7.2 | 7.1 | 7.0 | 5.6 | 5.3 | -| --------------------------------------------- | ------- | ------- | ------- | ------- | ------- | -| [Composer](https://getcomposer.org) | latest | latest | latest | latest | latest | -| [Walter](https://github.com/walter-cd/walter) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | +| Tool | 7.2 | 7.1 | 7.0 | 5.6 | +| --------------------------------------------- | ------- | ------- | ------- | ------- | +| [Composer](https://getcomposer.org) | latest | latest | latest | latest | +| [Walter](https://github.com/walter-cd/walter) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | ## Global Composer Packages From d5960d0417223f2c91ac7a1ad54e8abb7ff03252 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 12 Dec 2017 17:42:49 +0700 Subject: [PATCH 034/559] Disable newrelic extension for -dev versions --- 5.6/docker-entrypoint.sh | 2 +- 5.6/test/tests.sh | 1 + 7/docker-entrypoint.sh | 6 ++++-- 7/test/tests.sh | 1 + 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index eb637f87..6338c49f 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -87,13 +87,13 @@ process_templates() { exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" if [[ -z "${PHP_DEV}" ]]; then exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" diff --git a/5.6/test/tests.sh b/5.6/test/tests.sh index 17be2a8e..bcd7b8df 100755 --- a/5.6/test/tests.sh +++ b/5.6/test/tests.sh @@ -14,6 +14,7 @@ cp ~/php_modules ~/expected_modules if [[ -n "${PHP_DEV}" ]]; then sed -i '/blackfire/d' ~/expected_modules + sed -i '/newrelic/d' ~/expected_modules fi if ! cmp -s ~/php_modules.tmp ~/expected_modules; then diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 3c3a8b45..5fb325e9 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -93,12 +93,14 @@ process_templates() { if [[ -z "${PHP_DEV}" ]]; then exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + + if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then + exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + fi fi if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" fi } diff --git a/7/test/tests.sh b/7/test/tests.sh index 5e45f747..85fdce34 100755 --- a/7/test/tests.sh +++ b/7/test/tests.sh @@ -14,6 +14,7 @@ cp ~/php_modules/"${PHP_VERSION:0:3}" ~/expected_modules if [[ -n "${PHP_DEV}" ]]; then sed -i '/blackfire/d' ~/expected_modules + sed -i '/newrelic/d' ~/expected_modules fi if ! cmp -s ~/php_modules.tmp ~/expected_modules; then From fd598d92c2af65570dab25eda30c98e9b5915809 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 13 Dec 2017 17:18:42 +0700 Subject: [PATCH 035/559] Update description --- README.md | 162 +++++++++++++++++++++++++++--------------------------- 1 file changed, 80 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 458dfda1..8fbd4643 100644 --- a/README.md +++ b/README.md @@ -101,98 +101,96 @@ For better reliability we additionally release images with stability tags (`wodb The default configuration is not recommended to be used for production environment: -| Variable | 7.2 | 7.1 | 7.0 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | 0 | -| [`PHP_APCU_ENABLED`] | 1 | 1 | 1 | - | -| _SEE ALL APCU EXT OPTIONS_ | [7.x apcu] | [7.x apcu] | [7.x apcu] | - | -| [`PHP_ASSERT_ACTIVE`] | On | On | On | On | -| `PHP_BLACKFIRE` | | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | blackfire | blackfire | blackfire | blackfire | -| `PHP_BLACKFIRE_AGENT_PORT` | 8707 | 8707 | 8707 | 8707 | -| `PHP_CLI_MEMORY_LIMIT` | -1 | -1 | -1 | -1 | -| [`PHP_DATE_TIMEZONE`] | UTC | UTC | UTC | UTC | -| [`PHP_DISPLAY_ERRORS`] | On | On | On | On | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | On | On | On | On | -| [`PHP_ERROR_REPORTING`] | E_ALL | E_ALL | E_ALL | E_ALL | -| [`PHP_EXPOSE`] | Off | Off | Off | Off | -| [`PHP_FPM_CLEAR_ENV`] | yes | yes | yes | yes | -| `PHP_FPM_ENV_VARS` | | | | | -| [`PHP_FPM_LOG_LEVEL`] | notice | notice | notice | notice | -| [`PHP_FPM_PM`] | dynamic | dynamic | dynamic | dynamic | -| [`PHP_FPM_PM_MAX_CHILDREN`] | 8 | 8 | 8 | 8 | -| [`PHP_FPM_PM_MAX_REQUESTS`] | 500 | 500 | 500 | 500 | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | 3 | 3 | 3 | 3 | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | 1 | 1 | 1 | 1 | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | -| [`PHP_FPM_START_SERVERS`] | 2 | 2 | 2 | 2 | -| [`PHP_FPM_USER`] | | | | | -| [`PHP_FPM_GROUP`] | | | | | -| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | -| [`PHP_LOG_ERRORS_MAX_LEN`] | 1024 | 1024 | 1024 | 1024 | -| [`PHP_MAX_EXECUTION_TIME`] | 120 | 120 | 120 | 120 | -| [`PHP_MAX_FILE_UPLOADS`] | 20 | 20 | 20 | 20 | -| [`PHP_MAX_INPUT_TIME`] | 60 | 60 | 60 | 60 | -| [`PHP_MAX_INPUT_VARS`] | 2000 | 2000 | 2000 | 2000 | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | Off | -| [`PHP_MEMORY_LIMIT`] | 512M | 512M | 512M | 512M | -| `PHP_MYSQL_CACHE_SIZE` | - | - | - | 2000 | -| [`PHP_MYSQLI_CACHE_SIZE`] | 2000 | 2000 | 2000 | 2000 | -| `PHP_NEWRELIC_ENABLED` | - | false | false | false | -| `PHP_NEWRELIC_LICENSE` | - | | | | -| `PHP_NEWRELIC_APPNAME` | - | My PHP app | My PHP app | My PHP app | -| [`PHP_OPCACHE_ENABLE`] | 1 | 1 | 1 | 1 | -| _SEE ALL OPCACHE EXT OPTIONS_ | [7.x opcache] | [7.x opcache] | [7.x opcache] | [5.6 opcache] | -| [`PHP_OUTPUT_BUFFERING`] | 4096 | 4096 | 4096 | 4096 | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | 2000 | 2000 | 2000 | 2000 | -| [`PHP_POST_MAX_SIZE`] | 32M | 32M | 32M | 32M | -| [`PHP_REALPATH_CACHE_SIZE`] | 4096k | 4096k | 4096k | 16k | -| [`PHP_REALPATH_CACHE_TTL`] | 120 | 120 | 120 | 120 | -| [`PHP_SENDMAIL_PATH`] | /bin/true | /bin/true | /bin/true | /bin/true | -| [`PHP_SESSION_AUTO_START`] | 0 | 0 | 0 | 0 | -| [`PHP_SESSION_BUG_COMPAT_42`] | - | - | - | - | -| [`PHP_SESSION_BUG_COMPAT_WARN`] | - | - | - | - | -| [`PHP_TRACK_ERRORS`] | - | On | On | On | -| [`PHP_UPLOAD_MAX_FILESIZE`] | 32M | 32M | 32M | 32M | -| `PHP_XDEBUG` | - | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | 0 | 0 | 0 | -| _SEE ALL XDEBUG EXT OPTIONS_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | 1 | 1 | 1 | 1 | +| Variable | 7.2 | 7.1 | 7.0 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | - | +| _see all apcu ext options_ | [7.x apcu] | [7.x apcu] | [7.x apcu] | - | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | +| `PHP_BLACKFIRE` | | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | +| [`PHP_FPM_CLEAR_ENV`] | `yes` | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | | +| [`PHP_FPM_LOG_LEVEL`] | `notice` | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | +| [`PHP_FPM_START_SERVERS`] | `2` | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | | | | | +| [`PHP_FPM_GROUP`] | | | | | +| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `1024` | `1024` | `1024` | `1024` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| `PHP_NEWRELIC_ENABLED` | - | `false` | `false` | `false` | +| `PHP_NEWRELIC_LICENSE` | - | | | | +| `PHP_NEWRELIC_APPNAME` | - | `My``PHP``app` | `My``PHP``app` | `My``PHP``app` | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | +| _see all opcache ext options_ | [7.x opcache] | [7.x opcache] | [7.x opcache] | [5.6 opcache] | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_AUTO_START`] | `0` | `0` | `0` | `0` | +| [`PHP_TRACK_ERRORS`] | - | `On` | `On` | `On` | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | - | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | `0` | +| _see all xdebug ext options_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version #### Additional configuration -| Variable | Default value | -| ------------------------------- | -------------------- | -| GIT_USER_EMAIL | www-data@example.com | -| GIT_USER_NAME | www-data | -| SSH_PRIVATE_KEY | | -| SSH_DISABLE_STRICT_KEY_CHECKING | | -| SSHD_GATEWAY_PORTS | no | -| SSHD_HOST_KEYS_DIR | /etc/ssh | -| SSHD_LOG_LEVEL | INFO | -| SSHD_PASSWORD_AUTHENTICATION | no | -| SSHD_PERMIT_USER_ENV | no | -| SSHD_USE_DNS | yes | +| Variable | Default value | +| --------------------------------- | -------------------- | +| `GIT_USER_EMAIL` | `www-data@example.com` | +| `GIT_USER_NAME` | `www-data` | +| `SSH_PRIVATE_KEY` | | +| `SSH_DISABLE_STRICT_KEY_CHECKING` | | +| `SSHD_GATEWAY_PORTS` | `no` | +| `SSHD_HOST_KEYS_DIR` | `/etc/ssh` | +| `SSHD_LOG_LEVEL` | `INFO` | +| `SSHD_PASSWORD_AUTHENTICATION` | `no` | +| `SSHD_PERMIT_USER_ENV` | `no` | +| `SSHD_USE_DNS` | `yes` | #### Deprecated environment variables Deprecated variables still supported but will be removed in future releases -| Deprecated | Instead use | -| ------------------------------- | ------------------------------- | -| PHP_APCU_ENABLE | PHP_APCU_ENABLED | -| PHP_FPM_SLOWLOG_TIMEOUT | PHP_FPM_REQUEST_SLOWLOG_TIMEOUT | -| PHP_FPM_MAX_CHILDREN | PHP_FPM_PM_MAX_CHILDREN | -| PHP_FPM_START_SERVERS | PHP_FPM_PM_START_SERVERS | -| PHP_FPM_MIN_SPARE_SERVERS | PHP_FPM_PM_MIN_SPARE_SERVERS | -| PHP_FPM_MAX_SPARE_SERVERS | PHP_FPM_PM_MAX_SPARE_SERVERS | -| PHP_FPM_MAX_REQUESTS | PHP_FPM_PM_MAX_REQUESTS | -| PHP_FPM_STATUS_PATH | PHP_FPM_PM_STATUS_PATH | +| Deprecated | Instead use | +| --------------------------- | --------------------------------- | +| `PHP_APCU_ENABLE` | `PHP_APCU_ENABLED` | +| `PHP_FPM_SLOWLOG_TIMEOUT` | `PHP_FPM_REQUEST_SLOWLOG_TIMEOUT` | +| `PHP_FPM_MAX_CHILDREN` | `PHP_FPM_PM_MAX_CHILDREN` | +| `PHP_FPM_START_SERVERS` | `PHP_FPM_PM_START_SERVERS` | +| `PHP_FPM_MIN_SPARE_SERVERS` | `PHP_FPM_PM_MIN_SPARE_SERVERS` | +| `PHP_FPM_MAX_SPARE_SERVERS` | `PHP_FPM_PM_MAX_SPARE_SERVERS` | +| `PHP_FPM_MAX_REQUESTS` | `PHP_FPM_PM_MAX_REQUESTS` | +| `PHP_FPM_STATUS_PATH` | `PHP_FPM_PM_STATUS_PATH` | ## PHP Extensions From cdf2a84e4ee30cac007117d90217175245fbda24 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 13 Dec 2017 17:18:59 +0700 Subject: [PATCH 036/559] Use trusty updated docker-ce and docker-compose --- .travis.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index d1736e18..00b07546 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,10 @@ language: bash -sudo: required - services: - docker env: global: - - DOCKER_COMPOSE_VERSION=1.14.0 - - DOCKER_VERSION=17.06.2 - LATEST_TAG=7.2 matrix: - TAG=7.2 PHP_VER=7.2.0 @@ -21,14 +17,6 @@ env: - TAG=7.0-dev PHP_VER=7.0.26 PHP_DEV=1 - TAG=5.6-dev PHP_VER=5.6.32 PHP_DEV=1 -install: - - sudo apt-get update - - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce="${DOCKER_VERSION}~ce-0~ubuntu" - - sudo rm /usr/local/bin/docker-compose - - curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" > docker-compose - - chmod +x docker-compose - - sudo mv docker-compose /usr/local/bin - script: - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - travis_retry make && make test From 44f4675e6f035bd41f2a25e31f369c923cf6bef4 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 19 Jan 2018 16:14:32 +0700 Subject: [PATCH 037/559] Update PHP: 7.2.1, 7.0.27, 5.6.33 --- .travis.yml | 16 ++++++++-------- 5.3/Makefile | 6 +++--- 5.6/Makefile | 8 ++++---- 7/Makefile | 8 ++++---- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.travis.yml b/.travis.yml index 00b07546..324cc701 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,15 +7,15 @@ env: global: - LATEST_TAG=7.2 matrix: - - TAG=7.2 PHP_VER=7.2.0 - - TAG=7.1 PHP_VER=7.1.12 - - TAG=7.0 PHP_VER=7.0.26 - - TAG=5.6 PHP_VER=5.6.32 + - TAG=7.2 PHP_VER=7.2.1 + - TAG=7.1 PHP_VER=7.1.13 + - TAG=7.0 PHP_VER=7.0.27 + - TAG=5.6 PHP_VER=5.6.33 - TAG=5.3 PHP_VER=5.3.29 - - TAG=7.2-dev PHP_VER=7.2.0 PHP_DEV=1 - - TAG=7.1-dev PHP_VER=7.1.12 PHP_DEV=1 - - TAG=7.0-dev PHP_VER=7.0.26 PHP_DEV=1 - - TAG=5.6-dev PHP_VER=5.6.32 PHP_DEV=1 + - TAG=7.2-dev PHP_VER=7.2.1 PHP_DEV=1 + - TAG=7.1-dev PHP_VER=7.1.13 PHP_DEV=1 + - TAG=7.0-dev PHP_VER=7.0.27 PHP_DEV=1 + - TAG=5.6-dev PHP_VER=5.6.33 PHP_DEV=1 script: - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" diff --git a/5.3/Makefile b/5.3/Makefile index 47d1ec3a..55224405 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -7,9 +7,9 @@ REPO = wodby/php NAME = php-$(PHP_VER) ifneq ($(STABILITY_TAG),) -ifneq ($(TAG),latest) - override TAG := $(TAG)-$(STABILITY_TAG) -endif + ifneq ($(TAG),latest) + override TAG := $(TAG)-$(STABILITY_TAG) + endif endif .PHONY: build test push shell run start stop logs clean release diff --git a/5.6/Makefile b/5.6/Makefile index 3d982806..897bbac9 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 5.6.32 +PHP_VER ?= 5.6.33 REPO = wodby/php NAME = php-$(PHP_VER) @@ -22,9 +22,9 @@ ifneq ($(PHP_DEV),) endif ifneq ($(STABILITY_TAG),) -ifneq ($(TAG),latest) - override TAG := $(TAG)-$(STABILITY_TAG) -endif + ifneq ($(TAG),latest) + override TAG := $(TAG)-$(STABILITY_TAG) + endif endif .PHONY: build test push shell run start stop logs clean release diff --git a/7/Makefile b/7/Makefile index 95be70c5..7ab7f234 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.0 +PHP_VER ?= 7.2.1 REPO = wodby/php NAME = php-$(PHP_VER) @@ -22,9 +22,9 @@ ifneq ($(PHP_DEV),) endif ifneq ($(STABILITY_TAG),) -ifneq ($(TAG),latest) - override TAG := $(TAG)-$(STABILITY_TAG) -endif + ifneq ($(TAG),latest) + override TAG := $(TAG)-$(STABILITY_TAG) + endif endif .PHONY: build test push shell run start stop logs clean release From b9d8417206e5450a7403ffee5fa96ac585eab20d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 19 Jan 2018 16:24:27 +0700 Subject: [PATCH 038/559] Make allow_url_fopen and default_socket_timeout configurable #17 --- 5.3/templates/zz-www.conf.tpl | 2 + 5.6/templates/zz-www.conf.tpl | 2 + 7/templates/zz-www.conf.tpl | 2 + README.md | 120 ++++++++++++++++++---------------- 4 files changed, 68 insertions(+), 58 deletions(-) diff --git a/5.3/templates/zz-www.conf.tpl b/5.3/templates/zz-www.conf.tpl index 5f8ab20a..ed0b682d 100644 --- a/5.3/templates/zz-www.conf.tpl +++ b/5.3/templates/zz-www.conf.tpl @@ -26,6 +26,8 @@ php_value[memory_limit] = {{ getenv "PHP_MEMORY_LIMIT" "512M" }} php_value[post_max_size] = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} php_value[upload_max_filesize] = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} php_value[max_file_uploads] = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} +php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} +php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} diff --git a/5.6/templates/zz-www.conf.tpl b/5.6/templates/zz-www.conf.tpl index ba0e7edb..98b08a07 100644 --- a/5.6/templates/zz-www.conf.tpl +++ b/5.6/templates/zz-www.conf.tpl @@ -27,6 +27,8 @@ php_value[memory_limit] = {{ getenv "PHP_MEMORY_LIMIT" "512M" }} php_value[post_max_size] = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} php_value[upload_max_filesize] = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} php_value[max_file_uploads] = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} +php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} +php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} diff --git a/7/templates/zz-www.conf.tpl b/7/templates/zz-www.conf.tpl index a35888b8..18678b59 100644 --- a/7/templates/zz-www.conf.tpl +++ b/7/templates/zz-www.conf.tpl @@ -27,6 +27,8 @@ php_value[memory_limit] = {{ getenv "PHP_MEMORY_LIMIT" "512M" }} php_value[post_max_size] = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} php_value[upload_max_filesize] = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} php_value[max_file_uploads] = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} +php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} +php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} diff --git a/README.md b/README.md index 8fbd4643..efd38047 100644 --- a/README.md +++ b/README.md @@ -53,10 +53,12 @@ For better reliability we additionally release images with stability tags (`wodb [5.3 opcache]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-opcache.ini.tpl [7.x apcu]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-apcu.ini.tpl +[`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data [`PHP_APCU_ENABLED`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enabled [`PHP_ASSERT_ACTIVE`]: http://php.net/assert.active [`PHP_DATE_TIMEZONE`]: http://php.net/date.timezone +[`PHP_DEFAULT_SOCKET_TIMEOUT`]: http://php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout [`PHP_DISPLAY_ERRORS`]: http://php.net/display-errors [`PHP_DISPLAY_STARTUP_ERRORS`]: http://php.net/display-startup-errors [`PHP_ERROR_REPORTING`]: http://php.net/error-reporting @@ -101,64 +103,66 @@ For better reliability we additionally release images with stability tags (`wodb The default configuration is not recommended to be used for production environment: -| Variable | 7.2 | 7.1 | 7.0 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | -| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | - | -| _see all apcu ext options_ | [7.x apcu] | [7.x apcu] | [7.x apcu] | - | -| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | -| `PHP_BLACKFIRE` | | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | -| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | -| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | -| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | -| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | -| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | -| [`PHP_FPM_CLEAR_ENV`] | `yes` | `yes` | `yes` | `yes` | -| `PHP_FPM_ENV_VARS` | | | | | -| [`PHP_FPM_LOG_LEVEL`] | `notice` | `notice` | `notice` | `notice` | -| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | -| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | -| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | -| [`PHP_FPM_START_SERVERS`] | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | | | | | -| [`PHP_FPM_GROUP`] | | | | | -| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `1024` | `1024` | `1024` | `1024` | -| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | -| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | -| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | -| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | -| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | -| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | -| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| `PHP_NEWRELIC_ENABLED` | - | `false` | `false` | `false` | -| `PHP_NEWRELIC_LICENSE` | - | | | | -| `PHP_NEWRELIC_APPNAME` | - | `My``PHP``app` | `My``PHP``app` | `My``PHP``app` | -| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | -| _see all opcache ext options_ | [7.x opcache] | [7.x opcache] | [7.x opcache] | [5.6 opcache] | -| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | -| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | -| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_AUTO_START`] | `0` | `0` | `0` | `0` | -| [`PHP_TRACK_ERRORS`] | - | `On` | `On` | `On` | -| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | - | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | `0` | -| _see all xdebug ext options_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | +| Variable | 7.2 | 7.1 | 7.0 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | +| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | - | +| _see all apcu ext options_ | [7.x apcu] | [7.x apcu] | [7.x apcu] | - | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | +| `PHP_BLACKFIRE` | | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | +| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | +| [`PHP_FPM_CLEAR_ENV`] | `yes` | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | | +| [`PHP_FPM_LOG_LEVEL`] | `notice` | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | +| [`PHP_FPM_START_SERVERS`] | `2` | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | | | | | +| [`PHP_FPM_GROUP`] | | | | | +| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `1024` | `1024` | `1024` | `1024` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| `PHP_NEWRELIC_ENABLED` | - | `false` | `false` | `false` | +| `PHP_NEWRELIC_LICENSE` | - | | | | +| `PHP_NEWRELIC_APPNAME` | - | `My PHP app` | `My PHP app` | `My PHP app` | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | +| _see all opcache ext options_ | [7.x opcache] | [7.x opcache] | [7.x opcache] | [5.6 opcache] | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_AUTO_START`] | `0` | `0` | `0` | `0` | +| [`PHP_TRACK_ERRORS`] | - | `On` | `On` | `On` | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | - | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | `0` | +| _see all xdebug ext options_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version From b9e07ea6c2ccc2950475d12d30c487a8449e50e3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 19 Jan 2018 18:12:09 +0700 Subject: [PATCH 039/559] Add grpc extension 1.8.5 --- 5.6/Dockerfile | 3 +++ 5.6/test/php_modules | 1 + 7/Dockerfile | 3 +++ 7/test/php_modules/7.0 | 1 + 7/test/php_modules/7.1 | 1 + 7/test/php_modules/7.2 | 1 + README.md | 2 ++ 7 files changed, 12 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 2644fc83..9321c63b 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -12,6 +12,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_AMQP_VER="1.9.1" \ EXT_APCU_VER="4.0.11" \ EXT_GEOIP_VER="1.1.1" \ + EXT_GRPC_VER="1.8.5" \ EXT_IMAGICK_VER="3.4.3" \ EXT_MEMCACHED_VER="2.2.0" \ EXT_MONGODB_VER="1.3.2" \ @@ -166,6 +167,7 @@ RUN set -xe; \ amqp-${EXT_AMQP_VER} \ apcu-${EXT_APCU_VER} \ geoip-${EXT_GEOIP_VER} \ + grpc-${EXT_GRPC_VER} \ imagick-${EXT_IMAGICK_VER} \ memcached-${EXT_MEMCACHED_VER} \ mongodb-${EXT_MONGODB_VER} \ @@ -180,6 +182,7 @@ RUN set -xe; \ apcu \ imagick \ geoip \ + grpc \ memcached \ mongodb \ oauth \ diff --git a/5.6/test/php_modules b/5.6/test/php_modules index 0e18cdb4..24925386 100644 --- a/5.6/test/php_modules +++ b/5.6/test/php_modules @@ -18,6 +18,7 @@ filter ftp gd geoip +grpc hash iconv imagick diff --git a/7/Dockerfile b/7/Dockerfile index 74cc3940..5ffd83d4 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -13,6 +13,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_APCU_VER="5.1.8" \ EXT_AST_VER="0.1.6" \ EXT_GEOIP_VER="1.1.1" \ + EXT_GRPC_VER="1.8.5" \ EXT_IMAGICK_VER="3.4.3" \ EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.3.2" \ @@ -187,6 +188,7 @@ RUN set -xe; \ amqp-${EXT_AMQP_VER} \ apcu-${EXT_APCU_VER} \ geoip-${EXT_GEOIP_VER} \ + grpc-${EXT_GRPC_VER} \ imagick-${EXT_IMAGICK_VER} \ memcached-${EXT_MEMCACHED_VER} \ mongodb-${EXT_MONGODB_VER} \ @@ -199,6 +201,7 @@ RUN set -xe; \ apcu \ imagick \ geoip \ + grpc \ memcached \ mongodb \ oauth \ diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index 850cdf3f..218ede6e 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -17,6 +17,7 @@ filter ftp gd geoip +grpc hash iconv imagick diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index 850cdf3f..218ede6e 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -17,6 +17,7 @@ filter ftp gd geoip +grpc hash iconv imagick diff --git a/7/test/php_modules/7.2 b/7/test/php_modules/7.2 index 490ab202..acd7c45f 100644 --- a/7/test/php_modules/7.2 +++ b/7/test/php_modules/7.2 @@ -17,6 +17,7 @@ filter ftp gd geoip +grpc hash iconv imagick diff --git a/README.md b/README.md index efd38047..b130e41b 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,7 @@ Deprecated variables still supported but will be removed in future releases [apcu]: http://pecl.php.net/package/apcu [ast]: https://github.com/nikic/php-ast [geoip]: https://pecl.php.net/package/geoip +[grpc]: https://pecl.php.net/package/grpc [imagick]: https://pecl.php.net/package/imagick [memcached]: http://pecl.php.net/package/memcached [mongo]: http://pecl.php.net/package/mongo @@ -240,6 +241,7 @@ Deprecated variables still supported but will be removed in future releases | ftp | | | | | | gd | | | | | | [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | +| [grpc] | 1.8.5 | 1.8.5 | 1.8.5 | 1.8.5 | | hash | | | | | | iconv | | | | | | [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | From 1ffb9c64d9ac76c33fa50264710235463a79b034 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 19 Jan 2018 18:14:02 +0700 Subject: [PATCH 040/559] Cleanup tests --- 5.3/test.sh | 1 - 5.6/test.sh | 1 - 7/test.sh | 1 - 3 files changed, 3 deletions(-) diff --git a/5.3/test.sh b/5.3/test.sh index d3fdae29..01678566 100755 --- a/5.3/test.sh +++ b/5.3/test.sh @@ -51,7 +51,6 @@ echo "OK" # Git actions echo -n "Running git actions... " -docker_exec php bash -c 'echo -e "Host bitbucket.org\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config' run_action php git-clone url="${git_url}" branch=master run_action php git-checkout target=develop echo "OK" diff --git a/5.6/test.sh b/5.6/test.sh index d3fdae29..01678566 100755 --- a/5.6/test.sh +++ b/5.6/test.sh @@ -51,7 +51,6 @@ echo "OK" # Git actions echo -n "Running git actions... " -docker_exec php bash -c 'echo -e "Host bitbucket.org\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config' run_action php git-clone url="${git_url}" branch=master run_action php git-checkout target=develop echo "OK" diff --git a/7/test.sh b/7/test.sh index d3fdae29..01678566 100755 --- a/7/test.sh +++ b/7/test.sh @@ -51,7 +51,6 @@ echo "OK" # Git actions echo -n "Running git actions... " -docker_exec php bash -c 'echo -e "Host bitbucket.org\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config' run_action php git-clone url="${git_url}" branch=master run_action php git-checkout target=develop echo "OK" From 9aff5ff39b7c59fd12f4102c7092284dd313294e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 19 Jan 2018 19:54:42 +0700 Subject: [PATCH 041/559] Add paths, actions and environment config for generic php application --- 5.3/Dockerfile | 4 +++- 5.3/docker-entrypoint.sh | 6 +++++- 5.6/Dockerfile | 4 +++- 5.6/actions/actions.mk | 10 +++++++++- 5.6/actions/files-import.sh | 22 +++++++++++++++++++++ 5.6/actions/init-public-storage.sh | 29 ++++++++++++++++++++++++++++ 5.6/docker-entrypoint.sh | 6 +++++- 5.6/templates/wodby.settings.php.tpl | 29 ++++++++++++++++++++++++++++ 7/Dockerfile | 4 +++- 7/actions/actions.mk | 10 +++++++++- 7/actions/files-import.sh | 22 +++++++++++++++++++++ 7/actions/init-public-storage.sh | 29 ++++++++++++++++++++++++++++ 7/docker-entrypoint.sh | 6 +++++- 7/templates/wodby.settings.php.tpl | 29 ++++++++++++++++++++++++++++ README.md | 2 ++ 15 files changed, 204 insertions(+), 8 deletions(-) create mode 100755 5.6/actions/files-import.sh create mode 100755 5.6/actions/init-public-storage.sh create mode 100644 5.6/templates/wodby.settings.php.tpl create mode 100755 7/actions/files-import.sh create mode 100755 7/actions/init-public-storage.sh create mode 100644 7/templates/wodby.settings.php.tpl diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 71d0bcaf..29cb5b82 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -191,6 +191,8 @@ ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_ RABBITMQ_C_URL="https://github.com/alanxz/rabbitmq-c/releases/download/v${RABBITMQ_C_VER}/rabbitmq-c-${RABBITMQ_C_VER}.tar.gz" \ \ APP_ROOT="/var/www/html" \ + FILES_DIR="/mnt/files" \ + CONF_DIR="/var/www/conf" \ PATH="/home/www-data/.composer/vendor/bin:${PATH}" RUN set -xe; \ @@ -343,7 +345,7 @@ RUN set -xe; \ sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf*; \ \ # Create required directories and fix permissions - mkdir -p ${APP_ROOT}; \ + mkdir -p "${APP_ROOT}" "${FILES_DIR}" "${CONF_DIR}"; \ su-exec www-data mkdir /home/www-data/.ssh; \ \ touch /etc/ssh/sshd_config; \ diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 187a694d..85342b11 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -90,6 +90,8 @@ process_templates() { exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + + exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } init_git() { @@ -97,7 +99,9 @@ init_git() { git config --global user.name "${GIT_USER_NAME:-www-data}" } -sudo fix-permissions.sh www-data www-data "${APP_ROOT}" +sudo fix-permissions.sh www-data www-data "${FILES_DIR}" "${APP_ROOT}" +mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" + validate_dirs init_ssh_client init_git diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 9321c63b..17dc53c4 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -44,6 +44,8 @@ ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_ BLACKFIRE_URL="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64" \ \ APP_ROOT="/var/www/html" \ + FILES_DIR="/mnt/files" \ + CONF_DIR="/var/www/conf" \ PATH="/home/www-data/.composer/vendor/bin:${PATH}" RUN set -xe; \ @@ -230,7 +232,7 @@ RUN set -xe; \ sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf*; \ \ # Create required directories and fix permissions - mkdir -p ${APP_ROOT}; \ + mkdir -p "${APP_ROOT}" "${FILES_DIR}" "${CONF_DIR}"; \ su-exec www-data mkdir /home/www-data/.ssh; \ \ touch /etc/ssh/sshd_config; \ diff --git a/5.6/actions/actions.mk b/5.6/actions/actions.mk index 73a9c9f6..3bd008f5 100644 --- a/5.6/actions/actions.mk +++ b/5.6/actions/actions.mk @@ -1,4 +1,4 @@ -.PHONY: git-clone git-checkout walter check-ready check-live +.PHONY: git-clone git-checkout files-import init-public-storage walter check-ready check-live check_defined = \ $(strip $(foreach 1,$1, \ @@ -27,6 +27,14 @@ git-checkout: $(call check_defined, target) git-checkout.sh $(target) $(is_hash) +files-import: + $(call check_defined, source) + files-import.sh $(source) + +init-public-storage: + $(call check_defined, public_dir) + init-public-storage.sh $(public_dir) + walter: walter.sh diff --git a/5.6/actions/files-import.sh b/5.6/actions/files-import.sh new file mode 100755 index 00000000..1d877b81 --- /dev/null +++ b/5.6/actions/files-import.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +source=$1 +tmp_dir="/tmp/source" + +get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" + +if [[ -d "${tmp_dir}/.wodby" ]]; then + echo "Wodby backup archive detected. Importing to top directory" + rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}" +else + echo "Importing files to public directory" + rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}/public/" +fi + +rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.6/actions/init-public-storage.sh b/5.6/actions/init-public-storage.sh new file mode 100755 index 00000000..b64ceac0 --- /dev/null +++ b/5.6/actions/init-public-storage.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +app_public_dir=$1 + +# Add symlink from persistent files volume to application's storage public dir. +if [[ -n "${app_public_dir}" ]]; then + echo "Application's public storage dir specified, trying to symlink from files persistent volume" + + if [[ -d "${app_public_dir}" ]]; then + if [[ ! -L "${app_public_dir}" ]]; then + if [[ "$(ls -A "${app_public_dir}")" ]]; then + echo "Error: directory is not empty, it can not be under version control or must be empty." + exit 1 + # If dir is not symlink and empty, remove it and link. + else + rm -rf "${app_public_dir}" + ln -sf "${FILES_DIR}/public" "${app_public_dir}" + fi + fi + else + ln -sf "${FILES_DIR}/public" "${app_public_dir}" + fi +fi diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 6338c49f..97488c14 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -97,6 +97,8 @@ process_templates() { fi sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + + exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } init_git() { @@ -104,7 +106,9 @@ init_git() { git config --global user.name "${GIT_USER_NAME:-www-data}" } -sudo fix-permissions.sh www-data www-data "${APP_ROOT}" +sudo fix-permissions.sh www-data www-data "${FILES_DIR}" "${APP_ROOT}" +mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" + validate_dirs init_ssh_client init_git diff --git a/5.6/templates/wodby.settings.php.tpl b/5.6/templates/wodby.settings.php.tpl new file mode 100644 index 00000000..a48e7c97 --- /dev/null +++ b/5.6/templates/wodby.settings.php.tpl @@ -0,0 +1,29 @@ + Date: Fri, 19 Jan 2018 20:31:06 +0700 Subject: [PATCH 042/559] Add generic actions to legacy 5.3 --- 5.3/actions/actions.mk | 10 +++++++++- 5.3/actions/files-import.sh | 22 ++++++++++++++++++++++ 5.3/actions/init-public-storage.sh | 29 +++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100755 5.3/actions/files-import.sh create mode 100755 5.3/actions/init-public-storage.sh diff --git a/5.3/actions/actions.mk b/5.3/actions/actions.mk index 73a9c9f6..3bd008f5 100644 --- a/5.3/actions/actions.mk +++ b/5.3/actions/actions.mk @@ -1,4 +1,4 @@ -.PHONY: git-clone git-checkout walter check-ready check-live +.PHONY: git-clone git-checkout files-import init-public-storage walter check-ready check-live check_defined = \ $(strip $(foreach 1,$1, \ @@ -27,6 +27,14 @@ git-checkout: $(call check_defined, target) git-checkout.sh $(target) $(is_hash) +files-import: + $(call check_defined, source) + files-import.sh $(source) + +init-public-storage: + $(call check_defined, public_dir) + init-public-storage.sh $(public_dir) + walter: walter.sh diff --git a/5.3/actions/files-import.sh b/5.3/actions/files-import.sh new file mode 100755 index 00000000..1d877b81 --- /dev/null +++ b/5.3/actions/files-import.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +source=$1 +tmp_dir="/tmp/source" + +get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" + +if [[ -d "${tmp_dir}/.wodby" ]]; then + echo "Wodby backup archive detected. Importing to top directory" + rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}" +else + echo "Importing files to public directory" + rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}/public/" +fi + +rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.3/actions/init-public-storage.sh b/5.3/actions/init-public-storage.sh new file mode 100755 index 00000000..b64ceac0 --- /dev/null +++ b/5.3/actions/init-public-storage.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +app_public_dir=$1 + +# Add symlink from persistent files volume to application's storage public dir. +if [[ -n "${app_public_dir}" ]]; then + echo "Application's public storage dir specified, trying to symlink from files persistent volume" + + if [[ -d "${app_public_dir}" ]]; then + if [[ ! -L "${app_public_dir}" ]]; then + if [[ "$(ls -A "${app_public_dir}")" ]]; then + echo "Error: directory is not empty, it can not be under version control or must be empty." + exit 1 + # If dir is not symlink and empty, remove it and link. + else + rm -rf "${app_public_dir}" + ln -sf "${FILES_DIR}/public" "${app_public_dir}" + fi + fi + else + ln -sf "${FILES_DIR}/public" "${app_public_dir}" + fi +fi From c915d18cba14df52cbb7a1a734021c96306db59f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 23 Jan 2018 17:02:07 +0700 Subject: [PATCH 043/559] Update dependencies to alpine 3.7 --- 5.6/Dockerfile | 28 ++++++++++++++-------------- 7/Dockerfile | 28 ++++++++++++++-------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 17dc53c4..9e4666a6 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -22,22 +22,22 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_XDEBUG_VER="2.5.5" \ EXT_YAML_VER="1.3.1" \ \ - C_CLIENT_VER="2007f-r6" \ - FREETYPE_VER="2.7.1-r1" \ - GEOIP_VER="1.6.10-r0" \ - ICU_LIBS_VER="58.2-r2" \ - IMAGEMAGICK_VER="7.0.5.10-r0" \ - LIBBZ2_VER="1.0.6-r5" \ - LIBJPEG_TURBO_VER="1.5.1-r0" \ - LIBLDAP_VER="2.4.44-r5" \ - LIBLTDL_VER="2.4.6-r1" \ + C_CLIENT_VER="2007f-r7" \ + FREETYPE_VER="2.8.1-r2" \ + GEOIP_VER="1.6.11-r0" \ + ICU_LIBS_VER="59.1-r1" \ + IMAGEMAGICK_VER="7.0.7.11-r1" \ + LIBBZ2_VER="1.0.6-r6" \ + LIBJPEG_TURBO_VER="1.5.2-r0" \ + LIBLDAP_VER="2.4.45-r3" \ + LIBLTDL_VER="2.4.6-r4" \ LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ LIBMCRYPT_VER="2.5.8-r7" \ - LIBPNG_VER="1.6.29-r1" \ - LIBXSLT_VER="1.1.29-r3" \ - MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.6-r0" \ - RABBITMQ_C_VER="0.8.0-r2" \ + LIBPNG_VER="1.6.34-r1" \ + LIBXSLT_VER="1.1.31-r0" \ + MARIADB_CLIENT_VER="10.1.28-r1" \ + POSTGRESQL_CLIENT_VER="10.1-r1" \ + RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ diff --git a/7/Dockerfile b/7/Dockerfile index 911f7a24..ffed946e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -24,22 +24,22 @@ ENV PHP_DEV="${PHP_DEV}" \ \ PHP72_EXT_MCRYPT_VER="1.0.1" \ \ - C_CLIENT_VER="2007f-r6" \ - FREETYPE_VER="2.7.1-r1" \ - GEOIP_VER="1.6.10-r0" \ - ICU_LIBS_VER="58.2-r2" \ - IMAGEMAGICK_VER="7.0.5.10-r0" \ - LIBBZ2_VER="1.0.6-r5" \ - LIBJPEG_TURBO_VER="1.5.1-r0" \ - LIBLDAP_VER="2.4.44-r5" \ - LIBLTDL_VER="2.4.6-r1" \ + C_CLIENT_VER="2007f-r7" \ + FREETYPE_VER="2.8.1-r2" \ + GEOIP_VER="1.6.11-r0" \ + ICU_LIBS_VER="59.1-r1" \ + IMAGEMAGICK_VER="7.0.7.11-r1" \ + LIBBZ2_VER="1.0.6-r6" \ + LIBJPEG_TURBO_VER="1.5.2-r0" \ + LIBLDAP_VER="2.4.45-r3" \ + LIBLTDL_VER="2.4.6-r4" \ LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ LIBMCRYPT_VER="2.5.8-r7" \ - LIBPNG_VER="1.6.29-r1" \ - LIBXSLT_VER="1.1.29-r3" \ - MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.6-r0" \ - RABBITMQ_C_VER="0.8.0-r2" \ + LIBPNG_VER="1.6.34-r1" \ + LIBXSLT_VER="1.1.31-r0" \ + MARIADB_CLIENT_VER="10.1.28-r1" \ + POSTGRESQL_CLIENT_VER="10.1-r1" \ + RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz" \ From 64765ab0f71cea7fdd1c63425c67bf660393a076 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 23 Jan 2018 19:01:52 +0700 Subject: [PATCH 044/559] Run php-fpm from php-fpm user --- 5.3/Dockerfile | 7 +++---- 5.3/templates/zz-www.conf.tpl | 8 ++++---- 5.6/Dockerfile | 8 ++++---- 5.6/actions/files-import.sh | 3 ++- 5.6/templates/zz-www.conf.tpl | 10 +++++----- 7/Dockerfile | 8 ++++---- 7/actions/files-import.sh | 3 ++- 7/templates/zz-www.conf.tpl | 10 +++++----- README.md | 4 ++-- 9 files changed, 31 insertions(+), 30 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 29cb5b82..eb5e91e5 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -20,6 +20,7 @@ RUN apk add --no-cache --virtual .persistent-deps \ RUN set -x \ && addgroup -g 82 -S www-data \ && adduser -u 82 -D -S -s /bin/bash -G www-data www-data \ + && adduser -u 1000 -D -S -G www-data php-fpm; \ && sed -i '/^www-data/s/!/*/' /etc/shadow \ && echo "PS1='\w\$ '" >> /home/www-data/.bashrc # 82 is the standard uid/gid for "www-data" in Alpine @@ -332,6 +333,7 @@ RUN set -xe; \ # Configure sudoers { \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ + echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ @@ -341,9 +343,6 @@ RUN set -xe; \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ - # We run php-fpm as non root - sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf*; \ - \ # Create required directories and fix permissions mkdir -p "${APP_ROOT}" "${FILES_DIR}" "${CONF_DIR}"; \ su-exec www-data mkdir /home/www-data/.ssh; \ @@ -380,4 +379,4 @@ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["php-fpm"] +CMD ["sudo", "php-fpm"] diff --git a/5.3/templates/zz-www.conf.tpl b/5.3/templates/zz-www.conf.tpl index ed0b682d..6cd476a8 100644 --- a/5.3/templates/zz-www.conf.tpl +++ b/5.3/templates/zz-www.conf.tpl @@ -34,8 +34,8 @@ php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} php_value[session.bug_compat_42] = {{ getenv "PHP_SESSION_BUG_COMPAT_42" "On" }} php_value[session.bug_compat_warn] = {{ getenv "PHP_SESSION_BUG_COMPAT_WARN" "On" }} -{{ if (getenv "PHP_FPM_USER") }}user = {{ getenv "PHP_FPM_USER" }}{{ end }} -{{ if (getenv "PHP_FPM_GROUP") }}group = {{ getenv "PHP_FPM_GROUP" }}{{ end }} +user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +group = {{ getenv "PHP_FPM_GROUP" "www-data" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} @@ -47,5 +47,5 @@ pm.max_children = 1 listen = 0.0.0.0:9001 ping.path = "/ping" -{{ if (getenv "PHP_FPM_USER") }}user = {{ getenv "PHP_FPM_USER" }}{{ end }} -{{ if (getenv "PHP_FPM_GROUP") }}group = {{ getenv "PHP_FPM_GROUP" }}{{ end }} +user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 9e4666a6..50d89d0c 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -54,6 +54,7 @@ RUN set -xe; \ deluser www-data; \ addgroup -g 82 -S www-data; \ adduser -u 82 -D -S -s /bin/bash -G www-data www-data; \ + adduser -u 1000 -D -S -G www-data php-fpm; \ sed -i '/^www-data/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ \ @@ -164,6 +165,7 @@ RUN set -xe; \ rm /usr/local/etc/php/conf.d/newrelic.ini; \ mkdir -p /var/log/newrelic/; \ chown -R www-data:www-data /var/log/newrelic/; \ + chmod -R 775 /var/log/newrelic/; \ \ pecl install \ amqp-${EXT_AMQP_VER} \ @@ -218,6 +220,7 @@ RUN set -xe; \ else \ { \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ + echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ @@ -228,9 +231,6 @@ RUN set -xe; \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ - # We run php-fpm as non root - sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf*; \ - \ # Create required directories and fix permissions mkdir -p "${APP_ROOT}" "${FILES_DIR}" "${CONF_DIR}"; \ su-exec www-data mkdir /home/www-data/.ssh; \ @@ -272,4 +272,4 @@ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["php-fpm"] +CMD ["sudo", "php-fpm"] diff --git a/5.6/actions/files-import.sh b/5.6/actions/files-import.sh index 1d877b81..db18eb0d 100755 --- a/5.6/actions/files-import.sh +++ b/5.6/actions/files-import.sh @@ -11,7 +11,8 @@ tmp_dir="/tmp/source" get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" -if [[ -d "${tmp_dir}/.wodby" ]]; then +# TODO: allow top level dir import only for wodby archives. +if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}" else diff --git a/5.6/templates/zz-www.conf.tpl b/5.6/templates/zz-www.conf.tpl index 98b08a07..80cab05b 100644 --- a/5.6/templates/zz-www.conf.tpl +++ b/5.6/templates/zz-www.conf.tpl @@ -33,8 +33,8 @@ php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -{{ if (getenv "PHP_FPM_USER") }}user = {{ getenv "PHP_FPM_USER" }}{{ end }} -{{ if (getenv "PHP_FPM_GROUP") }}group = {{ getenv "PHP_FPM_GROUP" }}{{ end }} +user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +group = {{ getenv "PHP_FPM_GROUP" "www-data" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} @@ -43,8 +43,8 @@ env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} [ping] pm = static pm.max_children = 1 -listen = [::]:9001 +listen = 9001 ping.path = "/ping" -{{ if (getenv "PHP_FPM_USER") }}user = {{ getenv "PHP_FPM_USER" }}{{ end }} -{{ if (getenv "PHP_FPM_GROUP") }}group = {{ getenv "PHP_FPM_GROUP" }}{{ end }} +user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/7/Dockerfile b/7/Dockerfile index ffed946e..46ddda68 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -60,6 +60,7 @@ RUN set -xe; \ deluser www-data; \ addgroup -g 82 -S www-data; \ adduser -u 82 -D -S -s /bin/bash -G www-data www-data; \ + adduser -u 1000 -D -S -G www-data php-fpm; \ sed -i '/^www-data/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ \ @@ -184,6 +185,7 @@ RUN set -xe; \ rm /usr/local/etc/php/conf.d/newrelic.ini; \ mkdir -p /var/log/newrelic/; \ chown -R www-data:www-data /var/log/newrelic/; \ + chmod -R 775 /var/log/newrelic/; \ fi; \ \ pecl install \ @@ -247,6 +249,7 @@ RUN set -xe; \ else \ { \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ + echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ @@ -257,9 +260,6 @@ RUN set -xe; \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ - # We run php-fpm as non root - sed -i '/^user = www-data/d;/^group = www-data/d' /usr/local/etc/php-fpm.d/www.conf*; \ - \ # Create required directories and fix permissions mkdir -p "${APP_ROOT}" "${FILES_DIR}" "${CONF_DIR}"; \ su-exec www-data mkdir /home/www-data/.ssh; \ @@ -307,4 +307,4 @@ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["php-fpm"] +CMD ["sudo", "php-fpm"] diff --git a/7/actions/files-import.sh b/7/actions/files-import.sh index 1d877b81..db18eb0d 100755 --- a/7/actions/files-import.sh +++ b/7/actions/files-import.sh @@ -11,7 +11,8 @@ tmp_dir="/tmp/source" get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" -if [[ -d "${tmp_dir}/.wodby" ]]; then +# TODO: allow top level dir import only for wodby archives. +if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}" else diff --git a/7/templates/zz-www.conf.tpl b/7/templates/zz-www.conf.tpl index 18678b59..29e18175 100644 --- a/7/templates/zz-www.conf.tpl +++ b/7/templates/zz-www.conf.tpl @@ -32,8 +32,8 @@ php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -{{ if (getenv "PHP_FPM_USER") }}user = {{ getenv "PHP_FPM_USER" }}{{ end }} -{{ if (getenv "PHP_FPM_GROUP") }}group = {{ getenv "PHP_FPM_GROUP" }}{{ end }} +user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +group = {{ getenv "PHP_FPM_GROUP" "www-data" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} @@ -42,8 +42,8 @@ env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} [ping] pm = static pm.max_children = 1 -listen = [::]:9001 +listen = 9001 ping.path = "/ping" -{{ if (getenv "PHP_FPM_USER") }}user = {{ getenv "PHP_FPM_USER" }}{{ end }} -{{ if (getenv "PHP_FPM_GROUP") }}group = {{ getenv "PHP_FPM_GROUP" }}{{ end }} +user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/README.md b/README.md index 70461023..49211bcf 100644 --- a/README.md +++ b/README.md @@ -131,8 +131,8 @@ The default configuration is not recommended to be used for production environme | [`PHP_FPM_PM_STATUS_PATH`] | | | | | | [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | | [`PHP_FPM_START_SERVERS`] | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | | | | | -| [`PHP_FPM_GROUP`] | | | | | +| [`PHP_FPM_USER`] | `php-fpm` | `php-fpm` | `php-fpm` | `php-fpm` | +| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_GEOIP_CUSTOM_DIR`] | | | | | | [`PHP_LOG_ERRORS_MAX_LEN`] | `1024` | `1024` | `1024` | `1024` | | [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | From 0c21b92e07aefb25c6cc5e082bc836e57e5ed1d9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 23 Jan 2018 19:13:20 +0700 Subject: [PATCH 045/559] Fix syntax --- 5.3/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index eb5e91e5..5a37e84a 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -20,7 +20,7 @@ RUN apk add --no-cache --virtual .persistent-deps \ RUN set -x \ && addgroup -g 82 -S www-data \ && adduser -u 82 -D -S -s /bin/bash -G www-data www-data \ - && adduser -u 1000 -D -S -G www-data php-fpm; \ + && adduser -u 1000 -D -S -G www-data php-fpm \ && sed -i '/^www-data/s/!/*/' /etc/shadow \ && echo "PS1='\w\$ '" >> /home/www-data/.bashrc # 82 is the standard uid/gid for "www-data" in Alpine From bf5d3e545e77631882a0b9f40db1535341f0139b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 30 Jan 2018 19:13:06 +0700 Subject: [PATCH 046/559] Pass env vars for default sudo command --- 5.3/Dockerfile | 2 +- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 5a37e84a..e4eb122d 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -379,4 +379,4 @@ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["sudo", "php-fpm"] +CMD ["sudo", "-E", "php-fpm"] diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 50d89d0c..a369756d 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -272,4 +272,4 @@ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["sudo", "php-fpm"] +CMD ["sudo", "-E", "php-fpm"] diff --git a/7/Dockerfile b/7/Dockerfile index 46ddda68..514f6061 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -307,4 +307,4 @@ COPY docker-entrypoint.sh / COPY actions /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["sudo", "php-fpm"] +CMD ["sudo", "-E", "php-fpm"] From a5fc2bf808e10b084aa22c50bd023879b6da87cf Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 30 Jan 2018 20:05:33 +0700 Subject: [PATCH 047/559] For -dev images: do not clear env vars for fpm, set default fpm log level to debug --- 5.3/docker-entrypoint.sh | 3 --- 5.6/docker-entrypoint.sh | 16 ++++++++-------- 7/docker-entrypoint.sh | 17 +++++++++-------- README.md | 20 ++++++++++++++++++-- 4 files changed, 35 insertions(+), 21 deletions(-) diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 85342b11..1c68b0b8 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -88,9 +88,6 @@ process_templates() { exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - - sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 97488c14..c5d99c7f 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -84,20 +84,20 @@ init_crond() { process_templates() { _backwards_compatibility + if [[ -n "${PHP_DEV}" ]]; then + export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" + export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" + else + exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" + fi + exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - - if [[ -z "${PHP_DEV}" ]]; then - exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" - fi - - sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 2d9591e2..75e44cea 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -85,13 +85,10 @@ init_crond() { process_templates() { _backwards_compatibility - exec_tpl "docker-php-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - - if [[ -z "${PHP_DEV}" ]]; then + if [[ -n "${PHP_DEV}" ]]; then + export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" + export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" + else exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then @@ -101,9 +98,13 @@ process_templates() { if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" - sed -i '/^$/d' "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" fi + exec_tpl "docker-php-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" + exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" + exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } diff --git a/README.md b/README.md index 49211bcf..cded5864 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ * [PHP Extensions](#php-extensions) * [Tools](#tools) * [Global Composer Packages](#global-composer-packages) +* [`-dev` images](#-dev-images) * [Orchestration Actions](#orchestration-actions) ## Docker Images @@ -24,6 +25,7 @@ * Base image: [wodby/base-php](https://github.com/wodby/base-php) ([wodby/alpine](https://github.com/wodby/alpine) for 5.3) * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) +* `-dev` images have a few [changes](#-dev-images) Supported tags and respective `Dockerfile` links: @@ -120,9 +122,9 @@ The default configuration is not recommended to be used for production environme | [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | | [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | | [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | -| [`PHP_FPM_CLEAR_ENV`] | `yes` | `yes` | `yes` | `yes` | +| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | | `PHP_FPM_ENV_VARS` | | | | | -| [`PHP_FPM_LOG_LEVEL`] | `notice` | `notice` | `notice` | `notice` | +| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | | [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | | [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | | [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | @@ -165,6 +167,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version +> Default value of environment variables marked with `*` is different in dev versions of images, see [`-dev` images](#-dev-images) for details #### Additional configuration @@ -298,6 +301,7 @@ Legend: > - [EMPTY] – Core PHP extension > - "-" - Not exists in this version +> Some extensions may not be available in dev images, see [`-dev` images](#-dev-images) for details Extensions xdebug and blackfire disabled by default. @@ -314,6 +318,18 @@ Extensions xdebug and blackfire disabled by default. | --------------------------------------------------------------------- | ------- | | [hirak/prestissimo](https://packagist.org/packages/hirak/prestissimo) | ^0.3 | +## `-dev` Images + +Images with `-dev` tag have a few differences: + +* PHP compiled with `--enabled-debug` flag +* PHP binaries are not stripped from debug symbols (useful for segfaults debug) +* Some extensions may not be available (e.g. blackfire and xdebug do not work with PHP compiled with `--enabled-debug` +* Different default value of certain environment variables: `PHP_FPM_CLEAR_ENV=no`, `PHP_FPM_LOG_LEVEL=debug` +* `sudo` allowed for all commands for `www-data` user +* PHP source code available under `/usr/src/php.tar.xz` +* `gdb` is available + ## Orchestration Actions Usage: From 17e004a076ea57bc54e2570a81e9c88dc6b29671 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 31 Jan 2018 11:59:25 +0700 Subject: [PATCH 048/559] Fix codestyle --- 5.6/Dockerfile | 64 ++++++++++++++++++++++++------------------------ 7/Dockerfile | 66 +++++++++++++++++++++++++------------------------- 2 files changed, 65 insertions(+), 65 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index a369756d..22c56b71 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -59,37 +59,37 @@ RUN set -xe; \ echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ \ apk add --update --no-cache --virtual .php-rundeps \ - c-client=${C_CLIENT_VER} \ + "c-client=${C_CLIENT_VER}" \ fcgi \ - freetype=${FREETYPE_VER} \ - geoip=${GEOIP_VER} \ + "freetype=${FREETYPE_VER}" \ + "geoip=${GEOIP_VER}" \ git \ - icu-libs=${ICU_LIBS_VER} \ - imagemagick=${IMAGEMAGICK_VER} \ + "icu-libs=${ICU_LIBS_VER}" \ + "imagemagick=${IMAGEMAGICK_VER}" \ less \ - libbz2=${LIBBZ2_VER} \ - libjpeg-turbo=${LIBJPEG_TURBO_VER} \ - libjpeg-turbo-utils=${LIBJPEG_TURBO_VER} \ - libldap=${LIBLDAP_VER} \ - libltdl=${LIBLTDL_VER} \ - libmemcached-libs=${LIBMEMCACHED_LIBS_VER} \ - libmcrypt=${LIBMCRYPT_VER} \ - libpng=${LIBPNG_VER} \ - libxslt=${LIBXSLT_VER} \ + "libbz2=${LIBBZ2_VER}" \ + "libjpeg-turbo=${LIBJPEG_TURBO_VER}" \ + "libjpeg-turbo-utils=${LIBJPEG_TURBO_VER}" \ + "libldap=${LIBLDAP_VER}" \ + "libltdl=${LIBLTDL_VER}" \ + "libmemcached-libs=${LIBMEMCACHED_LIBS_VER}" \ + "libmcrypt=${LIBMCRYPT_VER}" \ + "libpng=${LIBPNG_VER}" \ + "libxslt=${LIBXSLT_VER}" \ make \ - mariadb-client=${MARIADB_CLIENT_VER} \ + "mariadb-client=${MARIADB_CLIENT_VER}" \ nano \ openssh \ openssh-client \ patch \ - postgresql-client=${POSTGRESQL_CLIENT_VER} \ - rabbitmq-c=${RABBITMQ_C_VER} \ + "postgresql-client=${POSTGRESQL_CLIENT_VER}" \ + "rabbitmq-c=${RABBITMQ_C_VER}" \ rsync \ su-exec \ sudo \ tig \ tmux \ - yaml=${YAML_VER}; \ + "yaml=${YAML_VER}"; \ \ apk add --update --no-cache --virtual .build-deps \ autoconf \ @@ -168,18 +168,18 @@ RUN set -xe; \ chmod -R 775 /var/log/newrelic/; \ \ pecl install \ - amqp-${EXT_AMQP_VER} \ - apcu-${EXT_APCU_VER} \ - geoip-${EXT_GEOIP_VER} \ - grpc-${EXT_GRPC_VER} \ - imagick-${EXT_IMAGICK_VER} \ - memcached-${EXT_MEMCACHED_VER} \ - mongodb-${EXT_MONGODB_VER} \ - oauth-${EXT_OAUTH_VER} \ - redis-${EXT_REDIS_VER} \ - uploadprogress-${EXT_UPLOADPROGRESS_VER} \ - xdebug-${EXT_XDEBUG_VER} \ - yaml-${EXT_YAML_VER}; \ + "amqp-${EXT_AMQP_VER}" \ + "apcu-${EXT_APCU_VER}" \ + "geoip-${EXT_GEOIP_VER}" \ + "grpc-${EXT_GRPC_VER}" \ + "imagick-${EXT_IMAGICK_VER}" \ + "memcached-${EXT_MEMCACHED_VER}" \ + "mongodb-${EXT_MONGODB_VER}" \ + "oauth-${EXT_OAUTH_VER}" \ + "redis-${EXT_REDIS_VER}" \ + "uploadprogress-${EXT_UPLOADPROGRESS_VER}" \ + "xdebug-${EXT_XDEBUG_VER}" \ + "yaml-${EXT_YAML_VER}"; \ \ docker-php-ext-enable \ amqp \ @@ -205,10 +205,10 @@ RUN set -xe; \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Install composer parallel install plugin - su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER}; \ + su-exec www-data composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ \ # Install Walter - wget -qO- ${WALTER_URL} | tar xz -C /tmp/; \ + wget -qO- "${WALTER_URL}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ # Add composer bins to $PATH diff --git a/7/Dockerfile b/7/Dockerfile index 514f6061..02c4b465 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -65,37 +65,37 @@ RUN set -xe; \ echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ \ apk add --update --no-cache --virtual .php-rundeps \ - c-client=${C_CLIENT_VER} \ + "c-client=${C_CLIENT_VER}" \ fcgi \ - freetype=${FREETYPE_VER} \ - geoip=${GEOIP_VER} \ + "freetype=${FREETYPE_VER}" \ + "geoip=${GEOIP_VER}" \ git \ - icu-libs=${ICU_LIBS_VER} \ - imagemagick=${IMAGEMAGICK_VER} \ + "icu-libs=${ICU_LIBS_VER}" \ + "imagemagick=${IMAGEMAGICK_VER}" \ less \ - libbz2=${LIBBZ2_VER} \ - libjpeg-turbo=${LIBJPEG_TURBO_VER} \ - libjpeg-turbo-utils=${LIBJPEG_TURBO_VER} \ - libldap=${LIBLDAP_VER} \ - libltdl=${LIBLTDL_VER} \ - libmemcached-libs=${LIBMEMCACHED_LIBS_VER} \ - libmcrypt=${LIBMCRYPT_VER} \ - libpng=${LIBPNG_VER} \ - libxslt=${LIBXSLT_VER} \ + "libbz2=${LIBBZ2_VER}" \ + "libjpeg-turbo=${LIBJPEG_TURBO_VER}" \ + "libjpeg-turbo-utils=${LIBJPEG_TURBO_VER}" \ + "libldap=${LIBLDAP_VER}" \ + "libltdl=${LIBLTDL_VER}" \ + "libmemcached-libs=${LIBMEMCACHED_LIBS_VER}" \ + "libmcrypt=${LIBMCRYPT_VER}" \ + "libpng=${LIBPNG_VER}" \ + "libxslt=${LIBXSLT_VER}" \ make \ - mariadb-client=${MARIADB_CLIENT_VER} \ + "mariadb-client=${MARIADB_CLIENT_VER}" \ nano \ openssh \ openssh-client \ patch \ - postgresql-client=${POSTGRESQL_CLIENT_VER} \ - rabbitmq-c=${RABBITMQ_C_VER} \ + "postgresql-client=${POSTGRESQL_CLIENT_VER}" \ + "rabbitmq-c=${RABBITMQ_C_VER}" \ rsync \ su-exec \ sudo \ tig \ tmux \ - yaml=${YAML_VER}; \ + "yaml=${YAML_VER}"; \ \ apk add --update --no-cache --virtual .build-deps \ autoconf \ @@ -159,7 +159,7 @@ RUN set -xe; \ --with-png-dir=/usr/include/ \ --with-jpeg-dir=/usr/include/; \ NPROC=$(getconf _NPROCESSORS_ONLN); \ - docker-php-ext-install -j${NPROC} gd; \ + docker-php-ext-install "-j${NPROC}" gd; \ \ # PECL extensions pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ @@ -189,16 +189,16 @@ RUN set -xe; \ fi; \ \ pecl install \ - amqp-${EXT_AMQP_VER} \ - apcu-${EXT_APCU_VER} \ - geoip-${EXT_GEOIP_VER} \ - grpc-${EXT_GRPC_VER} \ - imagick-${EXT_IMAGICK_VER} \ - memcached-${EXT_MEMCACHED_VER} \ - mongodb-${EXT_MONGODB_VER} \ - oauth-${EXT_OAUTH_VER} \ - redis-${EXT_REDIS_VER} \ - yaml-${EXT_YAML_VER}; \ + "amqp-${EXT_AMQP_VER}" \ + "apcu-${EXT_APCU_VER}" \ + "geoip-${EXT_GEOIP_VER}" \ + "grpc-${EXT_GRPC_VER}" \ + "imagick-${EXT_IMAGICK_VER}" \ + "memcached-${EXT_MEMCACHED_VER}" \ + "mongodb-${EXT_MONGODB_VER}" \ + "oauth-${EXT_OAUTH_VER}" \ + "redis-${EXT_REDIS_VER}" \ + "yaml-${EXT_YAML_VER}"; \ \ docker-php-ext-enable \ amqp \ @@ -220,13 +220,13 @@ RUN set -xe; \ \ # Uploadprogress mkdir -p /usr/src/php/ext/uploadprogress; \ - wget -qO- ${EXT_UPLOADPROGRESS_URL} | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress; \ + wget -qO- "${EXT_UPLOADPROGRESS_URL}" | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress; \ docker-php-ext-configure uploadprogress; \ docker-php-ext-install uploadprogress; \ \ # AST mkdir -p /usr/src/php/ext/ast; \ - wget -qO- ${EXT_AST_URL} | tar xz --strip-components=1 -C /usr/src/php/ext/ast; \ + wget -qO- "${EXT_AST_URL}" | tar xz --strip-components=1 -C /usr/src/php/ext/ast; \ docker-php-ext-configure ast; \ docker-php-ext-install ast; \ \ @@ -234,10 +234,10 @@ RUN set -xe; \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Plugin for parallel install - su-exec www-data composer global require hirak/prestissimo:^${PHP_PRESTISSIMO_VER}; \ + su-exec www-data composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ \ # Install Walter - wget -qO- ${WALTER_URL} | tar xz -C /tmp/; \ + wget -qO- "${WALTER_URL}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ # Add composer bins to $PATH From 5087bc40c7e9461bc7cddec1afab0f21739fd718 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 31 Jan 2018 12:00:38 +0700 Subject: [PATCH 049/559] Add Data Structures php extension --- 7/Dockerfile | 3 +++ 7/test/php_modules/7.0 | 1 + 7/test/php_modules/7.1 | 1 + 7/test/php_modules/7.2 | 1 + README.md | 2 ++ 5 files changed, 8 insertions(+) diff --git a/7/Dockerfile b/7/Dockerfile index 02c4b465..66f05798 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -12,6 +12,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_AMQP_VER="1.9.1" \ EXT_APCU_VER="5.1.8" \ EXT_AST_VER="0.1.6" \ + EXT_DS_VER="1.2.4" \ EXT_GEOIP_VER="1.1.1" \ EXT_GRPC_VER="1.8.5" \ EXT_IMAGICK_VER="3.4.3" \ @@ -191,6 +192,7 @@ RUN set -xe; \ pecl install \ "amqp-${EXT_AMQP_VER}" \ "apcu-${EXT_APCU_VER}" \ + "ds-${EXT_DS_VER}" \ "geoip-${EXT_GEOIP_VER}" \ "grpc-${EXT_GRPC_VER}" \ "imagick-${EXT_IMAGICK_VER}" \ @@ -203,6 +205,7 @@ RUN set -xe; \ docker-php-ext-enable \ amqp \ apcu \ + ds \ imagick \ geoip \ grpc \ diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index 218ede6e..212c20f5 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -11,6 +11,7 @@ ctype curl date dom +ds exif fileinfo filter diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index 218ede6e..212c20f5 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -11,6 +11,7 @@ ctype curl date dom +ds exif fileinfo filter diff --git a/7/test/php_modules/7.2 b/7/test/php_modules/7.2 index acd7c45f..c6a98685 100644 --- a/7/test/php_modules/7.2 +++ b/7/test/php_modules/7.2 @@ -11,6 +11,7 @@ ctype curl date dom +ds exif fileinfo filter diff --git a/README.md b/README.md index cded5864..69cacb07 100644 --- a/README.md +++ b/README.md @@ -204,6 +204,7 @@ Deprecated variables still supported but will be removed in future releases [amqp]: http://pecl.php.net/package/amqp [apcu]: http://pecl.php.net/package/apcu [ast]: https://github.com/nikic/php-ast +[ds]: https://pecl.php.net/package/ds [geoip]: https://pecl.php.net/package/geoip [grpc]: https://pecl.php.net/package/grpc [imagick]: https://pecl.php.net/package/imagick @@ -237,6 +238,7 @@ Deprecated variables still supported but will be removed in future releases | curl | | | | | | date | | | | | | dom | | | | | +| [ds] | 1.2.4 | 1.2.4 | 1.2.4 | - | | exif | | | | | | ereg | - | - | - | | | fileinfo | | | | | From f241f8179f425ff7fe30ab19c756f676e9a5704d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 31 Jan 2018 14:19:50 +0700 Subject: [PATCH 050/559] Use ssh keys generation script from wodby/alpine --- 5.3/Dockerfile | 10 +++++++--- 5.3/actions/sshd-generate-keys.sh | 16 ---------------- 5.3/docker-entrypoint.sh | 6 +++--- 5.6/Dockerfile | 10 +++++++--- 5.6/actions/sshd-generate-keys.sh | 16 ---------------- 5.6/docker-entrypoint.sh | 6 +++--- 7/Dockerfile | 10 +++++++--- 7/actions/sshd-generate-keys.sh | 16 ---------------- 7/docker-entrypoint.sh | 6 +++--- 9 files changed, 30 insertions(+), 66 deletions(-) delete mode 100755 5.3/actions/sshd-generate-keys.sh delete mode 100755 5.6/actions/sshd-generate-keys.sh delete mode 100755 7/actions/sshd-generate-keys.sh diff --git a/5.3/Dockerfile b/5.3/Dockerfile index e4eb122d..87de8328 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -192,9 +192,13 @@ ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_ RABBITMQ_C_URL="https://github.com/alanxz/rabbitmq-c/releases/download/v${RABBITMQ_C_VER}/rabbitmq-c-${RABBITMQ_C_VER}.tar.gz" \ \ APP_ROOT="/var/www/html" \ - FILES_DIR="/mnt/files" \ CONF_DIR="/var/www/conf" \ - PATH="/home/www-data/.composer/vendor/bin:${PATH}" + FILES_DIR="/mnt/files" \ + PATH="/home/www-data/.composer/vendor/bin:${PATH}" \ + SSHD_HOST_KEYS_DIR="/etc/ssh" \ + \ + GIT_USER_EMAIL="www-data@example.com" \ + GIT_USER_NAME="www-data" RUN set -xe; \ \ @@ -334,7 +338,7 @@ RUN set -xe; \ { \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ + echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo "/usr/sbin/crond" ; \ diff --git a/5.3/actions/sshd-generate-keys.sh b/5.3/actions/sshd-generate-keys.sh deleted file mode 100755 index 1e19a954..00000000 --- a/5.3/actions/sshd-generate-keys.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -dir="${1:-/etc/ssh}" - -mkdir -p "${dir}" -if [[ ! -f "${dir}/ssh_host_rsa_key" ]]; then - ssh-keygen -qb 2048 -t rsa -N "" -f "${dir}/ssh_host_rsa_key" -fi -chmod 0600 "${dir}/ssh_host_rsa_key" -chmod 0644 "${dir}/ssh_host_rsa_key.pub" diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 1c68b0b8..fb518dff 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -74,7 +74,7 @@ init_sshd() { } \ }' > "${SSH_DIR}/environment" - sudo sshd-generate-keys.sh "${SSHD_HOST_KEYS_DIR}" + sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { @@ -92,8 +92,8 @@ process_templates() { } init_git() { - git config --global user.email "${GIT_USER_EMAIL:-www-data@example.com}" - git config --global user.name "${GIT_USER_NAME:-www-data}" + git config --global user.email "${GIT_USER_EMAIL}" + git config --global user.name "${GIT_USER_NAME}" } sudo fix-permissions.sh www-data www-data "${FILES_DIR}" "${APP_ROOT}" diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 22c56b71..b2f2febb 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -44,9 +44,13 @@ ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_ BLACKFIRE_URL="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64" \ \ APP_ROOT="/var/www/html" \ - FILES_DIR="/mnt/files" \ CONF_DIR="/var/www/conf" \ - PATH="/home/www-data/.composer/vendor/bin:${PATH}" + FILES_DIR="/mnt/files" \ + PATH="/home/www-data/.composer/vendor/bin:${PATH}" \ + SSHD_HOST_KEYS_DIR="/etc/ssh" \ + \ + GIT_USER_EMAIL="www-data@example.com" \ + GIT_USER_NAME="www-data" RUN set -xe; \ \ @@ -221,7 +225,7 @@ RUN set -xe; \ { \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ + echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ diff --git a/5.6/actions/sshd-generate-keys.sh b/5.6/actions/sshd-generate-keys.sh deleted file mode 100755 index 1e19a954..00000000 --- a/5.6/actions/sshd-generate-keys.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -dir="${1:-/etc/ssh}" - -mkdir -p "${dir}" -if [[ ! -f "${dir}/ssh_host_rsa_key" ]]; then - ssh-keygen -qb 2048 -t rsa -N "" -f "${dir}/ssh_host_rsa_key" -fi -chmod 0600 "${dir}/ssh_host_rsa_key" -chmod 0644 "${dir}/ssh_host_rsa_key.pub" diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index c5d99c7f..f92aee00 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -74,7 +74,7 @@ init_sshd() { } \ }' > "${SSH_DIR}/environment" - sudo sshd-generate-keys.sh "${SSHD_HOST_KEYS_DIR}" + sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { @@ -102,8 +102,8 @@ process_templates() { } init_git() { - git config --global user.email "${GIT_USER_EMAIL:-www-data@example.com}" - git config --global user.name "${GIT_USER_NAME:-www-data}" + git config --global user.email "${GIT_USER_EMAIL}" + git config --global user.name "${GIT_USER_NAME}" } sudo fix-permissions.sh www-data www-data "${FILES_DIR}" "${APP_ROOT}" diff --git a/7/Dockerfile b/7/Dockerfile index 66f05798..e166a854 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -49,9 +49,13 @@ ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz BLACKFIRE_URL="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64" \ \ APP_ROOT="/var/www/html" \ - FILES_DIR="/mnt/files" \ CONF_DIR="/var/www/conf" \ - PATH="/home/www-data/.composer/vendor/bin:${PATH}" + FILES_DIR="/mnt/files" \ + PATH="/home/www-data/.composer/vendor/bin:${PATH}" \ + SSHD_HOST_KEYS_DIR="/etc/ssh" \ + \ + GIT_USER_EMAIL="www-data@example.com" \ + GIT_USER_NAME="www-data" ADD https://patch-diff.githubusercontent.com/raw/php/php-src/pull/2955.patch /usr/src/ @@ -253,7 +257,7 @@ RUN set -xe; \ { \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/local/bin/sshd-generate-keys.sh, ' ; \ + echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ diff --git a/7/actions/sshd-generate-keys.sh b/7/actions/sshd-generate-keys.sh deleted file mode 100755 index 1e19a954..00000000 --- a/7/actions/sshd-generate-keys.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -dir="${1:-/etc/ssh}" - -mkdir -p "${dir}" -if [[ ! -f "${dir}/ssh_host_rsa_key" ]]; then - ssh-keygen -qb 2048 -t rsa -N "" -f "${dir}/ssh_host_rsa_key" -fi -chmod 0600 "${dir}/ssh_host_rsa_key" -chmod 0644 "${dir}/ssh_host_rsa_key.pub" diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 75e44cea..a2ade57c 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -75,7 +75,7 @@ init_sshd() { } \ }' > "${SSH_DIR}/environment" - sudo sshd-generate-keys.sh "${SSHD_HOST_KEYS_DIR}" + sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { @@ -109,8 +109,8 @@ process_templates() { } init_git() { - git config --global user.email "${GIT_USER_EMAIL:-www-data@example.com}" - git config --global user.name "${GIT_USER_NAME:-www-data}" + git config --global user.email "${GIT_USER_EMAIL}" + git config --global user.name "${GIT_USER_NAME}" } sudo fix-permissions.sh www-data www-data "${FILES_DIR}" "${APP_ROOT}" From ad35f6591596d2c7661eee77ce5dc244b3b8230f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 31 Jan 2018 14:43:13 +0700 Subject: [PATCH 051/559] Use ssh keys generation script from wodby/alpine --- 5.3/templates/sshd_config.tpl | 8 ++++---- 5.6/templates/sshd_config.tpl | 8 ++++---- 7/templates/sshd_config.tpl | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/5.3/templates/sshd_config.tpl b/5.3/templates/sshd_config.tpl index ed4b4a99..5f16dba5 100644 --- a/5.3/templates/sshd_config.tpl +++ b/5.3/templates/sshd_config.tpl @@ -16,10 +16,10 @@ #ListenAddress :: {{ $keys_dir := (getenv "SSHD_HOST_KEYS_DIR" "/etc/ssh") }} -HostKey {{ $keys_dir }}/ssh_host_rsa_key -HostKey {{ $keys_dir }}/ssh_host_dsa_key -HostKey {{ $keys_dir }}/ssh_host_ecdsa_key -HostKey {{ $keys_dir }}/ssh_host_ed25519_key +HostKey {{ $keys_dir }}/ssh_rsa_key +HostKey {{ $keys_dir }}/ssh_dsa_key +HostKey {{ $keys_dir }}/ssh_ecdsa_key +HostKey {{ $keys_dir }}/ssh_ed25519_key # Ciphers and keying #RekeyLimit default none diff --git a/5.6/templates/sshd_config.tpl b/5.6/templates/sshd_config.tpl index ed4b4a99..5f16dba5 100644 --- a/5.6/templates/sshd_config.tpl +++ b/5.6/templates/sshd_config.tpl @@ -16,10 +16,10 @@ #ListenAddress :: {{ $keys_dir := (getenv "SSHD_HOST_KEYS_DIR" "/etc/ssh") }} -HostKey {{ $keys_dir }}/ssh_host_rsa_key -HostKey {{ $keys_dir }}/ssh_host_dsa_key -HostKey {{ $keys_dir }}/ssh_host_ecdsa_key -HostKey {{ $keys_dir }}/ssh_host_ed25519_key +HostKey {{ $keys_dir }}/ssh_rsa_key +HostKey {{ $keys_dir }}/ssh_dsa_key +HostKey {{ $keys_dir }}/ssh_ecdsa_key +HostKey {{ $keys_dir }}/ssh_ed25519_key # Ciphers and keying #RekeyLimit default none diff --git a/7/templates/sshd_config.tpl b/7/templates/sshd_config.tpl index ed4b4a99..5f16dba5 100644 --- a/7/templates/sshd_config.tpl +++ b/7/templates/sshd_config.tpl @@ -16,10 +16,10 @@ #ListenAddress :: {{ $keys_dir := (getenv "SSHD_HOST_KEYS_DIR" "/etc/ssh") }} -HostKey {{ $keys_dir }}/ssh_host_rsa_key -HostKey {{ $keys_dir }}/ssh_host_dsa_key -HostKey {{ $keys_dir }}/ssh_host_ecdsa_key -HostKey {{ $keys_dir }}/ssh_host_ed25519_key +HostKey {{ $keys_dir }}/ssh_rsa_key +HostKey {{ $keys_dir }}/ssh_dsa_key +HostKey {{ $keys_dir }}/ssh_ecdsa_key +HostKey {{ $keys_dir }}/ssh_ed25519_key # Ciphers and keying #RekeyLimit default none From 26463f0d35a99a00fefff0cb8db93a02750821e6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 13:32:22 +0700 Subject: [PATCH 052/559] Secure volumes permissions fix --- 5.3/Dockerfile | 4 +++- 5.3/docker-entrypoint.sh | 2 +- 5.6/Dockerfile | 4 +++- 5.6/docker-entrypoint.sh | 2 +- 7/Dockerfile | 4 +++- 7/docker-entrypoint.sh | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 87de8328..b3d90c37 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -334,12 +334,14 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + \ # Configure sudoers { \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ + echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo "/usr/sbin/crond" ; \ } | tee /etc/sudoers.d/www-data; \ diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index fb518dff..6420f301 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -96,7 +96,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo fix-permissions.sh www-data www-data "${FILES_DIR}" "${APP_ROOT}" +sudo fix-volumes-permissions.sh mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" validate_dirs diff --git a/5.6/Dockerfile b/5.6/Dockerfile index b2f2febb..30fc2972 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -218,6 +218,8 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ echo 'www-data ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/www-data; \ @@ -226,7 +228,7 @@ RUN set -xe; \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ + echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ } | tee /etc/sudoers.d/www-data; \ diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index f92aee00..7dc48503 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -106,7 +106,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo fix-permissions.sh www-data www-data "${FILES_DIR}" "${APP_ROOT}" +sudo fix-volumes-permissions.sh mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" validate_dirs diff --git a/7/Dockerfile b/7/Dockerfile index e166a854..19257cf4 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -250,6 +250,8 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ echo 'www-data ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/www-data; \ @@ -258,7 +260,7 @@ RUN set -xe; \ echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-permissions.sh, ' ; \ + echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ } | tee /etc/sudoers.d/www-data; \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index a2ade57c..8517a8b3 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -113,7 +113,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo fix-permissions.sh www-data www-data "${FILES_DIR}" "${APP_ROOT}" +sudo fix-volumes-permissions.sh mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" validate_dirs From 7032a829eab86889ac2f690712161640b34630e2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 13:34:30 +0700 Subject: [PATCH 053/559] Ensure FPM has write permissions to public files dir --- 5.3/actions/init-public-storage.sh | 3 +++ 5.6/actions/init-public-storage.sh | 3 +++ 7/actions/init-public-storage.sh | 3 +++ 3 files changed, 9 insertions(+) diff --git a/5.3/actions/init-public-storage.sh b/5.3/actions/init-public-storage.sh index b64ceac0..1ec03ced 100755 --- a/5.3/actions/init-public-storage.sh +++ b/5.3/actions/init-public-storage.sh @@ -26,4 +26,7 @@ if [[ -n "${app_public_dir}" ]]; then else ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi + + # Make sure FPM can write to the public folder. + chmod 775 "${app_public_dir}" fi diff --git a/5.6/actions/init-public-storage.sh b/5.6/actions/init-public-storage.sh index b64ceac0..1ec03ced 100755 --- a/5.6/actions/init-public-storage.sh +++ b/5.6/actions/init-public-storage.sh @@ -26,4 +26,7 @@ if [[ -n "${app_public_dir}" ]]; then else ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi + + # Make sure FPM can write to the public folder. + chmod 775 "${app_public_dir}" fi diff --git a/7/actions/init-public-storage.sh b/7/actions/init-public-storage.sh index b64ceac0..1ec03ced 100755 --- a/7/actions/init-public-storage.sh +++ b/7/actions/init-public-storage.sh @@ -26,4 +26,7 @@ if [[ -n "${app_public_dir}" ]]; then else ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi + + # Make sure FPM can write to the public folder. + chmod 775 "${app_public_dir}" fi From c4b24482168da8a761e1eeb1423b8f3fd6ea853f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 13:55:15 +0700 Subject: [PATCH 054/559] Secure volumes permissions fix --- 5.3/Dockerfile | 7 ++++++- 5.6/Dockerfile | 7 ++++++- 7/Dockerfile | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index b3d90c37..948fd159 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -334,7 +334,12 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + # Script to fix volumes permissions via sudo. + { \ + echo -n "#!/usr/bin/env bash"; \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}"; \ + } | tee /usr/local/bin/fix-volumes-permissions.sh; \ + chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers { \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 30fc2972..017d445a 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -218,7 +218,12 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + # Script to fix volumes permissions via sudo. + { \ + echo -n "#!/usr/bin/env bash"; \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}"; \ + } | tee /usr/local/bin/fix-volumes-permissions.sh; \ + chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ diff --git a/7/Dockerfile b/7/Dockerfile index 19257cf4..87ab2719 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -250,7 +250,12 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + # Script to fix volumes permissions via sudo. + { \ + echo -n "#!/usr/bin/env bash"; \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}"; \ + } | tee /usr/local/bin/fix-volumes-permissions.sh; \ + chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ From 1eb2a77639e409d6271c5c23b114277bf1c8c6b6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 14:11:05 +0700 Subject: [PATCH 055/559] Secure volumes permissions fix --- 5.3/Dockerfile | 5 +---- 5.6/Dockerfile | 5 +---- 7/Dockerfile | 5 +---- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 948fd159..ab9bc88e 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -335,10 +335,7 @@ RUN set -xe; \ su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ # Script to fix volumes permissions via sudo. - { \ - echo -n "#!/usr/bin/env bash"; \ - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}"; \ - } | tee /usr/local/bin/fix-volumes-permissions.sh; \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 017d445a..32dd1fb0 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -219,10 +219,7 @@ RUN set -xe; \ su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ # Script to fix volumes permissions via sudo. - { \ - echo -n "#!/usr/bin/env bash"; \ - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}"; \ - } | tee /usr/local/bin/fix-volumes-permissions.sh; \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers diff --git a/7/Dockerfile b/7/Dockerfile index 87ab2719..b4595965 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -251,10 +251,7 @@ RUN set -xe; \ su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ \ # Script to fix volumes permissions via sudo. - { \ - echo -n "#!/usr/bin/env bash"; \ - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}"; \ - } | tee /usr/local/bin/fix-volumes-permissions.sh; \ + echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers From aba0f606bbef752ed58200408f3d4f8ddb968a16 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 14:28:19 +0700 Subject: [PATCH 056/559] Update description --- README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 69cacb07..8de77a41 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ [![Docker Pulls](https://img.shields.io/docker/pulls/wodby/php.svg)](https://hub.docker.com/r/wodby/php) [![Docker Stars](https://img.shields.io/docker/stars/wodby/php.svg)](https://hub.docker.com/r/wodby/php) [![Docker Layers](https://images.microbadger.com/badges/image/wodby/php.svg)](https://microbadger.com/images/wodby/php) -[![Wodby Slack](http://slack.wodby.com/badge.svg)](http://slack.wodby.com) ## Table of Contents @@ -17,6 +16,8 @@ * [Tools](#tools) * [Global Composer Packages](#global-composer-packages) * [`-dev` images](#-dev-images) +* [Complete PHP stack](#complete-php-stack) +* [Images based on `wodby/php`](#images-based-on-wodbyphp) * [Orchestration Actions](#orchestration-actions) ## Docker Images @@ -167,7 +168,8 @@ The default configuration is not recommended to be used for production environme | [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version -> Default value of environment variables marked with `*` is different in dev versions of images, see [`-dev` images](#-dev-images) for details + +> Default value of environment variables marked with `*` is different for [`-dev` images](#-dev-images) #### Additional configuration @@ -326,12 +328,21 @@ Images with `-dev` tag have a few differences: * PHP compiled with `--enabled-debug` flag * PHP binaries are not stripped from debug symbols (useful for segfaults debug) -* Some extensions may not be available (e.g. blackfire and xdebug do not work with PHP compiled with `--enabled-debug` +* Some extensions may not be available (e.g. blackfire and xdebug do not work `--enabled-debug`) * Different default value of certain environment variables: `PHP_FPM_CLEAR_ENV=no`, `PHP_FPM_LOG_LEVEL=debug` * `sudo` allowed for all commands for `www-data` user * PHP source code available under `/usr/src/php.tar.xz` * `gdb` is available +## Complete PHP stack + +See [wodby/docker4php](https://github.com/wodby/docker4php) for the complete PHP stack. + +## Images based on `wodby/php` + +* [wodby/drupal-php](https://github.com/wodby/drupal-php) +* [wodby/wordpress-php](https://github.com/wodby/wordpress-php) + ## Orchestration Actions Usage: From 37ae3885dfd3ca2f1fbc68d96c5afd2465ea0baf Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 14:31:10 +0700 Subject: [PATCH 057/559] Update description --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8de77a41..3b7a55b3 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,8 @@ ## Docker Images +!!! For better reliability we additionally release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We **STRONGLY RECOMMEND** using images only with stability tags. + * All images are based on Alpine Linux * Base image: [wodby/base-php](https://github.com/wodby/base-php) ([wodby/alpine](https://github.com/wodby/alpine) for 5.3) * [Travis CI builds](https://travis-ci.org/wodby/php) @@ -40,8 +42,6 @@ Supported tags and respective `Dockerfile` links: * `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) * `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -For better reliability we additionally release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to git tags. We **strongly recommend** using images only with stability tags. - > The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 ## Environment Variables From a88b7834d6761feaab4cc749be844ea946ae964b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 14:32:44 +0700 Subject: [PATCH 058/559] Update description --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3b7a55b3..d18a4329 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,15 @@ ## Docker Images -!!! For better reliability we additionally release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We **STRONGLY RECOMMEND** using images only with stability tags. +!!! For better reliability we release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We **STRONGLY RECOMMEND** using images only with stability tags. + +About images: * All images are based on Alpine Linux * Base image: [wodby/base-php](https://github.com/wodby/base-php) ([wodby/alpine](https://github.com/wodby/alpine) for 5.3) * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) -* `-dev` images have a few [changes](#-dev-images) +* `-dev` images have a few [differences](#-dev-images) Supported tags and respective `Dockerfile` links: From d713f4386de1bd1d58da9a67e2b85859fce00e1f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 15:06:58 +0700 Subject: [PATCH 059/559] Update xdebug for 7.x --- 7/Dockerfile | 4 ++-- 7/docker-entrypoint.sh | 5 +---- README.md | 4 ++-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index b4595965..5e5920af 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -20,7 +20,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MONGODB_VER="1.3.2" \ EXT_OAUTH_VER="2.0.2" \ EXT_REDIS_VER="3.1.4" \ - EXT_XDEBUG_VER="2.5.5" \ + EXT_XDEBUG_VER="2.6.0" \ EXT_YAML_VER="2.0.2" \ \ PHP72_EXT_MCRYPT_VER="1.0.1" \ @@ -171,7 +171,6 @@ RUN set -xe; \ \ # PHP 7.2: # - mcrypt moved to pecl - # - No xdebug support yet (TODO: return xdebug config template processing once support added) if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ pecl install mcrypt-${PHP72_EXT_MCRYPT_VER}; \ docker-php-ext-enable mcrypt; \ @@ -204,6 +203,7 @@ RUN set -xe; \ "mongodb-${EXT_MONGODB_VER}" \ "oauth-${EXT_OAUTH_VER}" \ "redis-${EXT_REDIS_VER}" \ + "xdebug-${EXT_XDEBUG_VER}" \ "yaml-${EXT_YAML_VER}"; \ \ docker-php-ext-enable \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 8517a8b3..20fc4651 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -90,10 +90,7 @@ process_templates() { export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - - if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - fi + exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" fi if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then diff --git a/README.md b/README.md index d18a4329..f6186ac3 100644 --- a/README.md +++ b/README.md @@ -166,7 +166,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | | `PHP_XDEBUG` | - | | | | | [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | `0` | -| _see all xdebug ext options_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | | [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version @@ -292,7 +292,7 @@ Deprecated variables still supported but will be removed in future releases | standard | | | | | | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | -| [xdebug] | - | 2.5.5 | 2.5.5 | 2.5.5 | +| [xdebug] | 2.6.0 | 2.6.0 | 2.6.0 | 2.5.5 | | xml | | | | | | xmlreader | | | | | | xmlrpc | | | | | From 0232ef40b342b4c26d46c8acec1b1a375f230943 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 15:09:01 +0700 Subject: [PATCH 060/559] NewRelic extension now supports PHP 7.2 --- 5.6/docker-entrypoint.sh | 2 +- 7/docker-entrypoint.sh | 5 +---- README.md | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 7dc48503..9568e2c2 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -90,13 +90,13 @@ process_templates() { else exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" + exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" fi exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 20fc4651..cf85d4f8 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -93,13 +93,10 @@ process_templates() { exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" fi - if [[ "${PHP_VER_MINOR}" != "7.2" ]]; then - exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" - fi - exec_tpl "docker-php-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" diff --git a/README.md b/README.md index f6186ac3..6f9a2e73 100644 --- a/README.md +++ b/README.md @@ -267,7 +267,7 @@ Deprecated variables still supported but will be removed in future releases | mysql | - | - | - | | | mysqli | | | | | | mysqlnd | | | | | -| [newrelic] | - | latest | latest | latest | +| [newrelic] | latest | latest | latest | latest | | [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | | openssl | | | | | | pcntl | | | | | From 89bda1584168a15faeb90a8819a864f87f7cbd5b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 16:12:31 +0700 Subject: [PATCH 061/559] Separate -dev and -debug images --- .travis.yml | 30 ++++++---- 5.6/Makefile | 19 +++++-- 5.6/docker-entrypoint.sh | 6 +- 5.6/test/tests.sh | 2 +- 7/Dockerfile | 34 +++++------ 7/Makefile | 19 +++++-- 7/docker-entrypoint.sh | 8 ++- 7/test/{php_modules/7.0 => php_modules} | 0 7/test/php_modules/7.1 | 75 ------------------------- 7/test/php_modules/7.2 | 72 ------------------------ 7/test/tests.sh | 4 +- README.md | 25 ++++++--- 12 files changed, 99 insertions(+), 195 deletions(-) rename 7/test/{php_modules/7.0 => php_modules} (100%) delete mode 100644 7/test/php_modules/7.1 delete mode 100644 7/test/php_modules/7.2 diff --git a/.travis.yml b/.travis.yml index 324cc701..2e2d5606 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,16 +6,25 @@ services: env: global: - LATEST_TAG=7.2 + - PHP72=7.2.1 + - PHP71=7.1.13 + - PHP70=7.0.27 + - PHP56=5.6.33 + - PHP53=5.3.29 matrix: - - TAG=7.2 PHP_VER=7.2.1 - - TAG=7.1 PHP_VER=7.1.13 - - TAG=7.0 PHP_VER=7.0.27 - - TAG=5.6 PHP_VER=5.6.33 - - TAG=5.3 PHP_VER=5.3.29 - - TAG=7.2-dev PHP_VER=7.2.1 PHP_DEV=1 - - TAG=7.1-dev PHP_VER=7.1.13 PHP_DEV=1 - - TAG=7.0-dev PHP_VER=7.0.27 PHP_DEV=1 - - TAG=5.6-dev PHP_VER=5.6.33 PHP_DEV=1 + - TAG=7.2 PHP_VER="${PHP72}" + - TAG=7.1 PHP_VER="${PHP71}" + - TAG=7.0 PHP_VER="${PHP70}" + - TAG=5.6 PHP_VER="${PHP56}" + - TAG=5.3 PHP_VER="${PHP53}" + - TAG=7.2-dev PHP_VER="${PHP72}" PHP_DEV=1 + - TAG=7.1-dev PHP_VER="${PHP71}" PHP_DEV=1 + - TAG=7.0-dev PHP_VER="${PHP70}" PHP_DEV=1 + - TAG=5.6-dev PHP_VER="${PHP56}" PHP_DEV=1 + - TAG=7.2-debug PHP_VER="${PHP72}" PHP_DEBUG=1 + - TAG=7.1-debug PHP_VER="${PHP71}" PHP_DEBUG=1 + - TAG=7.0-debug PHP_VER="${PHP70}" PHP_DEBUG=1 + - TAG=5.6-debug PHP_VER="${PHP56}" PHP_DEBUG=1 script: - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" @@ -39,4 +48,5 @@ after_success: | notifications: on_failure: never slack: - secure: "Z/uc2jwlK/Kf6WJRyWIcofKgq9kCau+/RMe0NZYbLTVY0cwqIIOfQvVqWwjIZZNly5wUx0w+XlXDVWD0JVeTJFr/TZxpCObUaMzC0hEj4D59LsDkZ509i07QvuSVBNCqXuHoiXM5Ea7UvJkRRNpVohwqUpoVQ18hQ5++kuTMHW//wtHfbM7k/tkI5S/lWm/RulIdA2/txIFB0UiRGlIcLNJCVVSDELAnyC7sugbMw02Gq6epnTtjjMJKWN/5PyCe3YtTo7mut9xIaRMkrSNtA/24HdzY1OjOjw5YTtgfIzq5vHipQtf49tqMj74BOUjq3y7noFwxHxhwtmK8UnzKgrDnBFO8A7d4yWnErHgmEga/LNoKY3TvtIvsv4lfRh0LKqXv4B48DTJXTxmUIEHsVpBBG+ec5LZqYcCq+aM8QdvB+9gCrE8e+5vJKAJfd+za0jCLqY+ooxslPblntNsWIbvYyvvMKdzUfjAs/F1TIynR7gXU58QykJo/i+3KjFN+JHfLF5wJ/E8jbZXhbrmFZOVTn0IOqP5jPzxVsR0X5YSHIBD2iOujUFwklQYnWFBFMtZtKaNkHF+/KE5SyKlcjr4+qmeD2+mjHnzN1pPzq8dHwyqugQt7kkOgLptrHp2a9nfuVDWYeL/cuhkosDvY4NaESOi25/+qhv2wVNL7LBs=" \ No newline at end of file + secure: | + Z/uc2jwlK/Kf6WJRyWIcofKgq9kCau+/RMe0NZYbLTVY0cwqIIOfQvVqWwjIZZNly5wUx0w+XlXDVWD0JVeTJFr/TZxpCObUaMzC0hEj4D59LsDkZ509i07QvuSVBNCqXuHoiXM5Ea7UvJkRRNpVohwqUpoVQ18hQ5++kuTMHW//wtHfbM7k/tkI5S/lWm/RulIdA2/txIFB0UiRGlIcLNJCVVSDELAnyC7sugbMw02Gq6epnTtjjMJKWN/5PyCe3YtTo7mut9xIaRMkrSNtA/24HdzY1OjOjw5YTtgfIzq5vHipQtf49tqMj74BOUjq3y7noFwxHxhwtmK8UnzKgrDnBFO8A7d4yWnErHgmEga/LNoKY3TvtIvsv4lfRh0LKqXv4B48DTJXTxmUIEHsVpBBG+ec5LZqYcCq+aM8QdvB+9gCrE8e+5vJKAJfd+za0jCLqY+ooxslPblntNsWIbvYyvvMKdzUfjAs/F1TIynR7gXU58QykJo/i+3KjFN+JHfLF5wJ/E8jbZXhbrmFZOVTn0IOqP5jPzxVsR0X5YSHIBD2iOujUFwklQYnWFBFMtZtKaNkHF+/KE5SyKlcjr4+qmeD2+mjHnzN1pPzq8dHwyqugQt7kkOgLptrHp2a9nfuVDWYeL/cuhkosDvY4NaESOi25/+qhv2wVNL7LBs= \ No newline at end of file diff --git a/5.6/Makefile b/5.6/Makefile index 897bbac9..b6960dfb 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -9,16 +9,23 @@ FROM_TAG = $(PHP_VER) ifeq ($(TAG),) PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) - ifeq ($(PHP_DEV),) - TAG ?= $(PHP_VER_MINOR) + ifneq ($(PHP_DEBUG),) + TAG ?= $(PHP_VER_MINOR)-debug + else ifneq ($(PHP_DEV),) + TAG ?= $(PHP_VER_MINOR)-dev else - TAG ?= $(PHP_VER_MINOR)-dev + TAG ?= $(PHP_VER_MINOR) endif endif ifneq ($(PHP_DEV),) NAME := $(NAME)-dev +endif + +ifneq ($(PHP_DEBUG),) + NAME := $(NAME)-debug FROM_TAG := $(FROM_TAG)-debug + PHP_DEV := 1 endif ifneq ($(STABILITY_TAG),) @@ -32,7 +39,11 @@ endif default: build build: - docker build -t $(REPO):$(TAG) --build-arg FROM_TAG=$(FROM_TAG) --build-arg PHP_DEV=$(PHP_DEV) ./ + docker build -t $(REPO):$(TAG) \ + --build-arg FROM_TAG=$(FROM_TAG) \ + --build-arg PHP_DEV=$(PHP_DEV) \ + --build-arg PHP_DEBUG=$(PHP_DEBUG) \ + ./ test: IMAGE=$(REPO):$(TAG) ./test.sh diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 9568e2c2..5cb80bc4 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -86,17 +86,21 @@ process_templates() { if [[ -n "${PHP_DEV}" ]]; then export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" + fi + + if [[ -n "${PHP_DEBUG}" ]]; then export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else + # Extensions that don't work with --enabled-debug exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" fi exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } diff --git a/5.6/test/tests.sh b/5.6/test/tests.sh index bcd7b8df..86ce8c44 100755 --- a/5.6/test/tests.sh +++ b/5.6/test/tests.sh @@ -12,7 +12,7 @@ echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. cp ~/php_modules ~/expected_modules -if [[ -n "${PHP_DEV}" ]]; then +if [[ -n "${PHP_DEBUG}" ]]; then sed -i '/blackfire/d' ~/expected_modules sed -i '/newrelic/d' ~/expected_modules fi diff --git a/7/Dockerfile b/7/Dockerfile index 5e5920af..dec6bac3 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -3,8 +3,10 @@ ARG FROM_TAG FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV +ARG PHP_DEBUG ENV PHP_DEV="${PHP_DEV}" \ + PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ @@ -125,7 +127,7 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ - if [[ -n "${PHP_DEV}" ]]; then \ + if [[ -n "${PHP_DEBUG}" ]]; then \ apk add --update --no-cache --virtual .debug-tools gdb; \ fi; \ \ @@ -169,29 +171,26 @@ RUN set -xe; \ # PECL extensions pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ \ - # PHP 7.2: - # - mcrypt moved to pecl + # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ pecl install mcrypt-${PHP72_EXT_MCRYPT_VER}; \ docker-php-ext-enable mcrypt; \ else \ docker-php-ext-install mcrypt; \ - pecl install xdebug-${EXT_XDEBUG_VER}; \ - docker-php-ext-enable xdebug; \ - \ - # NewRelic extension and agent. - wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz \ - http://download.newrelic.com/php_agent/release/ >/dev/null 2>&1; \ - tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ - export NR_INSTALL_SILENT=true; \ - export NR_INSTALL_USE_CP_NOT_LN=true; \ - bash /tmp/newrelic/newrelic-install install; \ - rm /usr/local/etc/php/conf.d/newrelic.ini; \ - mkdir -p /var/log/newrelic/; \ - chown -R www-data:www-data /var/log/newrelic/; \ - chmod -R 775 /var/log/newrelic/; \ fi; \ \ + # NewRelic extension and agent. + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz \ + http://download.newrelic.com/php_agent/release/ >/dev/null 2>&1; \ + tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ + export NR_INSTALL_SILENT=true; \ + export NR_INSTALL_USE_CP_NOT_LN=true; \ + bash /tmp/newrelic/newrelic-install install; \ + rm /usr/local/etc/php/conf.d/newrelic.ini; \ + mkdir -p /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ + chmod -R 775 /var/log/newrelic/; \ + \ pecl install \ "amqp-${EXT_AMQP_VER}" \ "apcu-${EXT_APCU_VER}" \ @@ -217,6 +216,7 @@ RUN set -xe; \ mongodb \ oauth \ redis \ + xdebug \ yaml; \ \ # Blackfire extension diff --git a/7/Makefile b/7/Makefile index 7ab7f234..cb21eaf8 100644 --- a/7/Makefile +++ b/7/Makefile @@ -9,16 +9,23 @@ FROM_TAG = $(PHP_VER) ifeq ($(TAG),) PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) - ifeq ($(PHP_DEV),) - TAG ?= $(PHP_VER_MINOR) + ifneq ($(PHP_DEBUG),) + TAG ?= $(PHP_VER_MINOR)-debug + else ifneq ($(PHP_DEV),) + TAG ?= $(PHP_VER_MINOR)-dev else - TAG ?= $(PHP_VER_MINOR)-dev + TAG ?= $(PHP_VER_MINOR) endif endif ifneq ($(PHP_DEV),) NAME := $(NAME)-dev +endif + +ifneq ($(PHP_DEBUG),) + NAME := $(NAME)-debug FROM_TAG := $(FROM_TAG)-debug + PHP_DEV := 1 endif ifneq ($(STABILITY_TAG),) @@ -32,7 +39,11 @@ endif default: build build: - docker build -t $(REPO):$(TAG) --build-arg FROM_TAG=$(FROM_TAG) --build-arg PHP_DEV=$(PHP_DEV) ./ + docker build -t $(REPO):$(TAG) \ + --build-arg FROM_TAG=$(FROM_TAG) \ + --build-arg PHP_DEV=$(PHP_DEV) \ + --build-arg PHP_DEBUG=$(PHP_DEBUG) \ + ./ test: IMAGE=$(REPO):$(TAG) ./test.sh diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index cf85d4f8..33844006 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -87,17 +87,21 @@ process_templates() { if [[ -n "${PHP_DEV}" ]]; then export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" + fi + + if [[ -n "${PHP_DEBUG}" ]]; then export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else + # Extensions that don't work with --enabled-debug exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi exec_tpl "docker-php-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } diff --git a/7/test/php_modules/7.0 b/7/test/php_modules similarity index 100% rename from 7/test/php_modules/7.0 rename to 7/test/php_modules diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 deleted file mode 100644 index 212c20f5..00000000 --- a/7/test/php_modules/7.1 +++ /dev/null @@ -1,75 +0,0 @@ -[PHP Modules] -amqp -apcu -ast -bcmath -blackfire -bz2 -calendar -Core -ctype -curl -date -dom -ds -exif -fileinfo -filter -ftp -gd -geoip -grpc -hash -iconv -imagick -imap -intl -json -ldap -libxml -mbstring -mcrypt -memcached -mongodb -mysqli -mysqlnd -newrelic -OAuth -openssl -pcntl -pcre -PDO -pdo_mysql -pdo_pgsql -pdo_sqlite -pgsql -Phar -posix -readline -redis -Reflection -session -SimpleXML -soap -sockets -SPL -sqlite3 -standard -tokenizer -uploadprogress -xdebug -xml -xmlreader -xmlrpc -xmlwriter -xsl -yaml -Zend OPcache -zip -zlib - -[Zend Modules] -Xdebug -Zend OPcache -blackfire - diff --git a/7/test/php_modules/7.2 b/7/test/php_modules/7.2 deleted file mode 100644 index c6a98685..00000000 --- a/7/test/php_modules/7.2 +++ /dev/null @@ -1,72 +0,0 @@ -[PHP Modules] -amqp -apcu -ast -bcmath -blackfire -bz2 -calendar -Core -ctype -curl -date -dom -ds -exif -fileinfo -filter -ftp -gd -geoip -grpc -hash -iconv -imagick -imap -intl -json -ldap -libxml -mbstring -mcrypt -memcached -mongodb -mysqli -mysqlnd -OAuth -openssl -pcntl -pcre -PDO -pdo_mysql -pdo_pgsql -pdo_sqlite -pgsql -Phar -posix -readline -redis -Reflection -session -SimpleXML -soap -sockets -SPL -sqlite3 -standard -tokenizer -uploadprogress -xml -xmlreader -xmlrpc -xmlwriter -xsl -yaml -Zend OPcache -zip -zlib - -[Zend Modules] -Zend OPcache -blackfire - diff --git a/7/test/tests.sh b/7/test/tests.sh index 85fdce34..86ce8c44 100755 --- a/7/test/tests.sh +++ b/7/test/tests.sh @@ -10,9 +10,9 @@ php -m > ~/php_modules.tmp echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. -cp ~/php_modules/"${PHP_VERSION:0:3}" ~/expected_modules +cp ~/php_modules ~/expected_modules -if [[ -n "${PHP_DEV}" ]]; then +if [[ -n "${PHP_DEBUG}" ]]; then sed -i '/blackfire/d' ~/expected_modules sed -i '/newrelic/d' ~/expected_modules fi diff --git a/README.md b/README.md index 6f9a2e73..e8ae7823 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ * [Tools](#tools) * [Global Composer Packages](#global-composer-packages) * [`-dev` images](#-dev-images) +* [`-debug` images](#-debug-images) * [Complete PHP stack](#complete-php-stack) * [Images based on `wodby/php`](#images-based-on-wodbyphp) * [Orchestration Actions](#orchestration-actions) @@ -30,7 +31,7 @@ About images: * Base image: [wodby/base-php](https://github.com/wodby/base-php) ([wodby/alpine](https://github.com/wodby/alpine) for 5.3) * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) -* `-dev` images have a few [differences](#-dev-images) +* [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images have a few differences Supported tags and respective `Dockerfile` links: @@ -42,6 +43,10 @@ Supported tags and respective `Dockerfile` links: * `7.1-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `7.2-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) * `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) > The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 @@ -171,7 +176,7 @@ The default configuration is not recommended to be used for production environme > "-" - Not available for this version -> Default value of environment variables marked with `*` is different for [`-dev` images](#-dev-images) +> Default value of environment variables marked with `*` is different for [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images #### Additional configuration @@ -307,7 +312,7 @@ Legend: > - [EMPTY] – Core PHP extension > - "-" - Not exists in this version -> Some extensions may not be available in dev images, see [`-dev` images](#-dev-images) for details +> Some extensions may not be available in [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images Extensions xdebug and blackfire disabled by default. @@ -328,12 +333,18 @@ Extensions xdebug and blackfire disabled by default. Images with `-dev` tag have a few differences: -* PHP compiled with `--enabled-debug` flag -* PHP binaries are not stripped from debug symbols (useful for segfaults debug) -* Some extensions may not be available (e.g. blackfire and xdebug do not work `--enabled-debug`) -* Different default value of certain environment variables: `PHP_FPM_CLEAR_ENV=no`, `PHP_FPM_LOG_LEVEL=debug` * `sudo` allowed for all commands for `www-data` user * PHP source code available under `/usr/src/php.tar.xz` +* `PHP_FPM_CLEAR_ENV` is set to `no` by default + +## `-debug` Images + +Include all changes from `-dev` images and additionally: + +* PHP compiled with `--enabled-debug` flag +* PHP binaries are not stripped from debug symbols +* Some extensions do not work with `--enabled-debug` such as newrelic and blackfire +* `PHP_FPM_LOG_LEVEL` is set to `debug` by default * `gdb` is available ## Complete PHP stack From 27cf68cee8d2200a68dcb731e522d5f6ad81ab93 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 16:48:24 +0700 Subject: [PATCH 062/559] Add missing ARG --- 5.6/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 32dd1fb0..0cd304e1 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -3,8 +3,10 @@ ARG FROM_TAG FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV +ARG PHP_DEBUG ENV PHP_DEV="${PHP_DEV}" \ + PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ From bc099215ff24e9298305a4f5f5098b77bea2e4a3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 18:22:51 +0700 Subject: [PATCH 063/559] Update PHP to 7.1.14, 7.2.2 --- .travis.yml | 4 ++-- 7/Dockerfile | 7 ------- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2e2d5606..c632d721 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,8 +6,8 @@ services: env: global: - LATEST_TAG=7.2 - - PHP72=7.2.1 - - PHP71=7.1.13 + - PHP72=7.2.2 + - PHP71=7.1.14 - PHP70=7.0.27 - PHP56=5.6.33 - PHP53=5.3.29 diff --git a/7/Dockerfile b/7/Dockerfile index dec6bac3..f558b029 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -59,8 +59,6 @@ ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz GIT_USER_EMAIL="www-data@example.com" \ GIT_USER_NAME="www-data" -ADD https://patch-diff.githubusercontent.com/raw/php/php-src/pull/2955.patch /usr/src/ - RUN set -xe; \ \ # Recreate user with correct params @@ -133,11 +131,6 @@ RUN set -xe; \ \ docker-php-source extract; \ \ - # phar extension patch https://patch-diff.githubusercontent.com/php/php-src/pull/2955 - if [[ "${PHP_VERSION}" == "7.1.12" ]]; then \ - patch -d /usr/src/php -p1 < /usr/src/2955.patch; \ - fi; \ - \ docker-php-ext-install \ bcmath \ bz2 \ diff --git a/7/Makefile b/7/Makefile index cb21eaf8..0f489dd6 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.1 +PHP_VER ?= 7.2.2 REPO = wodby/php NAME = php-$(PHP_VER) From a441ce95894b969ba420bcb35e4ca6c8ab4b30c2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 2 Feb 2018 19:39:15 +0700 Subject: [PATCH 064/559] Rollback to alpine 3.6 --- 5.6/Dockerfile | 28 ++++++++++++++-------------- 7/Dockerfile | 28 ++++++++++++++-------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 0cd304e1..613ce10c 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -24,22 +24,22 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_XDEBUG_VER="2.5.5" \ EXT_YAML_VER="1.3.1" \ \ - C_CLIENT_VER="2007f-r7" \ - FREETYPE_VER="2.8.1-r2" \ - GEOIP_VER="1.6.11-r0" \ - ICU_LIBS_VER="59.1-r1" \ - IMAGEMAGICK_VER="7.0.7.11-r1" \ - LIBBZ2_VER="1.0.6-r6" \ - LIBJPEG_TURBO_VER="1.5.2-r0" \ - LIBLDAP_VER="2.4.45-r3" \ - LIBLTDL_VER="2.4.6-r4" \ + C_CLIENT_VER="2007f-r6" \ + FREETYPE_VER="2.7.1-r1" \ + GEOIP_VER="1.6.10-r0" \ + ICU_LIBS_VER="58.2-r2" \ + IMAGEMAGICK_VER="7.0.5.10-r0" \ + LIBBZ2_VER="1.0.6-r5" \ + LIBJPEG_TURBO_VER="1.5.1-r0" \ + LIBLDAP_VER="2.4.44-r5" \ + LIBLTDL_VER="2.4.6-r1" \ LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ LIBMCRYPT_VER="2.5.8-r7" \ - LIBPNG_VER="1.6.34-r1" \ - LIBXSLT_VER="1.1.31-r0" \ - MARIADB_CLIENT_VER="10.1.28-r1" \ - POSTGRESQL_CLIENT_VER="10.1-r1" \ - RABBITMQ_C_VER="0.8.0-r3" \ + LIBPNG_VER="1.6.29-r1" \ + LIBXSLT_VER="1.1.29-r3" \ + MARIADB_CLIENT_VER="10.1.26-r0" \ + POSTGRESQL_CLIENT_VER="9.6.6-r0" \ + RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ diff --git a/7/Dockerfile b/7/Dockerfile index f558b029..98c57424 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -27,22 +27,22 @@ ENV PHP_DEV="${PHP_DEV}" \ \ PHP72_EXT_MCRYPT_VER="1.0.1" \ \ - C_CLIENT_VER="2007f-r7" \ - FREETYPE_VER="2.8.1-r2" \ - GEOIP_VER="1.6.11-r0" \ - ICU_LIBS_VER="59.1-r1" \ - IMAGEMAGICK_VER="7.0.7.11-r1" \ - LIBBZ2_VER="1.0.6-r6" \ - LIBJPEG_TURBO_VER="1.5.2-r0" \ - LIBLDAP_VER="2.4.45-r3" \ - LIBLTDL_VER="2.4.6-r4" \ + C_CLIENT_VER="2007f-r6" \ + FREETYPE_VER="2.7.1-r1" \ + GEOIP_VER="1.6.10-r0" \ + ICU_LIBS_VER="58.2-r2" \ + IMAGEMAGICK_VER="7.0.5.10-r0" \ + LIBBZ2_VER="1.0.6-r5" \ + LIBJPEG_TURBO_VER="1.5.1-r0" \ + LIBLDAP_VER="2.4.44-r5" \ + LIBLTDL_VER="2.4.6-r1" \ LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ LIBMCRYPT_VER="2.5.8-r7" \ - LIBPNG_VER="1.6.34-r1" \ - LIBXSLT_VER="1.1.31-r0" \ - MARIADB_CLIENT_VER="10.1.28-r1" \ - POSTGRESQL_CLIENT_VER="10.1-r1" \ - RABBITMQ_C_VER="0.8.0-r3" \ + LIBPNG_VER="1.6.29-r1" \ + LIBXSLT_VER="1.1.29-r3" \ + MARIADB_CLIENT_VER="10.1.26-r0" \ + POSTGRESQL_CLIENT_VER="9.6.6-r0" \ + RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz" \ From 1f1c4c463b3ff3211f524fd8270e255d62c3a9d9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Feb 2018 12:50:53 +0700 Subject: [PATCH 065/559] Fix files volume permissions --- 5.3/Dockerfile | 15 +++++++++++++-- 5.3/docker-entrypoint.sh | 1 + 5.6/Dockerfile | 15 +++++++++++++-- 5.6/docker-entrypoint.sh | 1 + 7/Dockerfile | 9 ++++++++- 7/docker-entrypoint.sh | 1 + 6 files changed, 37 insertions(+), 5 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index ab9bc88e..cc67f5ff 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -352,7 +352,13 @@ RUN set -xe; \ echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ # Create required directories and fix permissions - mkdir -p "${APP_ROOT}" "${FILES_DIR}" "${CONF_DIR}"; \ + mkdir -p \ + "${APP_ROOT}" \ + "${CONF_DIR}" \ + "${FILES_DIR}/public" \ + "${FILES_DIR}/private"; + \ + chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ su-exec www-data mkdir /home/www-data/.ssh; \ \ touch /etc/ssh/sshd_config; \ @@ -363,7 +369,12 @@ RUN set -xe; \ chown root:www-data /etc/crontabs/www-data; \ chmod 660 /etc/crontabs/www-data; \ \ - chown -R www-data:www-data /var/www "${PHP_INI_DIR}/conf.d" /usr/local/etc/php-fpm.d/ /home/www-data/.profile; \ + chown -R www-data:www-data \ + /var/www \ + "${PHP_INI_DIR}/conf.d" \ + "${FILES_DIR}" \ + /usr/local/etc/php-fpm.d/ \ + /home/www-data/.profile; \ \ # Cleanup docker-php-source delete; \ diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 6420f301..143f206b 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -98,6 +98,7 @@ init_git() { sudo fix-volumes-permissions.sh mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" +chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" validate_dirs init_ssh_client diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 613ce10c..f52c1cc3 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -242,7 +242,13 @@ RUN set -xe; \ echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ # Create required directories and fix permissions - mkdir -p "${APP_ROOT}" "${FILES_DIR}" "${CONF_DIR}"; \ + mkdir -p \ + "${APP_ROOT}" \ + "${CONF_DIR}" \ + "${FILES_DIR}/public" \ + "${FILES_DIR}/private"; + \ + chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ su-exec www-data mkdir /home/www-data/.ssh; \ \ touch /etc/ssh/sshd_config; \ @@ -253,7 +259,12 @@ RUN set -xe; \ chown root:www-data /etc/crontabs/www-data; \ chmod 660 /etc/crontabs/www-data; \ \ - chown -R www-data:www-data /var/www "${PHP_INI_DIR}/conf.d" /usr/local/etc/php-fpm.d/ /home/www-data/.profile; \ + chown -R www-data:www-data \ + /var/www \ + "${PHP_INI_DIR}/conf.d" \ + "${FILES_DIR}" \ + /usr/local/etc/php-fpm.d/ \ + /home/www-data/.profile; \ \ # Cleanup su-exec www-data composer clear-cache; \ diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 5cb80bc4..0300ab66 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -112,6 +112,7 @@ init_git() { sudo fix-volumes-permissions.sh mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" +chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" validate_dirs init_ssh_client diff --git a/7/Dockerfile b/7/Dockerfile index 98c57424..a488c8bf 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -265,7 +265,13 @@ RUN set -xe; \ echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ # Create required directories and fix permissions - mkdir -p "${APP_ROOT}" "${FILES_DIR}" "${CONF_DIR}"; \ + mkdir -p \ + "${APP_ROOT}" \ + "${CONF_DIR}" \ + "${FILES_DIR}/public" \ + "${FILES_DIR}/private"; + \ + chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ su-exec www-data mkdir /home/www-data/.ssh; \ \ touch /etc/ssh/sshd_config; \ @@ -279,6 +285,7 @@ RUN set -xe; \ chown -R www-data:www-data \ /var/www \ "${PHP_INI_DIR}/conf.d" \ + "${FILES_DIR}" \ /usr/local/etc/php-fpm.d/ \ /home/www-data/.profile; \ \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 33844006..248eda3e 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -113,6 +113,7 @@ init_git() { sudo fix-volumes-permissions.sh mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" +chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" validate_dirs init_ssh_client From 7ff0c3284f102b08aee7e59cf2e2138067dd2acd Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Feb 2018 13:18:40 +0700 Subject: [PATCH 066/559] Fix Dockerfile syntax --- 5.3/Dockerfile | 2 +- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index cc67f5ff..dce7ea64 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -356,7 +356,7 @@ RUN set -xe; \ "${APP_ROOT}" \ "${CONF_DIR}" \ "${FILES_DIR}/public" \ - "${FILES_DIR}/private"; + "${FILES_DIR}/private"; \ \ chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ su-exec www-data mkdir /home/www-data/.ssh; \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index f52c1cc3..6873cb28 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -246,7 +246,7 @@ RUN set -xe; \ "${APP_ROOT}" \ "${CONF_DIR}" \ "${FILES_DIR}/public" \ - "${FILES_DIR}/private"; + "${FILES_DIR}/private"; \ \ chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ su-exec www-data mkdir /home/www-data/.ssh; \ diff --git a/7/Dockerfile b/7/Dockerfile index a488c8bf..be3a6527 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -269,7 +269,7 @@ RUN set -xe; \ "${APP_ROOT}" \ "${CONF_DIR}" \ "${FILES_DIR}/public" \ - "${FILES_DIR}/private"; + "${FILES_DIR}/private"; \ \ chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ su-exec www-data mkdir /home/www-data/.ssh; \ From fc71226017a856198c09e72b5b1e5e13d94dbadc Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Feb 2018 16:28:17 +0700 Subject: [PATCH 067/559] Install postgresql-client bins and redis-cli --- 5.3/Dockerfile | 31 ++++++++++++++++++++++++++++--- 5.6/Dockerfile | 33 +++++++++++++++++++++++++++++---- 7/Dockerfile | 33 +++++++++++++++++++++++++++++---- 3 files changed, 86 insertions(+), 11 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index dce7ea64..4870ab4c 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -202,7 +202,7 @@ ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_ RUN set -xe; \ \ - apk add --update --no-cache --virtual .php-rundeps \ + apk add --update --no-cache -t .php-rundeps \ bzip2 \ c-client \ fcgi \ @@ -235,7 +235,7 @@ RUN set -xe; \ tmux \ yaml; \ \ - apk add --update --no-cache --virtual .build-deps \ + apk add --update --no-cache -t .build-deps \ autoconf \ cmake \ build-base \ @@ -256,6 +256,31 @@ RUN set -xe; \ postgresql-dev \ yaml-dev; \ \ + # Temporary install additional packages to keep client bins. + apk add --update --no-cache -t .bins-only \ + postgresql \ + redis; \ + mkdir -p /tmp/pkgs-bins; \ + mv \ + /usr/bin/pg_basebackup \ + /usr/bin/clusterdb \ + /usr/bin/pg_dump \ + /usr/bin/dropuser \ + /usr/bin/pg_isready \ + /usr/bin/createuser \ + /usr/bin/pg_recvlogical \ + /usr/bin/psql \ + /usr/bin/reindexdb \ + /usr/bin/vacuumdb \ + /usr/bin/pg_dumpall \ + /usr/bin/createdb \ + /usr/bin/pg_restore \ + /usr/bin/dropdb \ + /usr/bin/redis-cli \ + /tmp/pkgs-bins; \ + apk del --purge .bins-only; \ + mv /tmp/pkgs-bins/* /usr/bin; \ + \ docker-php-source extract; \ \ docker-php-ext-install \ @@ -378,7 +403,7 @@ RUN set -xe; \ \ # Cleanup docker-php-source delete; \ - apk del .build-deps; \ + apk del --purge .build-deps; \ pecl clear-cache; \ \ rm -rf \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 6873cb28..c2a46ab2 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -64,7 +64,7 @@ RUN set -xe; \ sed -i '/^www-data/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ \ - apk add --update --no-cache --virtual .php-rundeps \ + apk add --update --no-cache -t .php-rundeps \ "c-client=${C_CLIENT_VER}" \ fcgi \ "freetype=${FREETYPE_VER}" \ @@ -97,7 +97,7 @@ RUN set -xe; \ tmux \ "yaml=${YAML_VER}"; \ \ - apk add --update --no-cache --virtual .build-deps \ + apk add --update --no-cache -t .build-deps \ autoconf \ cmake \ build-base \ @@ -121,9 +121,34 @@ RUN set -xe; \ yaml-dev; \ \ if [[ -n "${PHP_DEV}" ]]; then \ - apk add --update --no-cache --virtual .debug-tools gdb; \ + apk add --update --no-cache -t .debug-tools gdb; \ fi; \ \ + # Temporary install additional packages to keep client bins. + apk add --update --no-cache -t .bins-only \ + postgresql \ + redis; \ + mkdir -p /tmp/pkgs-bins; \ + mv \ + /usr/bin/pg_basebackup \ + /usr/bin/clusterdb \ + /usr/bin/pg_dump \ + /usr/bin/dropuser \ + /usr/bin/pg_isready \ + /usr/bin/createuser \ + /usr/bin/pg_recvlogical \ + /usr/bin/psql \ + /usr/bin/reindexdb \ + /usr/bin/vacuumdb \ + /usr/bin/pg_dumpall \ + /usr/bin/createdb \ + /usr/bin/pg_restore \ + /usr/bin/dropdb \ + /usr/bin/redis-cli \ + /tmp/pkgs-bins; \ + apk del --purge .bins-only; \ + mv /tmp/pkgs-bins/* /usr/bin; \ + \ docker-php-source extract; \ \ docker-php-ext-install \ @@ -269,7 +294,7 @@ RUN set -xe; \ # Cleanup su-exec www-data composer clear-cache; \ docker-php-source delete; \ - apk del .build-deps; \ + apk del --purge .build-deps; \ pecl clear-cache; \ \ rm -rf \ diff --git a/7/Dockerfile b/7/Dockerfile index be3a6527..6e2f788a 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -69,7 +69,7 @@ RUN set -xe; \ sed -i '/^www-data/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ \ - apk add --update --no-cache --virtual .php-rundeps \ + apk add --update --no-cache -t .php-rundeps \ "c-client=${C_CLIENT_VER}" \ fcgi \ "freetype=${FREETYPE_VER}" \ @@ -102,7 +102,7 @@ RUN set -xe; \ tmux \ "yaml=${YAML_VER}"; \ \ - apk add --update --no-cache --virtual .build-deps \ + apk add --update --no-cache -t .build-deps \ autoconf \ cmake \ build-base \ @@ -126,9 +126,34 @@ RUN set -xe; \ yaml-dev; \ \ if [[ -n "${PHP_DEBUG}" ]]; then \ - apk add --update --no-cache --virtual .debug-tools gdb; \ + apk add --update --no-cache -t .debug-tools gdb; \ fi; \ \ + # Temporary install additional packages to keep client bins. + apk add --update --no-cache -t .bins-only \ + postgresql \ + redis; \ + mkdir -p /tmp/pkgs-bins; \ + mv \ + /usr/bin/pg_basebackup \ + /usr/bin/clusterdb \ + /usr/bin/pg_dump \ + /usr/bin/dropuser \ + /usr/bin/pg_isready \ + /usr/bin/createuser \ + /usr/bin/pg_recvlogical \ + /usr/bin/psql \ + /usr/bin/reindexdb \ + /usr/bin/vacuumdb \ + /usr/bin/pg_dumpall \ + /usr/bin/createdb \ + /usr/bin/pg_restore \ + /usr/bin/dropdb \ + /usr/bin/redis-cli \ + /tmp/pkgs-bins; \ + apk del --purge .bins-only; \ + mv /tmp/pkgs-bins/* /usr/bin; \ + \ docker-php-source extract; \ \ docker-php-ext-install \ @@ -292,7 +317,7 @@ RUN set -xe; \ # Cleanup su-exec www-data composer clear-cache; \ docker-php-source delete; \ - apk del .build-deps; \ + apk del --purge .build-deps; \ pecl clear-cache; \ \ rm -rf \ From 4751e6fd688db18e70aebd1408f1623145e1c9f0 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 14:40:05 +0700 Subject: [PATCH 068/559] Change default user to wodby https://github.com/wodby/php/issues/22 --- .travis.yml | 10 +- 5.3/Dockerfile | 276 ++++++++-------------------------- 5.3/Makefile | 32 +++- 5.3/actions/actions.mk | 5 +- 5.3/actions/migrate.sh | 17 +++ 5.3/docker-entrypoint.sh | 12 +- 5.3/docker-php-entrypoint | 9 -- 5.3/docker-php-ext-configure | 58 ------- 5.3/docker-php-ext-enable | 83 ---------- 5.3/docker-php-ext-install | 119 --------------- 5.3/docker-php-source | 34 ----- 5.3/templates/zz-www.conf.tpl | 4 +- 5.3/test.sh | 6 +- 5.3/test/docker-compose.yml | 4 +- 5.6/Dockerfile | 68 ++++----- 5.6/actions/actions.mk | 5 +- 5.6/actions/migrate.sh | 17 +++ 5.6/docker-entrypoint.sh | 4 +- 5.6/templates/zz-www.conf.tpl | 4 +- 5.6/test.sh | 6 +- 5.6/test/docker-compose.yml | 4 +- 7/Dockerfile | 69 ++++----- 7/actions/actions.mk | 5 +- 7/actions/migrate.sh | 17 +++ 7/docker-entrypoint.sh | 4 +- 7/templates/zz-www.conf.tpl | 4 +- 7/test.sh | 7 +- 7/test/docker-compose.yml | 4 +- README.md | 16 +- 29 files changed, 276 insertions(+), 627 deletions(-) create mode 100755 5.3/actions/migrate.sh delete mode 100755 5.3/docker-php-entrypoint delete mode 100755 5.3/docker-php-ext-configure delete mode 100755 5.3/docker-php-ext-enable delete mode 100755 5.3/docker-php-ext-install delete mode 100755 5.3/docker-php-source create mode 100755 5.6/actions/migrate.sh create mode 100755 7/actions/migrate.sh diff --git a/.travis.yml b/.travis.yml index c632d721..f77ea7f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,16 +21,18 @@ env: - TAG=7.1-dev PHP_VER="${PHP71}" PHP_DEV=1 - TAG=7.0-dev PHP_VER="${PHP70}" PHP_DEV=1 - TAG=5.6-dev PHP_VER="${PHP56}" PHP_DEV=1 + - TAG=5.3-dev PHP_VER="${PHP53}" PHP_DEV=1 - TAG=7.2-debug PHP_VER="${PHP72}" PHP_DEBUG=1 - TAG=7.1-debug PHP_VER="${PHP71}" PHP_DEBUG=1 - TAG=7.0-debug PHP_VER="${PHP70}" PHP_DEBUG=1 - TAG=5.6-debug PHP_VER="${PHP56}" PHP_DEBUG=1 + - TAG=5.3-debug PHP_VER="${PHP53}" PHP_DEBUG=1 -script: - - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - - travis_retry make && make test +script: | + cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" + + travis_retry make && make test -after_success: | if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 4870ab4c..c360b51f 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -1,183 +1,17 @@ -FROM wodby/alpine:3.4 +ARG FROM_TAG -# persistent / runtime deps -ENV PHPIZE_DEPS \ - autoconf \ - file \ - g++ \ - gcc \ - libc-dev \ - make \ - pkgconf \ - re2c -RUN apk add --no-cache --virtual .persistent-deps \ - ca-certificates \ - curl \ - tar \ - xz +FROM wodby/base-php:${FROM_TAG} -# ensure www-data user exists -RUN set -x \ - && addgroup -g 82 -S www-data \ - && adduser -u 82 -D -S -s /bin/bash -G www-data www-data \ - && adduser -u 1000 -D -S -G www-data php-fpm \ - && sed -i '/^www-data/s/!/*/' /etc/shadow \ - && echo "PS1='\w\$ '" >> /home/www-data/.bashrc -# 82 is the standard uid/gid for "www-data" in Alpine -# http://git.alpinelinux.org/cgit/aports/tree/main/apache2/apache2.pre-install?h=v3.3.2 -# http://git.alpinelinux.org/cgit/aports/tree/main/lighttpd/lighttpd.pre-install?h=v3.3.2 -# http://git.alpinelinux.org/cgit/aports/tree/main/nginx-initscripts/nginx-initscripts.pre-install?h=v3.3.2 +ARG PHP_DEV +ARG PHP_DEBUG -ENV PHP_INI_DIR /usr/local/etc/php -RUN mkdir -p $PHP_INI_DIR/conf.d - -#### -ENV PHP_EXTRA_CONFIGURE_ARGS --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data -#### - -# Apply stack smash protection to functions using local buffers and alloca() -# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64) -# Enable optimization (-O2) -# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default) -# Adds GNU HASH segments to generated executables (this is used if present, and is much faster than sysv hash; in this configuration, sysv hash is also generated) -# https://github.com/docker-library/php/issues/272 -ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2" -ENV PHP_CPPFLAGS="$PHP_CFLAGS" -ENV PHP_LDFLAGS="-Wl,-O1 -Wl,--hash-style=both -pie" - -ENV GPG_KEYS 0B96609E270F565C13292B24C13C70B87267B52D 0A95E9A026542D53835E3F3A7DEC4E69FC9C83D7 0E604491 - -ENV PHP_VERSION 5.3.29 -ENV PHP_URL="https://secure.php.net/get/php-5.3.29.tar.xz/from/this/mirror" PHP_ASC_URL="https://secure.php.net/get/php-5.3.29.tar.xz.asc/from/this/mirror" -ENV PHP_SHA256="8438c2f14ab8f3d6cd2495aa37de7b559e33b610f9ab264f0c61b531bf0c262d" PHP_MD5="dcff9c881fe436708c141cfc56358075" - -RUN set -xe; \ - \ - apk add --no-cache --virtual .fetch-deps \ - gnupg \ - openssl \ - ; \ - \ - mkdir -p /usr/src; \ - cd /usr/src; \ - \ - wget -O php.tar.xz "$PHP_URL"; \ - \ - if [ -n "$PHP_SHA256" ]; then \ - echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \ - fi; \ - if [ -n "$PHP_MD5" ]; then \ - echo "$PHP_MD5 *php.tar.xz" | md5sum -c -; \ - fi; \ - \ - if [ -n "$PHP_ASC_URL" ]; then \ - wget -O php.tar.xz.asc "$PHP_ASC_URL"; \ - export GNUPGHOME="$(mktemp -d)"; \ - for key in $GPG_KEYS; do \ - gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ - done; \ - gpg --batch --verify php.tar.xz.asc php.tar.xz; \ - rm -r "$GNUPGHOME"; \ - fi; \ - \ - apk del .fetch-deps - -COPY docker-php-source /usr/local/bin/ - -RUN set -xe \ - && apk add --no-cache --virtual .build-deps \ - $PHPIZE_DEPS \ - curl-dev \ - libedit-dev \ - libxml2-dev \ - openssl-dev \ - sqlite-dev \ - \ - && export CFLAGS="$PHP_CFLAGS" \ - CPPFLAGS="$PHP_CPPFLAGS" \ - LDFLAGS="$PHP_LDFLAGS" \ - && docker-php-source extract \ - && cd /usr/src/php \ - && ./configure \ - --with-config-file-path="$PHP_INI_DIR" \ - --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ - \ - --disable-cgi \ - \ -# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) - --enable-ftp \ -# --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) - --enable-mbstring \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ - \ - --with-curl \ - --with-libedit \ - --with-openssl \ - --with-zlib \ - \ - $PHP_EXTRA_CONFIGURE_ARGS \ - && make -j "$(getconf _NPROCESSORS_ONLN)" \ - && make install \ - && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ - && make clean \ - && docker-php-source delete \ - \ - && runDeps="$( \ - scanelf --needed --nobanner --recursive /usr/local \ - | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ - | sort -u \ - | xargs -r apk info --installed \ - | sort -u \ - )" \ - && apk add --no-cache --virtual .php-rundeps $runDeps \ - \ - && apk del .build-deps - -COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ - -RUN set -ex \ - && cd /usr/local/etc \ - && if [ -d php-fpm.d ]; then \ - # for some reason, upstream's php-fpm.conf.default has "include=NONE/etc/php-fpm.d/*.conf" - sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; \ - cp php-fpm.d/www.conf.default php-fpm.d/www.conf; \ - else \ - # PHP 5.x doesn't use "include=" by default, so we'll create our own simple config that mimics PHP 7+ for consistency - mkdir php-fpm.d; \ - cp php-fpm.conf.default php-fpm.d/www.conf; \ - { \ - echo '[global]'; \ - echo 'include=etc/php-fpm.d/*.conf'; \ - } | tee php-fpm.conf; \ - fi \ - && { \ - echo '[global]'; \ - echo 'error_log = /proc/self/fd/2'; \ - echo; \ - echo '[www]'; \ - echo '; if we send this to /proc/self/fd/1, it never appears'; \ - echo 'access.log = /proc/self/fd/2'; \ - echo; \ - echo '; Ensure worker stdout and stderr are sent to the main error log.'; \ - echo 'catch_workers_output = yes'; \ - } | tee php-fpm.d/docker.conf \ - && { \ - echo '[global]'; \ - echo 'daemonize = no'; \ - echo; \ - echo '[www]'; \ - echo 'listen = 0.0.0.0:9000'; \ - } | tee php-fpm.d/zz-docker.conf \ - && sed -i '/listen = 127.0.0.1:9000/d' php-fpm.d/www.conf - -# INSTALLING EXTENSIONS - -ENV SSHD_PERMIT_USER_ENV="yes" \ +ENV PHP_DEV="${PHP_DEV}" \ + PHP_DEBUG="${PHP_DEBUG}" \ + SSHD_PERMIT_USER_ENV="yes" \ RABBITMQ_C_VER="0.8.0" \ WALTER_VER="1.3.0" \ \ - # Imagick missing because of bug in imagemagick library. + # No imagick ext because of a bug in imagemagick library. EXT_AMQP_VER="1.8.0" \ EXT_APCU_VER="4.0.11" \ EXT_MEMCACHED_VER="2.2.0" \ @@ -186,21 +20,24 @@ ENV SSHD_PERMIT_USER_ENV="yes" \ EXT_UPLOADPROGRESS_VER="1.0.3.1" \ EXT_XDEBUG_VER="2.2.7" \ EXT_YAML_VER="1.3.1" \ - EXT_OPCACHE_VER="7.0.5" - -ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ - RABBITMQ_C_URL="https://github.com/alanxz/rabbitmq-c/releases/download/v${RABBITMQ_C_VER}/rabbitmq-c-${RABBITMQ_C_VER}.tar.gz" \ + EXT_OPCACHE_VER="7.0.5" \ \ APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" \ - PATH="/home/www-data/.composer/vendor/bin:${PATH}" \ + PATH="/home/wodby/.composer/vendor/bin:${PATH}" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ \ - GIT_USER_EMAIL="www-data@example.com" \ - GIT_USER_NAME="www-data" + GIT_USER_EMAIL="wodby@example.com" \ + GIT_USER_NAME="wodby" RUN set -xe; \ + \ + addgroup -g 1000 -S wodby; \ + adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ + adduser www-data wodby; \ + sed -i '/^wodby/s/!/*/' /etc/shadow; \ + echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ apk add --update --no-cache -t .php-rundeps \ bzip2 \ @@ -256,6 +93,10 @@ RUN set -xe; \ postgresql-dev \ yaml-dev; \ \ + if [[ -n "${PHP_DEBUG}" ]]; then \ + apk add --update --no-cache -t .debug-tools gdb; \ + fi; \ + \ # Temporary install additional packages to keep client bins. apk add --update --no-cache -t .bins-only \ postgresql \ @@ -315,8 +156,9 @@ RUN set -xe; \ docker-php-ext-install -j${NPROC} gd; \ \ # RabbitMQ C client - wget -qO- ${RABBITMQ_C_URL} | tar xz -C /tmp/; \ - cd /tmp/rabbitmq-c-${RABBITMQ_C_VER}; \ + rmq_url="https://github.com/alanxz/rabbitmq-c/releases/download/v${RABBITMQ_C_VER}/rabbitmq-c-${RABBITMQ_C_VER}.tar.gz"; \ + wget -qO- "${rmq_url}" | tar xz -C /tmp/; \ + cd "/tmp/rabbitmq-c-${RABBITMQ_C_VER}"; \ mkdir -p build && cd build; \ cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr \ @@ -328,15 +170,15 @@ RUN set -xe; \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ \ pecl install \ - amqp-${EXT_AMQP_VER} \ - apcu-${EXT_APCU_VER} \ - memcached-${EXT_MEMCACHED_VER} \ - mongo-${EXT_MONGO_VER} \ - oauth-${EXT_OAUTH_VER} \ - uploadprogress-${EXT_UPLOADPROGRESS_VER} \ - xdebug-${EXT_XDEBUG_VER} \ - yaml-${EXT_YAML_VER} \ - ZendOpcache-${EXT_OPCACHE_VER}; \ + "amqp-${EXT_AMQP_VER}" \ + "apcu-${EXT_APCU_VER}" \ + "memcached-${EXT_MEMCACHED_VER}" \ + "mongo-${EXT_MONGO_VER}" \ + "oauth-${EXT_OAUTH_VER}" \ + "uploadprogress-${EXT_UPLOADPROGRESS_VER}" \ + "xdebug-${EXT_XDEBUG_VER}" \ + "yaml-${EXT_YAML_VER}" \ + "ZendOpcache-${EXT_OPCACHE_VER};" \ \ docker-php-ext-enable \ amqp \ @@ -353,25 +195,30 @@ RUN set -xe; \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Install Walter tool - wget -qO- ${WALTER_URL} | tar xz -C /tmp/; \ + walter_url="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz"; \ + wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ # Add composer bins to $PATH - su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ + su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ # Script to fix volumes permissions via sudo. - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + echo "chown wodby:wodby ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers - { \ - echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ - echo -n '/usr/sbin/sshd, ' ; \ - echo "/usr/sbin/crond" ; \ - } | tee /etc/sudoers.d/www-data; \ + if [[ -n "${PHP_DEV}" ]]; then \ + echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ + else \ + { \ + echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ + echo -n '/usr/local/sbin/php-fpm, ' ; \ + echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ + echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ + echo -n '/usr/sbin/sshd, ' ; \ + echo "/usr/sbin/crond" ; \ + } | tee /etc/sudoers.d/wodby; \ + fi; \ \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ @@ -384,24 +231,25 @@ RUN set -xe; \ "${FILES_DIR}/private"; \ \ chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ - su-exec www-data mkdir /home/www-data/.ssh; \ + su-exec wodby mkdir /home/wodby/.ssh; \ \ touch /etc/ssh/sshd_config; \ - chown www-data: /etc/ssh/sshd_config; \ + chown wodby: /etc/ssh/sshd_config; \ \ rm /etc/crontabs/root; \ - touch /etc/crontabs/www-data; \ - chown root:www-data /etc/crontabs/www-data; \ - chmod 660 /etc/crontabs/www-data; \ + touch /etc/crontabs/wodby; \ + chown root:wodby /etc/crontabs/wodby; \ + chmod 660 /etc/crontabs/wodby; \ \ - chown -R www-data:www-data \ + chown -R wodby:wodby \ /var/www \ "${PHP_INI_DIR}/conf.d" \ "${FILES_DIR}" \ /usr/local/etc/php-fpm.d/ \ - /home/www-data/.profile; \ + /home/wodby/.profile; \ \ # Cleanup + su-exec wodby composer clear-cache; \ docker-php-source delete; \ apk del --purge .build-deps; \ pecl clear-cache; \ @@ -411,9 +259,13 @@ RUN set -xe; \ /usr/lib/php/build \ /tmp/* \ /root/.composer \ - /var/cache/apk/* + /var/cache/apk/*; \ + \ + if [[ -z "${PHP_DEV}" ]]; then \ + rm -rf /usr/src/php.tar.xz; \ + fi -USER www-data +USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 diff --git a/5.3/Makefile b/5.3/Makefile index 55224405..efac2ba1 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -1,10 +1,32 @@ -include env_make -PHP_VER ?= 5.3 -TAG ?= $(PHP_VER) +PHP_VER ?= 5.3.29 REPO = wodby/php NAME = php-$(PHP_VER) +FROM_TAG = $(PHP_VER) + +ifeq ($(TAG),) + PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) + + ifneq ($(PHP_DEBUG),) + TAG ?= $(PHP_VER_MINOR)-debug + else ifneq ($(PHP_DEV),) + TAG ?= $(PHP_VER_MINOR)-dev + else + TAG ?= $(PHP_VER_MINOR) + endif +endif + +ifneq ($(PHP_DEV),) + NAME := $(NAME)-dev +endif + +ifneq ($(PHP_DEBUG),) + NAME := $(NAME)-debug + FROM_TAG := $(FROM_TAG)-debug + PHP_DEV := 1 +endif ifneq ($(STABILITY_TAG),) ifneq ($(TAG),latest) @@ -17,7 +39,11 @@ endif default: build build: - docker build -t $(REPO):$(TAG) ./ + docker build -t $(REPO):$(TAG) \ + --build-arg FROM_TAG=$(FROM_TAG) \ + --build-arg PHP_DEV=$(PHP_DEV) \ + --build-arg PHP_DEBUG=$(PHP_DEBUG) \ + ./ test: IMAGE=$(REPO):$(TAG) ./test.sh diff --git a/5.3/actions/actions.mk b/5.3/actions/actions.mk index 3bd008f5..ba42f757 100644 --- a/5.3/actions/actions.mk +++ b/5.3/actions/actions.mk @@ -1,4 +1,4 @@ -.PHONY: git-clone git-checkout files-import init-public-storage walter check-ready check-live +.PHONY: migrate git-clone git-checkout files-import init-public-storage walter check-ready check-live check_defined = \ $(strip $(foreach 1,$1, \ @@ -19,6 +19,9 @@ service = PHP-FPM default: check-ready +migrate: + migrate.sh $(from) $(to) + git-clone: $(call check_defined, url) git-clone.sh $(url) $(branch) diff --git a/5.3/actions/migrate.sh b/5.3/actions/migrate.sh new file mode 100755 index 00000000..f89816d3 --- /dev/null +++ b/5.3/actions/migrate.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +from="${1:-}" +to="${2:-}" + +# Default user changed from www-data (82) to wodby (1000), change recursively volume codebase permissions. +if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then + echo "Migrating to a new major 5.x version" + echo "Recursively updated codebase volume owner from www-data to wodby:wodby" + find "${APP_ROOT}" -uid 82 -exec chown wodby:wodby {} + +fi diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 143f206b..9bf55bf7 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -6,7 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -SSH_DIR=/home/www-data/.ssh +SSH_DIR=/home/wodby/.ssh # Backwards compatibility for old env vars names. _backwards_compatibility() { @@ -78,12 +78,20 @@ init_sshd() { } init_crond() { - exec_tpl "crontab.tpl" "/etc/crontabs/www-data" + exec_tpl "crontab.tpl" "/etc/crontabs/wodby" } process_templates() { _backwards_compatibility + if [[ -n "${PHP_DEV}" ]]; then + export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" + fi + + if [[ -n "${PHP_DEBUG}" ]]; then + export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" + fi + exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" diff --git a/5.3/docker-php-entrypoint b/5.3/docker-php-entrypoint deleted file mode 100755 index 86343d80..00000000 --- a/5.3/docker-php-entrypoint +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -set -e - -# first arg is `-f` or `--some-option` -if [ "${1#-}" != "$1" ]; then - set -- php-fpm "$@" -fi - -exec "$@" diff --git a/5.3/docker-php-ext-configure b/5.3/docker-php-ext-configure deleted file mode 100755 index 93d31601..00000000 --- a/5.3/docker-php-ext-configure +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -set -e - -# prefer user supplied CFLAGS, but default to our PHP_CFLAGS -: ${CFLAGS:=$PHP_CFLAGS} -: ${CPPFLAGS:=$PHP_CPPFLAGS} -: ${LDFLAGS:=$PHP_LDFLAGS} -export CFLAGS CPPFLAGS LDFLAGS - -srcExists= -if [ -d /usr/src/php ]; then - srcExists=1 -fi -docker-php-source extract -if [ -z "$srcExists" ]; then - touch /usr/src/php/.docker-delete-me -fi - -cd /usr/src/php/ext - -ext="$1" -if [ -z "$ext" ] || [ ! -d "$ext" ]; then - echo >&2 "usage: $0 ext-name [configure flags]" - echo >&2 " ie: $0 gd --with-jpeg-dir=/usr/local/something" - echo >&2 - echo >&2 'Possible values for ext-name:' - find /usr/src/php/ext \ - -mindepth 2 \ - -maxdepth 2 \ - -type f \ - -name 'config.m4' \ - | xargs -n1 dirname \ - | xargs -n1 basename \ - | sort \ - | xargs - exit 1 -fi -shift - -pm='unknown' -if [ -e /lib/apk/db/installed ]; then - pm='apk' -fi - -if [ "$pm" = 'apk' ]; then - if \ - [ -n "$PHPIZE_DEPS" ] \ - && ! apk info --installed .phpize-deps > /dev/null \ - && ! apk info --installed .phpize-deps-configure > /dev/null \ - ; then - apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS - fi -fi - -set -x -cd "$ext" -phpize -./configure "$@" diff --git a/5.3/docker-php-ext-enable b/5.3/docker-php-ext-enable deleted file mode 100755 index 367aaf2b..00000000 --- a/5.3/docker-php-ext-enable +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -set -e - -cd "$(php -r 'echo ini_get("extension_dir");')" - -usage() { - echo "usage: $0 [options] module-name [module-name ...]" - echo " ie: $0 gd mysqli" - echo " $0 pdo pdo_mysql" - echo " $0 --ini-name 0-apc.ini apcu apc" - echo - echo 'Possible values for module-name:' - echo $(find -maxdepth 1 -type f -name '*.so' -exec basename '{}' ';' | sort) -} - -opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })" -eval set -- "$opts" - -iniName= -while true; do - flag="$1" - shift - case "$flag" in - --help|-h|'-?') usage && exit 0 ;; - --ini-name) iniName="$1" && shift ;; - --) break ;; - *) - { - echo "error: unknown flag: $flag" - usage - } >&2 - exit 1 - ;; - esac -done - -modules= -for module; do - if [ -z "$module" ]; then - continue - fi - if [ -f "$module.so" ] && ! [ -f "$module" ]; then - # allow ".so" to be optional - module="$module.so" - fi - if ! [ -f "$module" ]; then - echo >&2 "error: $(readlink -f "$module") does not exist" - echo >&2 - usage >&2 - exit 1 - fi - modules="$modules $module" -done - -if [ -z "$modules" ]; then - usage >&2 - exit 1 -fi - -for module in $modules; do - if nm -g "$module" | grep -q ' zend_extension_entry$'; then - # https://wiki.php.net/internals/extensions#loading_zend_extensions - line="zend_extension=$(readlink -f "$module")" - else - line="extension=$module" - fi - - ext="$(basename "$module")" - ext="${ext%.*}" - if php -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then - # this isn't perfect, but it's better than nothing - # (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache') - echo >&2 - echo >&2 "warning: $ext ($module) is already loaded!" - echo >&2 - continue - fi - - ini="/usr/local/etc/php/conf.d/${iniName:-"docker-php-ext-$ext.ini"}" - if ! grep -q "$line" "$ini" 2>/dev/null; then - echo "$line" >> "$ini" - fi -done diff --git a/5.3/docker-php-ext-install b/5.3/docker-php-ext-install deleted file mode 100755 index c0660230..00000000 --- a/5.3/docker-php-ext-install +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/sh -set -e - -# prefer user supplied CFLAGS, but default to our PHP_CFLAGS -: ${CFLAGS:=$PHP_CFLAGS} -: ${CPPFLAGS:=$PHP_CPPFLAGS} -: ${LDFLAGS:=$PHP_LDFLAGS} -export CFLAGS CPPFLAGS LDFLAGS - -srcExists= -if [ -d /usr/src/php ]; then - srcExists=1 -fi -docker-php-source extract -if [ -z "$srcExists" ]; then - touch /usr/src/php/.docker-delete-me -fi - -cd /usr/src/php/ext - -usage() { - echo "usage: $0 [-jN] ext-name [ext-name ...]" - echo " ie: $0 gd mysqli" - echo " $0 pdo pdo_mysql" - echo " $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop" - echo - echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure' - echo - echo 'Possible values for ext-name:' - find . \ - -mindepth 2 \ - -maxdepth 2 \ - -type f \ - -name 'config.m4' \ - | xargs -n1 dirname \ - | xargs -n1 basename \ - | sort \ - | xargs -} - -opts="$(getopt -o 'h?j:' --long 'help,jobs:' -- "$@" || { usage >&2 && false; })" -eval set -- "$opts" - -j=1 -while true; do - flag="$1" - shift - case "$flag" in - --help|-h|'-?') usage && exit 0 ;; - --jobs|-j) j="$1" && shift ;; - --) break ;; - *) - { - echo "error: unknown flag: $flag" - usage - } >&2 - exit 1 - ;; - esac -done - -exts= -for ext; do - if [ -z "$ext" ]; then - continue - fi - if [ ! -d "$ext" ]; then - echo >&2 "error: $PWD/$ext does not exist" - echo >&2 - usage >&2 - exit 1 - fi - exts="$exts $ext" -done - -if [ -z "$exts" ]; then - usage >&2 - exit 1 -fi - -pm='unknown' -if [ -e /lib/apk/db/installed ]; then - pm='apk' -fi - -apkDel= -if [ "$pm" = 'apk' ]; then - if [ -n "$PHPIZE_DEPS" ]; then - if apk info --installed .phpize-deps-configure > /dev/null; then - apkDel='.phpize-deps-configure' - elif ! apk info --installed .phpize-deps > /dev/null; then - apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS - apkDel='.phpize-deps' - fi - fi -fi - -popDir="$PWD" -for ext in $exts; do - cd "$ext" - [ -e Makefile ] || docker-php-ext-configure "$ext" - make -j"$j" - make -j"$j" install - find modules \ - -maxdepth 1 \ - -name '*.so' \ - -exec basename '{}' ';' \ - | xargs -r docker-php-ext-enable - make -j"$j" clean - cd "$popDir" -done - -if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then - apk del $apkDel -fi - -if [ -e /usr/src/php/.docker-delete-me ]; then - docker-php-source delete -fi diff --git a/5.3/docker-php-source b/5.3/docker-php-source deleted file mode 100755 index 9033d243..00000000 --- a/5.3/docker-php-source +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -set -e - -dir=/usr/src/php - -usage() { - echo "usage: $0 COMMAND" - echo - echo "Manage php source tarball lifecycle." - echo - echo "Commands:" - echo " extract extract php source tarball into directory $dir if not already done." - echo " delete delete extracted php source located into $dir if not already done." - echo -} - -case "$1" in - extract) - mkdir -p "$dir" - if [ ! -f "$dir/.docker-extracted" ]; then - tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1 - touch "$dir/.docker-extracted" - fi - ;; - - delete) - rm -rf "$dir" - ;; - - *) - usage - exit 1 - ;; -esac diff --git a/5.3/templates/zz-www.conf.tpl b/5.3/templates/zz-www.conf.tpl index 6cd476a8..5900ad9b 100644 --- a/5.3/templates/zz-www.conf.tpl +++ b/5.3/templates/zz-www.conf.tpl @@ -34,7 +34,7 @@ php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} php_value[session.bug_compat_42] = {{ getenv "PHP_SESSION_BUG_COMPAT_42" "On" }} php_value[session.bug_compat_warn] = {{ getenv "PHP_SESSION_BUG_COMPAT_WARN" "On" }} -user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} @@ -47,5 +47,5 @@ pm.max_children = 1 listen = 0.0.0.0:9001 ping.path = "/ping" -user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/5.3/test.sh b/5.3/test.sh index 01678566..280f644a 100755 --- a/5.3/test.sh +++ b/5.3/test.sh @@ -12,7 +12,7 @@ wait_for_cron() { executed=0 for i in $(seq 1 13); do - if docker_exec crond cat /home/www-data/cron | grep -q "test"; then + if docker_exec crond cat /home/wodby/cron | grep -q "test"; then executed=1 break fi @@ -45,8 +45,8 @@ docker_exec php tests.sh # SSH echo -n "Testing ssh... " -docker_exec php touch /home/www-data/.ssh/known_hosts -docker_exec php ssh www-data@sshd cat /home/www-data/.ssh/authorized_keys | grep -q admin@wodby.com +docker_exec php touch /home/wodby/.ssh/known_hosts +docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@wodby.com echo "OK" # Git actions diff --git a/5.3/test/docker-compose.yml b/5.3/test/docker-compose.yml index 22e2e1ff..0d9d7002 100644 --- a/5.3/test/docker-compose.yml +++ b/5.3/test/docker-compose.yml @@ -75,7 +75,7 @@ services: -----END RSA PRIVATE KEY----- volumes: - ./tests.sh:/usr/local/bin/tests.sh - - ./php_modules:/home/www-data/php_modules + - ./php_modules:/home/wodby/php_modules depends_on: - sshd @@ -86,6 +86,6 @@ services: CRONTAB_ENV: test CRONTAB: |- # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /home/www-data/cron + */1 * * * * echo "$${CRONTAB_ENV}" > /home/wodby/cron depends_on: - sshd diff --git a/5.6/Dockerfile b/5.6/Dockerfile index c2a46ab2..6ad6d8df 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -42,27 +42,22 @@ ENV PHP_DEV="${PHP_DEV}" \ RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" -ENV WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ - BLACKFIRE_URL="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64" \ - \ - APP_ROOT="/var/www/html" \ +ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" \ - PATH="/home/www-data/.composer/vendor/bin:${PATH}" \ + PATH="/home/wodby/.composer/vendor/bin:${PATH}" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ \ - GIT_USER_EMAIL="www-data@example.com" \ - GIT_USER_NAME="www-data" + GIT_USER_EMAIL="wodby@example.com" \ + GIT_USER_NAME="wodby" RUN set -xe; \ \ - # Recreate user with correct params - deluser www-data; \ - addgroup -g 82 -S www-data; \ - adduser -u 82 -D -S -s /bin/bash -G www-data www-data; \ - adduser -u 1000 -D -S -G www-data php-fpm; \ - sed -i '/^www-data/s/!/*/' /etc/shadow; \ - echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ + addgroup -g 1000 -S wodby; \ + adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ + adduser www-data wodby; \ + sed -i '/^wodby/s/!/*/' /etc/shadow; \ + echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ apk add --update --no-cache -t .php-rundeps \ "c-client=${C_CLIENT_VER}" \ @@ -120,7 +115,7 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ - if [[ -n "${PHP_DEV}" ]]; then \ + if [[ -n "${PHP_DEBUG}" ]]; then \ apk add --update --no-cache -t .debug-tools gdb; \ fi; \ \ @@ -187,15 +182,15 @@ RUN set -xe; \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ \ # NewRelic extension and agent. - wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz \ - http://download.newrelic.com/php_agent/release/ >/dev/null 2>&1; \ + newrelic_url="http://download.newrelic.com/php_agent/release/"; \ + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ export NR_INSTALL_SILENT=true; \ export NR_INSTALL_USE_CP_NOT_LN=true; \ bash /tmp/newrelic/newrelic-install install; \ rm /usr/local/etc/php/conf.d/newrelic.ini; \ mkdir -p /var/log/newrelic/; \ - chown -R www-data:www-data /var/log/newrelic/; \ + chown -R wodby:wodby /var/log/newrelic/; \ chmod -R 775 /var/log/newrelic/; \ \ pecl install \ @@ -229,38 +224,39 @@ RUN set -xe; \ # Blackfire extension mkdir -p /tmp/blackfire; \ version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ - wget -qO- "${BLACKFIRE_URL}/${version}" | tar xz --no-same-owner -C /tmp/blackfire; \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ + blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ + wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ \ # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Install composer parallel install plugin - su-exec www-data composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ + su-exec wodby composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ \ # Install Walter - wget -qO- "${WALTER_URL}" | tar xz -C /tmp/; \ + walter_url="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz"; \ + wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ # Add composer bins to $PATH - su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ + su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ # Script to fix volumes permissions via sudo. - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + echo "chown wodby:wodby ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ - echo 'www-data ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/www-data; \ + echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ else \ { \ - echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ + echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ - } | tee /etc/sudoers.d/www-data; \ + } | tee /etc/sudoers.d/wodby; \ fi; \ \ # Configure ldap @@ -274,25 +270,25 @@ RUN set -xe; \ "${FILES_DIR}/private"; \ \ chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ - su-exec www-data mkdir /home/www-data/.ssh; \ + su-exec wodby mkdir /home/wodby/.ssh; \ \ touch /etc/ssh/sshd_config; \ - chown www-data: /etc/ssh/sshd_config; \ + chown wodby: /etc/ssh/sshd_config; \ \ rm /etc/crontabs/root; \ - touch /etc/crontabs/www-data; \ - chown root:www-data /etc/crontabs/www-data; \ - chmod 660 /etc/crontabs/www-data; \ + touch /etc/crontabs/wodby; \ + chown root:wodby /etc/crontabs/wodby; \ + chmod 660 /etc/crontabs/wodby; \ \ - chown -R www-data:www-data \ + chown -R wodby:wodby \ /var/www \ "${PHP_INI_DIR}/conf.d" \ "${FILES_DIR}" \ /usr/local/etc/php-fpm.d/ \ - /home/www-data/.profile; \ + /home/wodby/.profile; \ \ # Cleanup - su-exec www-data composer clear-cache; \ + su-exec wodby composer clear-cache; \ docker-php-source delete; \ apk del --purge .build-deps; \ pecl clear-cache; \ @@ -308,7 +304,7 @@ RUN set -xe; \ rm -rf /usr/src/php.tar.xz; \ fi -USER www-data +USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 diff --git a/5.6/actions/actions.mk b/5.6/actions/actions.mk index 3bd008f5..ba42f757 100644 --- a/5.6/actions/actions.mk +++ b/5.6/actions/actions.mk @@ -1,4 +1,4 @@ -.PHONY: git-clone git-checkout files-import init-public-storage walter check-ready check-live +.PHONY: migrate git-clone git-checkout files-import init-public-storage walter check-ready check-live check_defined = \ $(strip $(foreach 1,$1, \ @@ -19,6 +19,9 @@ service = PHP-FPM default: check-ready +migrate: + migrate.sh $(from) $(to) + git-clone: $(call check_defined, url) git-clone.sh $(url) $(branch) diff --git a/5.6/actions/migrate.sh b/5.6/actions/migrate.sh new file mode 100755 index 00000000..f89816d3 --- /dev/null +++ b/5.6/actions/migrate.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +from="${1:-}" +to="${2:-}" + +# Default user changed from www-data (82) to wodby (1000), change recursively volume codebase permissions. +if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then + echo "Migrating to a new major 5.x version" + echo "Recursively updated codebase volume owner from www-data to wodby:wodby" + find "${APP_ROOT}" -uid 82 -exec chown wodby:wodby {} + +fi diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 0300ab66..561de44b 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -6,7 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -SSH_DIR=/home/www-data/.ssh +SSH_DIR=/home/wodby/.ssh # Backwards compatibility for old env vars names. _backwards_compatibility() { @@ -78,7 +78,7 @@ init_sshd() { } init_crond() { - exec_tpl "crontab.tpl" "/etc/crontabs/www-data" + exec_tpl "crontab.tpl" "/etc/crontabs/wodby" } process_templates() { diff --git a/5.6/templates/zz-www.conf.tpl b/5.6/templates/zz-www.conf.tpl index 80cab05b..ef8368e7 100644 --- a/5.6/templates/zz-www.conf.tpl +++ b/5.6/templates/zz-www.conf.tpl @@ -33,7 +33,7 @@ php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} @@ -46,5 +46,5 @@ pm.max_children = 1 listen = 9001 ping.path = "/ping" -user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/5.6/test.sh b/5.6/test.sh index 01678566..280f644a 100755 --- a/5.6/test.sh +++ b/5.6/test.sh @@ -12,7 +12,7 @@ wait_for_cron() { executed=0 for i in $(seq 1 13); do - if docker_exec crond cat /home/www-data/cron | grep -q "test"; then + if docker_exec crond cat /home/wodby/cron | grep -q "test"; then executed=1 break fi @@ -45,8 +45,8 @@ docker_exec php tests.sh # SSH echo -n "Testing ssh... " -docker_exec php touch /home/www-data/.ssh/known_hosts -docker_exec php ssh www-data@sshd cat /home/www-data/.ssh/authorized_keys | grep -q admin@wodby.com +docker_exec php touch /home/wodby/.ssh/known_hosts +docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@wodby.com echo "OK" # Git actions diff --git a/5.6/test/docker-compose.yml b/5.6/test/docker-compose.yml index d3299ea6..b82afe7a 100644 --- a/5.6/test/docker-compose.yml +++ b/5.6/test/docker-compose.yml @@ -75,7 +75,7 @@ services: -----END RSA PRIVATE KEY----- volumes: - ./tests.sh:/usr/local/bin/tests.sh - - ./php_modules:/home/www-data/php_modules + - ./php_modules:/home/wodby/php_modules depends_on: - sshd @@ -86,6 +86,6 @@ services: CRONTAB_ENV: test CRONTAB: |- # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /home/www-data/cron + */1 * * * * echo "$${CRONTAB_ENV}" > /home/wodby/cron depends_on: - sshd diff --git a/7/Dockerfile b/7/Dockerfile index 6e2f788a..1e838a5d 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -45,29 +45,22 @@ ENV PHP_DEV="${PHP_DEV}" \ RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" -ENV EXT_AST_URL="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz" \ - EXT_UPLOADPROGRESS_URL="https://github.com/wodby/pecl-php-uploadprogress/archive/latest.tar.gz" \ - WALTER_URL="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz" \ - BLACKFIRE_URL="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64" \ - \ - APP_ROOT="/var/www/html" \ +ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" \ - PATH="/home/www-data/.composer/vendor/bin:${PATH}" \ + PATH="/home/wodby/.composer/vendor/bin:${PATH}" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ \ - GIT_USER_EMAIL="www-data@example.com" \ - GIT_USER_NAME="www-data" + GIT_USER_EMAIL="wodby@example.com" \ + GIT_USER_NAME="wodby" RUN set -xe; \ \ - # Recreate user with correct params - deluser www-data; \ - addgroup -g 82 -S www-data; \ - adduser -u 82 -D -S -s /bin/bash -G www-data www-data; \ - adduser -u 1000 -D -S -G www-data php-fpm; \ - sed -i '/^www-data/s/!/*/' /etc/shadow; \ - echo "PS1='\w\$ '" >> /home/www-data/.bashrc; \ + addgroup -g 1000 -S wodby; \ + adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ + adduser www-data wodby; \ + sed -i '/^wodby/s/!/*/' /etc/shadow; \ + echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ apk add --update --no-cache -t .php-rundeps \ "c-client=${C_CLIENT_VER}" \ @@ -206,7 +199,7 @@ RUN set -xe; \ bash /tmp/newrelic/newrelic-install install; \ rm /usr/local/etc/php/conf.d/newrelic.ini; \ mkdir -p /var/log/newrelic/; \ - chown -R www-data:www-data /var/log/newrelic/; \ + chown -R wodby:wodby /var/log/newrelic/; \ chmod -R 775 /var/log/newrelic/; \ \ pecl install \ @@ -240,18 +233,21 @@ RUN set -xe; \ # Blackfire extension mkdir -p /tmp/blackfire; \ version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ - wget -qO- "${BLACKFIRE_URL}/${version}" | tar xz --no-same-owner -C /tmp/blackfire; \ + blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ + wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ \ # Uploadprogress mkdir -p /usr/src/php/ext/uploadprogress; \ - wget -qO- "${EXT_UPLOADPROGRESS_URL}" | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress; \ + up_url="https://github.com/wodby/pecl-php-uploadprogress/archive/latest.tar.gz"; \ + wget -qO- "${up_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress; \ docker-php-ext-configure uploadprogress; \ docker-php-ext-install uploadprogress; \ \ # AST mkdir -p /usr/src/php/ext/ast; \ - wget -qO- "${EXT_AST_URL}" | tar xz --strip-components=1 -C /usr/src/php/ext/ast; \ + ast_url="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz"; \ + wget -qO- "${ast_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/ast; \ docker-php-ext-configure ast; \ docker-php-ext-install ast; \ \ @@ -259,31 +255,32 @@ RUN set -xe; \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Plugin for parallel install - su-exec www-data composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ + su-exec wodby composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ \ # Install Walter - wget -qO- "${WALTER_URL}" | tar xz -C /tmp/; \ + walter_url="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz"; \ + wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ # Add composer bins to $PATH - su-exec www-data echo "export PATH=/home/www-data/.composer/vendor/bin:${PATH}" > /home/www-data/.profile; \ + su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ # Script to fix volumes permissions via sudo. - echo "chown www-data:www-data ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ + echo "chown wodby:wodby ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ - echo 'www-data ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/www-data; \ + echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ else \ { \ - echo -n 'www-data ALL=(root) NOPASSWD:SETENV: ' ; \ + echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ - } | tee /etc/sudoers.d/www-data; \ + } | tee /etc/sudoers.d/wodby; \ fi; \ \ # Configure ldap @@ -297,25 +294,25 @@ RUN set -xe; \ "${FILES_DIR}/private"; \ \ chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ - su-exec www-data mkdir /home/www-data/.ssh; \ + su-exec wodby mkdir /home/wodby/.ssh; \ \ touch /etc/ssh/sshd_config; \ - chown www-data: /etc/ssh/sshd_config; \ + chown wodby: /etc/ssh/sshd_config; \ \ rm /etc/crontabs/root; \ - touch /etc/crontabs/www-data; \ - chown root:www-data /etc/crontabs/www-data; \ - chmod 660 /etc/crontabs/www-data; \ + touch /etc/crontabs/wodby; \ + chown root:wodby /etc/crontabs/wodby; \ + chmod 660 /etc/crontabs/wodby; \ \ - chown -R www-data:www-data \ + chown -R wodby:wodby \ /var/www \ "${PHP_INI_DIR}/conf.d" \ "${FILES_DIR}" \ /usr/local/etc/php-fpm.d/ \ - /home/www-data/.profile; \ + /home/wodby/.profile; \ \ # Cleanup - su-exec www-data composer clear-cache; \ + su-exec wodby composer clear-cache; \ docker-php-source delete; \ apk del --purge .build-deps; \ pecl clear-cache; \ @@ -333,7 +330,7 @@ RUN set -xe; \ rm -rf /usr/src/php.tar.xz; \ fi; -USER www-data +USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 diff --git a/7/actions/actions.mk b/7/actions/actions.mk index 3bd008f5..ba42f757 100644 --- a/7/actions/actions.mk +++ b/7/actions/actions.mk @@ -1,4 +1,4 @@ -.PHONY: git-clone git-checkout files-import init-public-storage walter check-ready check-live +.PHONY: migrate git-clone git-checkout files-import init-public-storage walter check-ready check-live check_defined = \ $(strip $(foreach 1,$1, \ @@ -19,6 +19,9 @@ service = PHP-FPM default: check-ready +migrate: + migrate.sh $(from) $(to) + git-clone: $(call check_defined, url) git-clone.sh $(url) $(branch) diff --git a/7/actions/migrate.sh b/7/actions/migrate.sh new file mode 100755 index 00000000..f89816d3 --- /dev/null +++ b/7/actions/migrate.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +from="${1:-}" +to="${2:-}" + +# Default user changed from www-data (82) to wodby (1000), change recursively volume codebase permissions. +if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then + echo "Migrating to a new major 5.x version" + echo "Recursively updated codebase volume owner from www-data to wodby:wodby" + find "${APP_ROOT}" -uid 82 -exec chown wodby:wodby {} + +fi diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 248eda3e..a153b2d1 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -7,7 +7,7 @@ if [[ -n "${DEBUG}" ]]; then fi PHP_VER_MINOR="${PHP_VERSION:0:3}" -SSH_DIR=/home/www-data/.ssh +SSH_DIR=/home/wodby/.ssh # Backwards compatibility for old env vars names. _backwards_compatibility() { @@ -79,7 +79,7 @@ init_sshd() { } init_crond() { - exec_tpl "crontab.tpl" "/etc/crontabs/www-data" + exec_tpl "crontab.tpl" "/etc/crontabs/wodby" } process_templates() { diff --git a/7/templates/zz-www.conf.tpl b/7/templates/zz-www.conf.tpl index 29e18175..0698afcc 100644 --- a/7/templates/zz-www.conf.tpl +++ b/7/templates/zz-www.conf.tpl @@ -32,7 +32,7 @@ php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} @@ -45,5 +45,5 @@ pm.max_children = 1 listen = 9001 ping.path = "/ping" -user = {{ getenv "PHP_FPM_USER" "php-fpm" }} +user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/7/test.sh b/7/test.sh index 01678566..c0473e15 100755 --- a/7/test.sh +++ b/7/test.sh @@ -12,7 +12,7 @@ wait_for_cron() { executed=0 for i in $(seq 1 13); do - if docker_exec crond cat /home/www-data/cron | grep -q "test"; then + if docker_exec crond cat /home/wodby/cron | grep -q "test"; then executed=1 break fi @@ -39,14 +39,15 @@ run_action() { docker-compose -f test/docker-compose.yml up -d run_action php check-ready max_try=10 +run_action php migrate # PHP tools docker_exec php tests.sh # SSH echo -n "Testing ssh... " -docker_exec php touch /home/www-data/.ssh/known_hosts -docker_exec php ssh www-data@sshd cat /home/www-data/.ssh/authorized_keys | grep -q admin@wodby.com +docker_exec php touch /home/wodby/.ssh/known_hosts +docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@wodby.com echo "OK" # Git actions diff --git a/7/test/docker-compose.yml b/7/test/docker-compose.yml index cee7de81..2d3b4b58 100644 --- a/7/test/docker-compose.yml +++ b/7/test/docker-compose.yml @@ -76,7 +76,7 @@ services: -----END RSA PRIVATE KEY----- volumes: - ./tests.sh:/usr/local/bin/tests.sh - - ./php_modules:/home/www-data/php_modules + - ./php_modules:/home/wodby/php_modules depends_on: - sshd @@ -87,6 +87,6 @@ services: CRONTAB_ENV: test CRONTAB: |- # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /home/www-data/cron + */1 * * * * echo "$${CRONTAB_ENV}" > /home/wodby/cron depends_on: - sshd diff --git a/README.md b/README.md index e8ae7823..ec6d1640 100644 --- a/README.md +++ b/README.md @@ -11,12 +11,13 @@ * [Environment Variables](#environment-variables) * [PHP and PHP-FPM configuration](#php-and-php-fpm-configuration) * [Additional configuration](#additional-configuration) - * [Deprecated environment variables](#deprecated-environment-variables) + * [Deprecated environment variables](#deprecated-environment-variables) * [PHP Extensions](#php-extensions) * [Tools](#tools) * [Global Composer Packages](#global-composer-packages) * [`-dev` images](#-dev-images) * [`-debug` images](#-debug-images) +* [Users and permissions](#users-and-permissions) * [Complete PHP stack](#complete-php-stack) * [Images based on `wodby/php`](#images-based-on-wodbyphp) * [Orchestration Actions](#orchestration-actions) @@ -31,7 +32,7 @@ About images: * Base image: [wodby/base-php](https://github.com/wodby/base-php) ([wodby/alpine](https://github.com/wodby/alpine) for 5.3) * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) -* [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images have a few differences +* [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images have a few differences Supported tags and respective `Dockerfile` links: @@ -39,15 +40,17 @@ Supported tags and respective `Dockerfile` links: * `7.1` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) * `7.2-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.1-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5.3-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) * `7.2-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) -* `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) +* `5.3-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) > The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 @@ -347,6 +350,12 @@ Include all changes from `-dev` images and additionally: * `PHP_FPM_LOG_LEVEL` is set to `debug` by default * `gdb` is available +## Users and permissions + +Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM works from `www-data:www-data` user (UID/GID `82`) by default. User `www-data` is a part of `wodby` group, so if you want to give FPM permissions to certain files and directories (like public storage) you should change permissions to `644` or `755`. + +See https://github.com/wodby/php/issues/22 for more details. + ## Complete PHP stack See [wodby/docker4php](https://github.com/wodby/docker4php) for the complete PHP stack. @@ -363,6 +372,7 @@ Usage: make COMMAND [params ...] commands: + migrate check-ready [host max_try wait_seconds delay_seconds] git-clone url [branch] git-checkout target [is_hash] From 9c22723843e5685d7ce30b5a7a89419ee4b41a5a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 14:43:23 +0700 Subject: [PATCH 069/559] opcache.fast_shutdown has been removed from PHP 7.2 --- 7/docker-entrypoint.sh | 2 +- 7/orig/php-7.1.ini | 4 ++-- 7/orig/php-7.2.ini | 4 ---- ...ache.ini.tpl => docker-php-ext-opcache-7.0.ini.tpl} | 0 7/templates/docker-php-ext-opcache-7.1.ini.tpl | 10 ++++++++++ 7/templates/docker-php-ext-opcache-7.2.ini.tpl | 9 +++++++++ README.md | 8 ++++---- 7 files changed, 26 insertions(+), 11 deletions(-) rename 7/templates/{docker-php-ext-opcache.ini.tpl => docker-php-ext-opcache-7.0.ini.tpl} (100%) create mode 100644 7/templates/docker-php-ext-opcache-7.1.ini.tpl create mode 100644 7/templates/docker-php-ext-opcache-7.2.ini.tpl diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index a153b2d1..170aa031 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -100,7 +100,7 @@ process_templates() { exec_tpl "docker-php-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + exec_tpl "docker-php-ext-opcache-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" diff --git a/7/orig/php-7.1.ini b/7/orig/php-7.1.ini index e1b5f786..0424f82f 100644 --- a/7/orig/php-7.1.ini +++ b/7/orig/php-7.1.ini @@ -1782,7 +1782,7 @@ ldap.max_links = -1 ;opcache.enable=1 ; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=0 +;opcache.enable_cli=1 ; The OPcache shared memory storage size. ;opcache.memory_consumption=128 @@ -1791,7 +1791,7 @@ ldap.max_links = -1 ;opcache.interned_strings_buffer=8 ; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 1000000 are allowed. +; Only numbers between 200 and 100000 are allowed. ;opcache.max_accelerated_files=10000 ; The maximum percentage of "wasted" memory until a restart is scheduled. diff --git a/7/orig/php-7.2.ini b/7/orig/php-7.2.ini index cef8628f..c8a71c67 100644 --- a/7/orig/php-7.2.ini +++ b/7/orig/php-7.2.ini @@ -1797,10 +1797,6 @@ ldap.max_links = -1 ; size of the optimized code. ;opcache.save_comments=1 -; If enabled, a fast shutdown sequence is used for the accelerated code -; Depending on the used Memory Manager this may cause some incompatibilities. -;opcache.fast_shutdown=0 - ; Allow file existence override (file_exists, etc.) performance feature. ;opcache.enable_file_override=0 diff --git a/7/templates/docker-php-ext-opcache.ini.tpl b/7/templates/docker-php-ext-opcache-7.0.ini.tpl similarity index 100% rename from 7/templates/docker-php-ext-opcache.ini.tpl rename to 7/templates/docker-php-ext-opcache-7.0.ini.tpl diff --git a/7/templates/docker-php-ext-opcache-7.1.ini.tpl b/7/templates/docker-php-ext-opcache-7.1.ini.tpl new file mode 100644 index 00000000..518b7d02 --- /dev/null +++ b/7/templates/docker-php-ext-opcache-7.1.ini.tpl @@ -0,0 +1,10 @@ +[opcache] +zend_extension = opcache.so +opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} +opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} +opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} +opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} +opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} +opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} +opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "1" }} \ No newline at end of file diff --git a/7/templates/docker-php-ext-opcache-7.2.ini.tpl b/7/templates/docker-php-ext-opcache-7.2.ini.tpl new file mode 100644 index 00000000..3d8f2194 --- /dev/null +++ b/7/templates/docker-php-ext-opcache-7.2.ini.tpl @@ -0,0 +1,9 @@ +[opcache] +zend_extension = opcache.so +opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} +opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} +opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} +opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} +opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} +opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "1" }} \ No newline at end of file diff --git a/README.md b/README.md index ec6d1640..178617bd 100644 --- a/README.md +++ b/README.md @@ -60,10 +60,10 @@ Supported tags and respective `Dockerfile` links: [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tpl -[5.3 xdebug]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-xdebug.ini.tpl -[7.x opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache.ini.tpl +[7.2 opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache-7.2.ini.tpl +[7.1 opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache-7.1.ini.tpl +[7.0 opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache-7.0.ini.tpl [5.6 opcache]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-opcache.ini.tpl -[5.3 opcache]: https://github.com/wodby/php/tree/master/5.3/templates/docker-php-ext-opcache.ini.tpl [7.x apcu]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-apcu.ini.tpl [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen @@ -162,7 +162,7 @@ The default configuration is not recommended to be used for production environme | `PHP_NEWRELIC_LICENSE` | - | | | | | `PHP_NEWRELIC_APPNAME` | - | `My PHP app` | `My PHP app` | `My PHP app` | | [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | -| _see all opcache ext options_ | [7.x opcache] | [7.x opcache] | [7.x opcache] | [5.6 opcache] | +| _see all opcache ext options_ | [7.2 opcache] | [7.1 opcache] | [7.0 opcache] | [5.6 opcache] | | [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | | [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | | [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | From 7294d3366015f604972a227ab74a07429805bab3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 14:48:21 +0700 Subject: [PATCH 070/559] Add extra tags for latest major versions --- .travis.yml | 16 ++++++++++------ README.md | 12 ++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index f77ea7f1..7ebebd4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,20 +12,20 @@ env: - PHP56=5.6.33 - PHP53=5.3.29 matrix: - - TAG=7.2 PHP_VER="${PHP72}" + - TAG=7.2 PHP_VER="${PHP72}" EXTRA_TAG=7 - TAG=7.1 PHP_VER="${PHP71}" - TAG=7.0 PHP_VER="${PHP70}" - - TAG=5.6 PHP_VER="${PHP56}" + - TAG=5.6 PHP_VER="${PHP56}" EXTRA_TAG=5 - TAG=5.3 PHP_VER="${PHP53}" - - TAG=7.2-dev PHP_VER="${PHP72}" PHP_DEV=1 + - TAG=7.2-dev PHP_VER="${PHP72}" PHP_DEV=1 EXTRA_TAG=7-dev - TAG=7.1-dev PHP_VER="${PHP71}" PHP_DEV=1 - TAG=7.0-dev PHP_VER="${PHP70}" PHP_DEV=1 - - TAG=5.6-dev PHP_VER="${PHP56}" PHP_DEV=1 + - TAG=5.6-dev PHP_VER="${PHP56}" PHP_DEV=1 EXTRA_TAG=5-dev - TAG=5.3-dev PHP_VER="${PHP53}" PHP_DEV=1 - - TAG=7.2-debug PHP_VER="${PHP72}" PHP_DEBUG=1 + - TAG=7.2-debug PHP_VER="${PHP72}" PHP_DEBUG=1 EXTRA_TAG=7-debug - TAG=7.1-debug PHP_VER="${PHP71}" PHP_DEBUG=1 - TAG=7.0-debug PHP_VER="${PHP70}" PHP_DEBUG=1 - - TAG=5.6-debug PHP_VER="${PHP56}" PHP_DEBUG=1 + - TAG=5.6-debug PHP_VER="${PHP56}" PHP_DEBUG=1 EXTRA_TAG=5-debug - TAG=5.3-debug PHP_VER="${PHP53}" PHP_DEBUG=1 script: | @@ -42,6 +42,10 @@ script: | make release + if [[ -n "${EXTRA_TAG}" ]]; then + make release TAG="${EXTRA_TAG}" + fi + if [[ "${TAG}" == "${LATEST_TAG}" ]]; then make release TAG="latest" fi diff --git a/README.md b/README.md index 178617bd..397690e8 100644 --- a/README.md +++ b/README.md @@ -36,20 +36,20 @@ About images: Supported tags and respective `Dockerfile` links: -* `7.2`, `latest` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7`, `7.2`, `latest` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.1` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `5.6` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5`, `5.6` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) * `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -* `7.2-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7-dev`, `7.2-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.1-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5-dev`, `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) * `5.3-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -* `7.2-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7-debug`, `7.2-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5-debug`, `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) * `5.3-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) > The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 From 8f8a342332e8f4f27b9bd4a49a558ede9fe5a552 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 14:51:31 +0700 Subject: [PATCH 071/559] Drop deprecated environment variables --- 5.3/docker-entrypoint.sh | 23 ----------------------- 5.6/docker-entrypoint.sh | 23 ----------------------- 7/docker-entrypoint.sh | 23 ----------------------- README.md | 16 ---------------- 4 files changed, 85 deletions(-) diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 9bf55bf7..7d5d77ff 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -8,27 +8,6 @@ fi SSH_DIR=/home/wodby/.ssh -# Backwards compatibility for old env vars names. -_backwards_compatibility() { - declare -A vars - # vars[DEPRECATED]="ACTUAL" - vars[PHP_APCU_ENABLE]="PHP_APCU_ENABLED" - vars[PHP_FPM_SLOWLOG_TIMEOUT]="PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" - vars[PHP_FPM_MAX_CHILDREN]="PHP_FPM_PM_MAX_CHILDREN" - vars[PHP_FPM_START_SERVERS]="PHP_FPM_PM_START_SERVERS" - vars[PHP_FPM_MIN_SPARE_SERVERS]="PHP_FPM_PM_MIN_SPARE_SERVERS" - vars[PHP_FPM_MAX_SPARE_SERVERS]="PHP_FPM_PM_MAX_SPARE_SERVERS" - vars[PHP_FPM_MAX_REQUESTS]="PHP_FPM_PM_MAX_REQUESTS" - vars[PHP_FPM_STATUS_PATH]="PHP_FPM_PM_STATUS_PATH" - - for i in "${!vars[@]}"; do - # Use value from old var if it's not empty and the new is. - if [[ -n "${!i}" && -z "${!vars[$i]}" ]]; then - export "${vars[$i]}"="${!i}" - fi - done -} - exec_tpl() { if [[ -f "/etc/gotpl/$1" ]]; then gotpl "/etc/gotpl/$1" > "$2" @@ -82,8 +61,6 @@ init_crond() { } process_templates() { - _backwards_compatibility - if [[ -n "${PHP_DEV}" ]]; then export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" fi diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 561de44b..4a446536 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -8,27 +8,6 @@ fi SSH_DIR=/home/wodby/.ssh -# Backwards compatibility for old env vars names. -_backwards_compatibility() { - declare -A vars - # vars[DEPRECATED]="ACTUAL" - vars[PHP_APCU_ENABLE]="PHP_APCU_ENABLED" - vars[PHP_FPM_SLOWLOG_TIMEOUT]="PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" - vars[PHP_FPM_MAX_CHILDREN]="PHP_FPM_PM_MAX_CHILDREN" - vars[PHP_FPM_START_SERVERS]="PHP_FPM_PM_START_SERVERS" - vars[PHP_FPM_MIN_SPARE_SERVERS]="PHP_FPM_PM_MIN_SPARE_SERVERS" - vars[PHP_FPM_MAX_SPARE_SERVERS]="PHP_FPM_PM_MAX_SPARE_SERVERS" - vars[PHP_FPM_MAX_REQUESTS]="PHP_FPM_PM_MAX_REQUESTS" - vars[PHP_FPM_STATUS_PATH]="PHP_FPM_PM_STATUS_PATH" - - for i in "${!vars[@]}"; do - # Use value from old var if it's not empty and the new is. - if [[ -n "${!i}" && -z "${!vars[$i]}" ]]; then - export "${vars[$i]}"="${!i}" - fi - done -} - exec_tpl() { if [[ -f "/etc/gotpl/$1" ]]; then gotpl "/etc/gotpl/$1" > "$2" @@ -82,8 +61,6 @@ init_crond() { } process_templates() { - _backwards_compatibility - if [[ -n "${PHP_DEV}" ]]; then export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" fi diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 170aa031..567f7143 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -9,27 +9,6 @@ fi PHP_VER_MINOR="${PHP_VERSION:0:3}" SSH_DIR=/home/wodby/.ssh -# Backwards compatibility for old env vars names. -_backwards_compatibility() { - declare -A vars - # vars[DEPRECATED]="ACTUAL" - vars[PHP_APCU_ENABLE]="PHP_APCU_ENABLED" - vars[PHP_FPM_SLOWLOG_TIMEOUT]="PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" - vars[PHP_FPM_MAX_CHILDREN]="PHP_FPM_PM_MAX_CHILDREN" - vars[PHP_FPM_START_SERVERS]="PHP_FPM_PM_START_SERVERS" - vars[PHP_FPM_MIN_SPARE_SERVERS]="PHP_FPM_PM_MIN_SPARE_SERVERS" - vars[PHP_FPM_MAX_SPARE_SERVERS]="PHP_FPM_PM_MAX_SPARE_SERVERS" - vars[PHP_FPM_MAX_REQUESTS]="PHP_FPM_PM_MAX_REQUESTS" - vars[PHP_FPM_STATUS_PATH]="PHP_FPM_PM_STATUS_PATH" - - for i in "${!vars[@]}"; do - # Use value from old var if it's not empty and the new is. - if [[ -n "${!i}" && -z "${!vars[$i]}" ]]; then - export "${vars[$i]}"="${!i}" - fi - done -} - exec_tpl() { if [[ -f "/etc/gotpl/$1" ]]; then gotpl "/etc/gotpl/$1" > "$2" @@ -83,8 +62,6 @@ init_crond() { } process_templates() { - _backwards_compatibility - if [[ -n "${PHP_DEV}" ]]; then export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" fi diff --git a/README.md b/README.md index 397690e8..91eb4e03 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,6 @@ * [Environment Variables](#environment-variables) * [PHP and PHP-FPM configuration](#php-and-php-fpm-configuration) * [Additional configuration](#additional-configuration) - * [Deprecated environment variables](#deprecated-environment-variables) * [PHP Extensions](#php-extensions) * [Tools](#tools) * [Global Composer Packages](#global-composer-packages) @@ -196,21 +195,6 @@ The default configuration is not recommended to be used for production environme | `SSHD_PERMIT_USER_ENV` | `no` | | `SSHD_USE_DNS` | `yes` | -#### Deprecated environment variables - -Deprecated variables still supported but will be removed in future releases - -| Deprecated | Instead use | -| --------------------------- | --------------------------------- | -| `PHP_APCU_ENABLE` | `PHP_APCU_ENABLED` | -| `PHP_FPM_SLOWLOG_TIMEOUT` | `PHP_FPM_REQUEST_SLOWLOG_TIMEOUT` | -| `PHP_FPM_MAX_CHILDREN` | `PHP_FPM_PM_MAX_CHILDREN` | -| `PHP_FPM_START_SERVERS` | `PHP_FPM_PM_START_SERVERS` | -| `PHP_FPM_MIN_SPARE_SERVERS` | `PHP_FPM_PM_MIN_SPARE_SERVERS` | -| `PHP_FPM_MAX_SPARE_SERVERS` | `PHP_FPM_PM_MAX_SPARE_SERVERS` | -| `PHP_FPM_MAX_REQUESTS` | `PHP_FPM_PM_MAX_REQUESTS` | -| `PHP_FPM_STATUS_PATH` | `PHP_FPM_PM_STATUS_PATH` | - ## PHP Extensions [amqp]: http://pecl.php.net/package/amqp From 4df30a6c2928c2a49a44ecf7d07eb96ea504faba Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 14:52:44 +0700 Subject: [PATCH 072/559] Update mongodb extension to 1.4.0 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 6ad6d8df..651d7bcd 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -17,7 +17,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_GRPC_VER="1.8.5" \ EXT_IMAGICK_VER="3.4.3" \ EXT_MEMCACHED_VER="2.2.0" \ - EXT_MONGODB_VER="1.3.2" \ + EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="1.2.3" \ EXT_REDIS_VER="3.1.4" \ EXT_UPLOADPROGRESS_VER="1.0.3.1" \ diff --git a/7/Dockerfile b/7/Dockerfile index 1e838a5d..306e5d92 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -19,7 +19,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_GRPC_VER="1.8.5" \ EXT_IMAGICK_VER="3.4.3" \ EXT_MEMCACHED_VER="3.0.4" \ - EXT_MONGODB_VER="1.3.2" \ + EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="2.0.2" \ EXT_REDIS_VER="3.1.4" \ EXT_XDEBUG_VER="2.6.0" \ diff --git a/README.md b/README.md index 91eb4e03..679093ca 100644 --- a/README.md +++ b/README.md @@ -255,7 +255,7 @@ The default configuration is not recommended to be used for production environme | mcrypt | [1.0.1] | | | | | [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | | [mongo] | - | - | - | - | -| [mongodb] | 1.3.2 | 1.3.2 | 1.3.2 | 1.3.2 | +| [mongodb] | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 | | mysql | - | - | - | | | mysqli | | | | | | mysqlnd | | | | | From 5e3349c555bf9598eaa23747bdc87922d9a44ef6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 14:53:34 +0700 Subject: [PATCH 073/559] Update redis extension to 3.1.6 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 651d7bcd..e0dfe01e 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -19,7 +19,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MEMCACHED_VER="2.2.0" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="1.2.3" \ - EXT_REDIS_VER="3.1.4" \ + EXT_REDIS_VER="3.1.6" \ EXT_UPLOADPROGRESS_VER="1.0.3.1" \ EXT_XDEBUG_VER="2.5.5" \ EXT_YAML_VER="1.3.1" \ diff --git a/7/Dockerfile b/7/Dockerfile index 306e5d92..a64b903e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -21,7 +21,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="2.0.2" \ - EXT_REDIS_VER="3.1.4" \ + EXT_REDIS_VER="3.1.6" \ EXT_XDEBUG_VER="2.6.0" \ EXT_YAML_VER="2.0.2" \ \ diff --git a/README.md b/README.md index 679093ca..dd274eca 100644 --- a/README.md +++ b/README.md @@ -272,7 +272,7 @@ The default configuration is not recommended to be used for production environme | Phar | | | | | | posix | | | | | | readline | | | | | -| [redis] | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | +| [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | | Reflection | | | | | | session | | | | | | SimpleXML | | | | | From 48e107f3a9ab3f30ff92925261cf86584c53d959 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 14:54:34 +0700 Subject: [PATCH 074/559] Update grpc extension to 1.9.0 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index a64b903e..110532ca 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -16,7 +16,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_AST_VER="0.1.6" \ EXT_DS_VER="1.2.4" \ EXT_GEOIP_VER="1.1.1" \ - EXT_GRPC_VER="1.8.5" \ + EXT_GRPC_VER="1.9.0" \ EXT_IMAGICK_VER="3.4.3" \ EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.4.0" \ diff --git a/README.md b/README.md index dd274eca..03b148f3 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,7 @@ The default configuration is not recommended to be used for production environme | ftp | | | | | | gd | | | | | | [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.8.5 | 1.8.5 | 1.8.5 | 1.8.5 | +| [grpc] | 1.9.0 | 1.9.0 | 1.9.0 | - | | hash | | | | | | iconv | | | | | | [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | From cb3242ca052d8b4cdaa9b9bb551f9fc9645ff312 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 14:56:43 +0700 Subject: [PATCH 075/559] Update amqp extension to 1.9.3 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index e0dfe01e..75ef1739 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -11,7 +11,7 @@ ENV PHP_DEV="${PHP_DEV}" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ \ - EXT_AMQP_VER="1.9.1" \ + EXT_AMQP_VER="1.9.3" \ EXT_APCU_VER="4.0.11" \ EXT_GEOIP_VER="1.1.1" \ EXT_GRPC_VER="1.8.5" \ diff --git a/7/Dockerfile b/7/Dockerfile index 110532ca..58ee5e5e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -11,7 +11,7 @@ ENV PHP_DEV="${PHP_DEV}" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ \ - EXT_AMQP_VER="1.9.1" \ + EXT_AMQP_VER="1.9.3" \ EXT_APCU_VER="5.1.8" \ EXT_AST_VER="0.1.6" \ EXT_DS_VER="1.2.4" \ diff --git a/README.md b/README.md index 03b148f3..ca0ea364 100644 --- a/README.md +++ b/README.md @@ -221,7 +221,7 @@ The default configuration is not recommended to be used for production environme | Extension | 7.2 | 7.1 | 7.0 | 5.6 | | ---------------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.1 | 1.9.1 | 1.9.1 | 1.9.1 | +| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.1 | | apc | - | - | - | - | | [apcu] | 5.1.8 | 5.1.8 | 5.1.8 | 4.0.11 | | [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | From bb021e515229d67e7aa54e5c4317791a80ac9143 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Feb 2018 16:50:20 +0700 Subject: [PATCH 076/559] Fix travis yaml format --- .travis.yml | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7ebebd4b..442910ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,28 +28,29 @@ env: - TAG=5.6-debug PHP_VER="${PHP56}" PHP_DEBUG=1 EXTRA_TAG=5-debug - TAG=5.3-debug PHP_VER="${PHP53}" PHP_DEBUG=1 -script: | - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" +script: + - | + cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - travis_retry make && make test + travis_retry make && make test - if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then - docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" + if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then + docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" - if [[ -n "${TRAVIS_TAG}" ]]; then - export STABILITY_TAG="${TRAVIS_TAG}" - fi + if [[ -n "${TRAVIS_TAG}" ]]; then + export STABILITY_TAG="${TRAVIS_TAG}" + fi - make release + make release - if [[ -n "${EXTRA_TAG}" ]]; then - make release TAG="${EXTRA_TAG}" - fi + if [[ -n "${EXTRA_TAG}" ]]; then + make release TAG="${EXTRA_TAG}" + fi - if [[ "${TAG}" == "${LATEST_TAG}" ]]; then - make release TAG="latest" + if [[ "${TAG}" == "${LATEST_TAG}" ]]; then + make release TAG="latest" + fi fi - fi notifications: on_failure: never From 04be08aa8c7e928f3bbc8512e1eb6706724174d4 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 12 Feb 2018 15:57:38 +0700 Subject: [PATCH 077/559] Move out release to shell script --- .travis.yml | 25 ++++--------------------- travis-release.sh | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 21 deletions(-) create mode 100644 travis-release.sh diff --git a/.travis.yml b/.travis.yml index 442910ca..c30c43ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,28 +29,11 @@ env: - TAG=5.3-debug PHP_VER="${PHP53}" PHP_DEBUG=1 script: - - | - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" + - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" + - travis_retry make && make test - travis_retry make && make test - - if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then - docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" - - if [[ -n "${TRAVIS_TAG}" ]]; then - export STABILITY_TAG="${TRAVIS_TAG}" - fi - - make release - - if [[ -n "${EXTRA_TAG}" ]]; then - make release TAG="${EXTRA_TAG}" - fi - - if [[ "${TAG}" == "${LATEST_TAG}" ]]; then - make release TAG="latest" - fi - fi +after_success: + - travis-release.sh notifications: on_failure: never diff --git a/travis-release.sh b/travis-release.sh new file mode 100644 index 00000000..085f2104 --- /dev/null +++ b/travis-release.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +set -e + +if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then + docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" + + if [[ -n "${TRAVIS_TAG}" ]]; then + export STABILITY_TAG="${TRAVIS_TAG}" + fi + + make release + + if [[ -n "${EXTRA_TAG}" ]]; then + make release TAG="${EXTRA_TAG}" + fi + + if [[ "${TAG}" == "${LATEST_TAG}" ]]; then + make release TAG="latest" + fi +fi From 0e38dfc4df2551a9a882cf2e1c68571ef2665694 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 12 Feb 2018 16:47:44 +0700 Subject: [PATCH 078/559] Move out release to shell script --- .travis.yml | 2 +- travis-release.sh | 0 2 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 travis-release.sh diff --git a/.travis.yml b/.travis.yml index c30c43ec..c7590980 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ script: - travis_retry make && make test after_success: - - travis-release.sh + - ./travis-release.sh notifications: on_failure: never diff --git a/travis-release.sh b/travis-release.sh old mode 100644 new mode 100755 From bbcdc529a32b6eb167a23a4209ad9f7938c24350 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 12 Feb 2018 17:20:41 +0700 Subject: [PATCH 079/559] Move out release to shell script --- .travis.yml | 2 +- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index c7590980..fdac8678 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ script: - travis_retry make && make test after_success: - - ./travis-release.sh + - sh "${TRAVIS_BUILD_DIR}/travis-release.sh" notifications: on_failure: never diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 75ef1739..0fbd7f67 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -38,7 +38,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBPNG_VER="1.6.29-r1" \ LIBXSLT_VER="1.1.29-r3" \ MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.6-r0" \ + POSTGRESQL_CLIENT_VER="9.6.7-r0" \ RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" diff --git a/7/Dockerfile b/7/Dockerfile index 58ee5e5e..d794f7c5 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -41,7 +41,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBPNG_VER="1.6.29-r1" \ LIBXSLT_VER="1.1.29-r3" \ MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.6-r0" \ + POSTGRESQL_CLIENT_VER="9.6.7-r0" \ RABBITMQ_C_VER="0.8.0-r2" \ YAML_VER="0.1.7-r0" From b02ccaa78f04661999c865d409f1282341161670 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 12 Feb 2018 17:39:55 +0700 Subject: [PATCH 080/559] Move out release to shell script --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fdac8678..e3fc710a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ script: - travis_retry make && make test after_success: - - sh "${TRAVIS_BUILD_DIR}/travis-release.sh" + - bash "${TRAVIS_BUILD_DIR}/travis-release.sh" notifications: on_failure: never From 48e58b746801cd7d22f4eefc6078ce494f0c43a4 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 12 Feb 2018 19:59:08 +0700 Subject: [PATCH 081/559] Fix tests --- 5.3/test/docker-compose.yml | 2 -- 5.3/test/nginx.conf | 15 --------------- 5.6/test/docker-compose.yml | 2 -- 5.6/test/nginx.conf | 15 --------------- 7/test/docker-compose.yml | 2 -- 7/test/nginx.conf | 15 --------------- 6 files changed, 51 deletions(-) delete mode 100644 5.3/test/nginx.conf delete mode 100644 5.6/test/nginx.conf delete mode 100644 7/test/nginx.conf diff --git a/5.3/test/docker-compose.yml b/5.3/test/docker-compose.yml index 0d9d7002..d0d63608 100644 --- a/5.3/test/docker-compose.yml +++ b/5.3/test/docker-compose.yml @@ -3,8 +3,6 @@ version: "2" services: nginx: image: wodby/php-nginx - volumes: - - ./nginx.conf:/etc/gotpl/default-vhost.conf.tpl depends_on: - php diff --git a/5.3/test/nginx.conf b/5.3/test/nginx.conf deleted file mode 100644 index a89ce5ba..00000000 --- a/5.3/test/nginx.conf +++ /dev/null @@ -1,15 +0,0 @@ -server { - server_name default; - listen 80; - - root /var/www/html/; - index index.php; - - fastcgi_param REQUEST_METHOD $request_method; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_index index.php; - - location / { - fastcgi_pass php:9000; - } -} diff --git a/5.6/test/docker-compose.yml b/5.6/test/docker-compose.yml index b82afe7a..d9aa9cb5 100644 --- a/5.6/test/docker-compose.yml +++ b/5.6/test/docker-compose.yml @@ -3,8 +3,6 @@ version: "2" services: nginx: image: wodby/php-nginx - volumes: - - ./nginx.conf:/etc/gotpl/default-vhost.conf.tpl depends_on: - php diff --git a/5.6/test/nginx.conf b/5.6/test/nginx.conf deleted file mode 100644 index a89ce5ba..00000000 --- a/5.6/test/nginx.conf +++ /dev/null @@ -1,15 +0,0 @@ -server { - server_name default; - listen 80; - - root /var/www/html/; - index index.php; - - fastcgi_param REQUEST_METHOD $request_method; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_index index.php; - - location / { - fastcgi_pass php:9000; - } -} diff --git a/7/test/docker-compose.yml b/7/test/docker-compose.yml index 2d3b4b58..c4ef4c1e 100644 --- a/7/test/docker-compose.yml +++ b/7/test/docker-compose.yml @@ -3,8 +3,6 @@ version: "2" services: nginx: image: wodby/php-nginx - volumes: - - ./nginx.conf:/etc/gotpl/default-vhost.conf.tpl depends_on: - php diff --git a/7/test/nginx.conf b/7/test/nginx.conf deleted file mode 100644 index a89ce5ba..00000000 --- a/7/test/nginx.conf +++ /dev/null @@ -1,15 +0,0 @@ -server { - server_name default; - listen 80; - - root /var/www/html/; - index index.php; - - fastcgi_param REQUEST_METHOD $request_method; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_index index.php; - - location / { - fastcgi_pass php:9000; - } -} From c4aa03822df4cd21e88d06610209f510a3559afd Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 12 Feb 2018 20:02:02 +0700 Subject: [PATCH 082/559] Install blackfire for 5.6 --- 5.6/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 0fbd7f67..a9639121 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -226,6 +226,7 @@ RUN set -xe; \ version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ + mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ \ # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ From d2026ea2ff0e22961ebae949fd68c987f7bd7d6b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 13 Feb 2018 11:45:57 +0700 Subject: [PATCH 083/559] Fix syntax --- 5.3/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index c360b51f..5b009a16 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -178,7 +178,7 @@ RUN set -xe; \ "uploadprogress-${EXT_UPLOADPROGRESS_VER}" \ "xdebug-${EXT_XDEBUG_VER}" \ "yaml-${EXT_YAML_VER}" \ - "ZendOpcache-${EXT_OPCACHE_VER};" \ + "ZendOpcache-${EXT_OPCACHE_VER}"; \ \ docker-php-ext-enable \ amqp \ From 0cd2a2550fc96bc061f77b9badee391c6d8c7051 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 13 Feb 2018 12:02:47 +0700 Subject: [PATCH 084/559] Run migrate action tests --- 5.3/test.sh | 1 + 5.6/test.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/5.3/test.sh b/5.3/test.sh index 280f644a..c0473e15 100755 --- a/5.3/test.sh +++ b/5.3/test.sh @@ -39,6 +39,7 @@ run_action() { docker-compose -f test/docker-compose.yml up -d run_action php check-ready max_try=10 +run_action php migrate # PHP tools docker_exec php tests.sh diff --git a/5.6/test.sh b/5.6/test.sh index 280f644a..c0473e15 100755 --- a/5.6/test.sh +++ b/5.6/test.sh @@ -39,6 +39,7 @@ run_action() { docker-compose -f test/docker-compose.yml up -d run_action php check-ready max_try=10 +run_action php migrate # PHP tools docker_exec php tests.sh From 2461bc70f6127f3aed08c968d8f738875098294b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 13 Feb 2018 12:39:30 +0700 Subject: [PATCH 085/559] Drop 5.3 debug version --- .travis.yml | 1 - 5.3/Dockerfile | 6 ------ 5.3/docker-entrypoint.sh | 4 ---- README.md | 1 - 4 files changed, 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index e3fc710a..1e01b7f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,7 +26,6 @@ env: - TAG=7.1-debug PHP_VER="${PHP71}" PHP_DEBUG=1 - TAG=7.0-debug PHP_VER="${PHP70}" PHP_DEBUG=1 - TAG=5.6-debug PHP_VER="${PHP56}" PHP_DEBUG=1 EXTRA_TAG=5-debug - - TAG=5.3-debug PHP_VER="${PHP53}" PHP_DEBUG=1 script: - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 5b009a16..6c603b9e 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -3,10 +3,8 @@ ARG FROM_TAG FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV -ARG PHP_DEBUG ENV PHP_DEV="${PHP_DEV}" \ - PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ RABBITMQ_C_VER="0.8.0" \ WALTER_VER="1.3.0" \ @@ -93,10 +91,6 @@ RUN set -xe; \ postgresql-dev \ yaml-dev; \ \ - if [[ -n "${PHP_DEBUG}" ]]; then \ - apk add --update --no-cache -t .debug-tools gdb; \ - fi; \ - \ # Temporary install additional packages to keep client bins. apk add --update --no-cache -t .bins-only \ postgresql \ diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 7d5d77ff..b9a6beab 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -65,10 +65,6 @@ process_templates() { export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" fi - if [[ -n "${PHP_DEBUG}" ]]; then - export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" - fi - exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" diff --git a/README.md b/README.md index ca0ea364..eadec5ff 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,6 @@ Supported tags and respective `Dockerfile` links: * `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5-debug`, `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) -* `5.3-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) > The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 From 4d08751b1b283b6a629d166cf3eb2467a88bd810 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 13 Feb 2018 14:42:29 +0700 Subject: [PATCH 086/559] Actualize files import action for 5.3 --- 5.3/actions/files-import.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/5.3/actions/files-import.sh b/5.3/actions/files-import.sh index 1d877b81..db18eb0d 100755 --- a/5.3/actions/files-import.sh +++ b/5.3/actions/files-import.sh @@ -11,7 +11,8 @@ tmp_dir="/tmp/source" get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" -if [[ -d "${tmp_dir}/.wodby" ]]; then +# TODO: allow top level dir import only for wodby archives. +if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}" else From b0de1111f41dcfbd41c08f7011740d6e89b3e5e7 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 13 Feb 2018 15:17:26 +0700 Subject: [PATCH 087/559] Update deps for alpine 3.7 --- 5.6/Dockerfile | 61 +++++++++++++++++--------------------------------- 7/Dockerfile | 61 +++++++++++++++++--------------------------------- README.md | 1 - 3 files changed, 40 insertions(+), 83 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index a9639121..20a95da8 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -24,22 +24,22 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_XDEBUG_VER="2.5.5" \ EXT_YAML_VER="1.3.1" \ \ - C_CLIENT_VER="2007f-r6" \ - FREETYPE_VER="2.7.1-r1" \ - GEOIP_VER="1.6.10-r0" \ - ICU_LIBS_VER="58.2-r2" \ - IMAGEMAGICK_VER="7.0.5.10-r0" \ - LIBBZ2_VER="1.0.6-r5" \ - LIBJPEG_TURBO_VER="1.5.1-r0" \ - LIBLDAP_VER="2.4.44-r5" \ - LIBLTDL_VER="2.4.6-r1" \ + C_CLIENT_VER="2007f-r7" \ + FREETYPE_VER="2.8.1-r2" \ + GEOIP_VER="1.6.11-r0" \ + ICU_LIBS_VER="59.1-r1" \ + IMAGEMAGICK_VER="7.0.7.11-r1" \ + LIBBZ2_VER="1.0.6-r6" \ + LIBJPEG_TURBO_VER="1.5.2-r0" \ + LIBLDAP_VER="2.4.45-r3" \ + LIBLTDL_VER="2.4.6-r4" \ LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ LIBMCRYPT_VER="2.5.8-r7" \ - LIBPNG_VER="1.6.29-r1" \ - LIBXSLT_VER="1.1.29-r3" \ - MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.7-r0" \ - RABBITMQ_C_VER="0.8.0-r2" \ + LIBPNG_VER="1.6.34-r1" \ + LIBXSLT_VER="1.1.31-r0" \ + MARIADB_CLIENT_VER="10.1.28-r1" \ + POSTGRESQL_CLIENT_VER="10.2-r0" \ + RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" ENV APP_ROOT="/var/www/html" \ @@ -115,34 +115,13 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ - if [[ -n "${PHP_DEBUG}" ]]; then \ - apk add --update --no-cache -t .debug-tools gdb; \ - fi; \ - \ - # Temporary install additional packages to keep client bins. - apk add --update --no-cache -t .bins-only \ - postgresql \ - redis; \ + # Install redis-cli. + apk add --update --no-cache redis; \ mkdir -p /tmp/pkgs-bins; \ - mv \ - /usr/bin/pg_basebackup \ - /usr/bin/clusterdb \ - /usr/bin/pg_dump \ - /usr/bin/dropuser \ - /usr/bin/pg_isready \ - /usr/bin/createuser \ - /usr/bin/pg_recvlogical \ - /usr/bin/psql \ - /usr/bin/reindexdb \ - /usr/bin/vacuumdb \ - /usr/bin/pg_dumpall \ - /usr/bin/createdb \ - /usr/bin/pg_restore \ - /usr/bin/dropdb \ - /usr/bin/redis-cli \ - /tmp/pkgs-bins; \ - apk del --purge .bins-only; \ - mv /tmp/pkgs-bins/* /usr/bin; \ + mv /usr/bin/redis-cli /tmp/; \ + apk del --purge redis; \ + deluser redis; \ + mv /tmp/redis-cli /usr/bin; \ \ docker-php-source extract; \ \ diff --git a/7/Dockerfile b/7/Dockerfile index d794f7c5..cbbd907f 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -27,22 +27,22 @@ ENV PHP_DEV="${PHP_DEV}" \ \ PHP72_EXT_MCRYPT_VER="1.0.1" \ \ - C_CLIENT_VER="2007f-r6" \ - FREETYPE_VER="2.7.1-r1" \ - GEOIP_VER="1.6.10-r0" \ - ICU_LIBS_VER="58.2-r2" \ - IMAGEMAGICK_VER="7.0.5.10-r0" \ - LIBBZ2_VER="1.0.6-r5" \ - LIBJPEG_TURBO_VER="1.5.1-r0" \ - LIBLDAP_VER="2.4.44-r5" \ - LIBLTDL_VER="2.4.6-r1" \ + C_CLIENT_VER="2007f-r7" \ + FREETYPE_VER="2.8.1-r2" \ + GEOIP_VER="1.6.11-r0" \ + ICU_LIBS_VER="59.1-r1" \ + IMAGEMAGICK_VER="7.0.7.11-r1" \ + LIBBZ2_VER="1.0.6-r6" \ + LIBJPEG_TURBO_VER="1.5.2-r0" \ + LIBLDAP_VER="2.4.45-r3" \ + LIBLTDL_VER="2.4.6-r4" \ LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ LIBMCRYPT_VER="2.5.8-r7" \ - LIBPNG_VER="1.6.29-r1" \ - LIBXSLT_VER="1.1.29-r3" \ - MARIADB_CLIENT_VER="10.1.26-r0" \ - POSTGRESQL_CLIENT_VER="9.6.7-r0" \ - RABBITMQ_C_VER="0.8.0-r2" \ + LIBPNG_VER="1.6.34-r1" \ + LIBXSLT_VER="1.1.31-r0" \ + MARIADB_CLIENT_VER="10.1.28-r1" \ + POSTGRESQL_CLIENT_VER="10.2-r0" \ + RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" ENV APP_ROOT="/var/www/html" \ @@ -118,34 +118,13 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ - if [[ -n "${PHP_DEBUG}" ]]; then \ - apk add --update --no-cache -t .debug-tools gdb; \ - fi; \ - \ - # Temporary install additional packages to keep client bins. - apk add --update --no-cache -t .bins-only \ - postgresql \ - redis; \ + # Install redis-cli. + apk add --update --no-cache redis; \ mkdir -p /tmp/pkgs-bins; \ - mv \ - /usr/bin/pg_basebackup \ - /usr/bin/clusterdb \ - /usr/bin/pg_dump \ - /usr/bin/dropuser \ - /usr/bin/pg_isready \ - /usr/bin/createuser \ - /usr/bin/pg_recvlogical \ - /usr/bin/psql \ - /usr/bin/reindexdb \ - /usr/bin/vacuumdb \ - /usr/bin/pg_dumpall \ - /usr/bin/createdb \ - /usr/bin/pg_restore \ - /usr/bin/dropdb \ - /usr/bin/redis-cli \ - /tmp/pkgs-bins; \ - apk del --purge .bins-only; \ - mv /tmp/pkgs-bins/* /usr/bin; \ + mv /usr/bin/redis-cli /tmp/; \ + apk del --purge redis; \ + deluser redis; \ + mv /tmp/redis-cli /usr/bin; \ \ docker-php-source extract; \ \ diff --git a/README.md b/README.md index eadec5ff..9526a333 100644 --- a/README.md +++ b/README.md @@ -331,7 +331,6 @@ Include all changes from `-dev` images and additionally: * PHP binaries are not stripped from debug symbols * Some extensions do not work with `--enabled-debug` such as newrelic and blackfire * `PHP_FPM_LOG_LEVEL` is set to `debug` by default -* `gdb` is available ## Users and permissions From ba2ceea19e644513b156fa347d2ae96036e26812 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 14 Feb 2018 17:14:48 +0700 Subject: [PATCH 088/559] Fixes for migrate action --- 5.3/Dockerfile | 2 ++ 5.3/actions/actions.mk | 2 +- 5.3/actions/migrate.sh | 7 ++++--- 5.3/docker-entrypoint.sh | 10 ++++++++++ 5.3/test.sh | 2 +- 5.6/Dockerfile | 2 ++ 5.6/actions/actions.mk | 2 +- 5.6/actions/migrate.sh | 7 ++++--- 5.6/docker-entrypoint.sh | 12 ++++++++++-- 5.6/test.sh | 2 +- 7/Dockerfile | 2 ++ 7/actions/actions.mk | 2 +- 7/actions/migrate.sh | 7 ++++--- 7/docker-entrypoint.sh | 12 ++++++++++-- 7/test.sh | 2 +- 15 files changed, 54 insertions(+), 19 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 6c603b9e..72cd675b 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -41,6 +41,7 @@ RUN set -xe; \ bzip2 \ c-client \ fcgi \ + findutils \ freetype \ git \ icu-libs \ @@ -209,6 +210,7 @@ RUN set -xe; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ + echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo "/usr/sbin/crond" ; \ } | tee /etc/sudoers.d/wodby; \ diff --git a/5.3/actions/actions.mk b/5.3/actions/actions.mk index ba42f757..9e686ece 100644 --- a/5.3/actions/actions.mk +++ b/5.3/actions/actions.mk @@ -20,7 +20,7 @@ service = PHP-FPM default: check-ready migrate: - migrate.sh $(from) $(to) + sudo -E migrate.sh $(from) $(to) git-clone: $(call check_defined, url) diff --git a/5.3/actions/migrate.sh b/5.3/actions/migrate.sh index f89816d3..a23d3093 100755 --- a/5.3/actions/migrate.sh +++ b/5.3/actions/migrate.sh @@ -9,9 +9,10 @@ fi from="${1:-}" to="${2:-}" -# Default user changed from www-data (82) to wodby (1000), change recursively volume codebase permissions. +# Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then echo "Migrating to a new major 5.x version" - echo "Recursively updated codebase volume owner from www-data to wodby:wodby" - find "${APP_ROOT}" -uid 82 -exec chown wodby:wodby {} + + echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" + find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + + chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" fi diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index b9a6beab..244bbcb4 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -15,6 +15,16 @@ exec_tpl() { } validate_dirs() { + if [[ ! -d "${FILES_DIR}/private" ]]; then + mkdir -p "${FILES_DIR}/private" + chmod 775 "${FILES_DIR}/private" + fi + + if [[ ! -d "${FILES_DIR}/public" ]]; then + mkdir -p "${FILES_DIR}/public" + chmod 775 "${FILES_DIR}/public" + fi + if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then mkdir -p "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" fi diff --git a/5.3/test.sh b/5.3/test.sh index c0473e15..54aece58 100755 --- a/5.3/test.sh +++ b/5.3/test.sh @@ -39,7 +39,7 @@ run_action() { docker-compose -f test/docker-compose.yml up -d run_action php check-ready max_try=10 -run_action php migrate +run_action php migrate from=4.4.0 to=5.0.0 # PHP tools docker_exec php tests.sh diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 20a95da8..f3ecea04 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -62,6 +62,7 @@ RUN set -xe; \ apk add --update --no-cache -t .php-rundeps \ "c-client=${C_CLIENT_VER}" \ fcgi \ + findutils \ "freetype=${FREETYPE_VER}" \ "geoip=${GEOIP_VER}" \ git \ @@ -234,6 +235,7 @@ RUN set -xe; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ + echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ } | tee /etc/sudoers.d/wodby; \ diff --git a/5.6/actions/actions.mk b/5.6/actions/actions.mk index ba42f757..9e686ece 100644 --- a/5.6/actions/actions.mk +++ b/5.6/actions/actions.mk @@ -20,7 +20,7 @@ service = PHP-FPM default: check-ready migrate: - migrate.sh $(from) $(to) + sudo -E migrate.sh $(from) $(to) git-clone: $(call check_defined, url) diff --git a/5.6/actions/migrate.sh b/5.6/actions/migrate.sh index f89816d3..a23d3093 100755 --- a/5.6/actions/migrate.sh +++ b/5.6/actions/migrate.sh @@ -9,9 +9,10 @@ fi from="${1:-}" to="${2:-}" -# Default user changed from www-data (82) to wodby (1000), change recursively volume codebase permissions. +# Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then echo "Migrating to a new major 5.x version" - echo "Recursively updated codebase volume owner from www-data to wodby:wodby" - find "${APP_ROOT}" -uid 82 -exec chown wodby:wodby {} + + echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" + find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + + chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" fi diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 4a446536..ab60dd69 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -15,6 +15,16 @@ exec_tpl() { } validate_dirs() { + if [[ ! -d "${FILES_DIR}/private" ]]; then + mkdir -p "${FILES_DIR}/private" + chmod 775 "${FILES_DIR}/private" + fi + + if [[ ! -d "${FILES_DIR}/public" ]]; then + mkdir -p "${FILES_DIR}/public" + chmod 775 "${FILES_DIR}/public" + fi + if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then mkdir -p "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" fi @@ -88,8 +98,6 @@ init_git() { } sudo fix-volumes-permissions.sh -mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" -chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" validate_dirs init_ssh_client diff --git a/5.6/test.sh b/5.6/test.sh index c0473e15..54aece58 100755 --- a/5.6/test.sh +++ b/5.6/test.sh @@ -39,7 +39,7 @@ run_action() { docker-compose -f test/docker-compose.yml up -d run_action php check-ready max_try=10 -run_action php migrate +run_action php migrate from=4.4.0 to=5.0.0 # PHP tools docker_exec php tests.sh diff --git a/7/Dockerfile b/7/Dockerfile index cbbd907f..51838616 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -65,6 +65,7 @@ RUN set -xe; \ apk add --update --no-cache -t .php-rundeps \ "c-client=${C_CLIENT_VER}" \ fcgi \ + findutils \ "freetype=${FREETYPE_VER}" \ "geoip=${GEOIP_VER}" \ git \ @@ -257,6 +258,7 @@ RUN set -xe; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ + echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ } | tee /etc/sudoers.d/wodby; \ diff --git a/7/actions/actions.mk b/7/actions/actions.mk index ba42f757..9e686ece 100644 --- a/7/actions/actions.mk +++ b/7/actions/actions.mk @@ -20,7 +20,7 @@ service = PHP-FPM default: check-ready migrate: - migrate.sh $(from) $(to) + sudo -E migrate.sh $(from) $(to) git-clone: $(call check_defined, url) diff --git a/7/actions/migrate.sh b/7/actions/migrate.sh index f89816d3..a23d3093 100755 --- a/7/actions/migrate.sh +++ b/7/actions/migrate.sh @@ -9,9 +9,10 @@ fi from="${1:-}" to="${2:-}" -# Default user changed from www-data (82) to wodby (1000), change recursively volume codebase permissions. +# Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then echo "Migrating to a new major 5.x version" - echo "Recursively updated codebase volume owner from www-data to wodby:wodby" - find "${APP_ROOT}" -uid 82 -exec chown wodby:wodby {} + + echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" + find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + + chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" fi diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 567f7143..b4897fc0 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -16,6 +16,16 @@ exec_tpl() { } validate_dirs() { + if [[ ! -d "${FILES_DIR}/private" ]]; then + mkdir -p "${FILES_DIR}/private" + chmod 775 "${FILES_DIR}/private" + fi + + if [[ ! -d "${FILES_DIR}/public" ]]; then + mkdir -p "${FILES_DIR}/public" + chmod 775 "${FILES_DIR}/public" + fi + if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then mkdir -p "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" fi @@ -89,8 +99,6 @@ init_git() { } sudo fix-volumes-permissions.sh -mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" -chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" validate_dirs init_ssh_client diff --git a/7/test.sh b/7/test.sh index c0473e15..54aece58 100755 --- a/7/test.sh +++ b/7/test.sh @@ -39,7 +39,7 @@ run_action() { docker-compose -f test/docker-compose.yml up -d run_action php check-ready max_try=10 -run_action php migrate +run_action php migrate from=4.4.0 to=5.0.0 # PHP tools docker_exec php tests.sh From b8ac01e0c53045147e7dba94f53fd7569d66d605 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 14 Feb 2018 19:40:58 +0700 Subject: [PATCH 089/559] Fixes for migrate action --- 5.3/actions/migrate.sh | 1 + 5.6/actions/migrate.sh | 1 + 7/actions/migrate.sh | 1 + 3 files changed, 3 insertions(+) diff --git a/5.3/actions/migrate.sh b/5.3/actions/migrate.sh index a23d3093..d5d2a883 100755 --- a/5.3/actions/migrate.sh +++ b/5.3/actions/migrate.sh @@ -15,4 +15,5 @@ if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" + chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" fi diff --git a/5.6/actions/migrate.sh b/5.6/actions/migrate.sh index a23d3093..d5d2a883 100755 --- a/5.6/actions/migrate.sh +++ b/5.6/actions/migrate.sh @@ -15,4 +15,5 @@ if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" + chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" fi diff --git a/7/actions/migrate.sh b/7/actions/migrate.sh index a23d3093..d5d2a883 100755 --- a/7/actions/migrate.sh +++ b/7/actions/migrate.sh @@ -15,4 +15,5 @@ if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" + chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" fi From 3af44238ebb58e77ef65358dea04fecaf28ae03a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 15 Feb 2018 14:25:18 +0700 Subject: [PATCH 090/559] Fixes for migrate action --- 5.3/actions/migrate.sh | 20 ++++++++--- 5.3/docker-entrypoint.sh | 67 +++++++++++++++++------------------ 5.6/actions/migrate.sh | 20 ++++++++--- 5.6/docker-entrypoint.sh | 73 +++++++++++++++++++------------------- 7/actions/migrate.sh | 20 ++++++++--- 7/docker-entrypoint.sh | 76 ++++++++++++++++++++-------------------- 6 files changed, 154 insertions(+), 122 deletions(-) diff --git a/5.3/actions/migrate.sh b/5.3/actions/migrate.sh index d5d2a883..35999686 100755 --- a/5.3/actions/migrate.sh +++ b/5.3/actions/migrate.sh @@ -11,9 +11,21 @@ to="${2:-}" # Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then - echo "Migrating to a new major 5.x version" - echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" + echo "1. Migrating to a new major 5.x version. Fixing permissions for:" + echo "- Codebase volume except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + - chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" - chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" + echo "- Files volume (only top level dirs and files)" + find "${FILES_DIR}" ! -path "${FILES_DIR}" -uid 82 -maxdepth 1 -exec chown wodby:wodby {} \; -exec chmod 775 {} \; + + if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then + echo "Repeating actions for xdebug trace output dir" + chown wodby:wodby "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" + chmod 775 "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" + fi + + if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then + echo "Repeating actions for xdebug profiler output dir" + chown wodby:wodby "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" + chmod 775 "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" + fi fi diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 244bbcb4..6f704ac2 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -6,49 +6,48 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -SSH_DIR=/home/wodby/.ssh +ssh_dir=/home/wodby/.ssh -exec_tpl() { +_gotpl() { if [[ -f "/etc/gotpl/$1" ]]; then gotpl "/etc/gotpl/$1" > "$2" fi } -validate_dirs() { - if [[ ! -d "${FILES_DIR}/private" ]]; then - mkdir -p "${FILES_DIR}/private" - chmod 775 "${FILES_DIR}/private" - fi - - if [[ ! -d "${FILES_DIR}/public" ]]; then - mkdir -p "${FILES_DIR}/public" - chmod 775 "${FILES_DIR}/public" - fi - - if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then - mkdir -p "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - fi - - if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then - mkdir -p "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - fi +# Writable for wodby group (www-data user) +create_group_writable_dirs() { + declare -a dirs=( + "${FILES_DIR}/private" + "${FILES_DIR}/public" + ) + + [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_TRACE_OUTPUT_DIR}") + [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_PROFILER_OUTPUT_DIR}") + + for dir in "${dirs[@]}"; do + # Check for existence to avoid permissions issues from 4.x version. + if [[ ! -d "${dir}" ]]; then + mkdir -p "${dir}" + chmod 775 "${dir}" + fi + done } init_ssh_client() { - exec_tpl "ssh_config.tpl" "${SSH_DIR}/config" + _gotpl "ssh_config.tpl" "${ssh_dir}/config" if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - exec_tpl "id_rsa.tpl" "${SSH_DIR}/id_rsa" - chmod -f 600 "${SSH_DIR}/id_rsa" + _gotpl "id_rsa.tpl" "${ssh_dir}/id_rsa" + chmod -f 600 "${ssh_dir}/id_rsa" unset SSH_PRIVATE_KEY fi } init_sshd() { - exec_tpl "sshd_config.tpl" "/etc/ssh/sshd_config" + _gotpl "sshd_config.tpl" "/etc/ssh/sshd_config" if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - exec_tpl "authorized_keys.tpl" "${SSH_DIR}/authorized_keys" + _gotpl "authorized_keys.tpl" "${ssh_dir}/authorized_keys" unset SSH_PUBLIC_KEYS fi @@ -61,13 +60,13 @@ init_sshd() { \ print ""$1"="$2"" \ } \ - }' > "${SSH_DIR}/environment" + }' > "${ssh_dir}/environment" sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { - exec_tpl "crontab.tpl" "/etc/crontabs/wodby" + _gotpl "crontab.tpl" "/etc/crontabs/wodby" } process_templates() { @@ -75,11 +74,11 @@ process_templates() { export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" fi - exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" + _gotpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" + _gotpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" + _gotpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } init_git() { @@ -88,10 +87,8 @@ init_git() { } sudo fix-volumes-permissions.sh -mkdir -p "${FILES_DIR}/private" "${FILES_DIR}/public" -chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" -validate_dirs +create_group_writable_dirs init_ssh_client init_git process_templates diff --git a/5.6/actions/migrate.sh b/5.6/actions/migrate.sh index d5d2a883..35999686 100755 --- a/5.6/actions/migrate.sh +++ b/5.6/actions/migrate.sh @@ -11,9 +11,21 @@ to="${2:-}" # Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then - echo "Migrating to a new major 5.x version" - echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" + echo "1. Migrating to a new major 5.x version. Fixing permissions for:" + echo "- Codebase volume except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + - chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" - chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" + echo "- Files volume (only top level dirs and files)" + find "${FILES_DIR}" ! -path "${FILES_DIR}" -uid 82 -maxdepth 1 -exec chown wodby:wodby {} \; -exec chmod 775 {} \; + + if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then + echo "Repeating actions for xdebug trace output dir" + chown wodby:wodby "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" + chmod 775 "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" + fi + + if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then + echo "Repeating actions for xdebug profiler output dir" + chown wodby:wodby "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" + chmod 775 "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" + fi fi diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index ab60dd69..b3623132 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -6,49 +6,48 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -SSH_DIR=/home/wodby/.ssh +ssh_dir=/home/wodby/.ssh -exec_tpl() { +_gotpl() { if [[ -f "/etc/gotpl/$1" ]]; then gotpl "/etc/gotpl/$1" > "$2" fi } -validate_dirs() { - if [[ ! -d "${FILES_DIR}/private" ]]; then - mkdir -p "${FILES_DIR}/private" - chmod 775 "${FILES_DIR}/private" - fi - - if [[ ! -d "${FILES_DIR}/public" ]]; then - mkdir -p "${FILES_DIR}/public" - chmod 775 "${FILES_DIR}/public" - fi - - if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then - mkdir -p "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - fi - - if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then - mkdir -p "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - fi +# Writable for wodby group (www-data user) +create_group_writable_dirs() { + declare -a dirs=( + "${FILES_DIR}/private" + "${FILES_DIR}/public" + ) + + [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_TRACE_OUTPUT_DIR}") + [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_PROFILER_OUTPUT_DIR}") + + for dir in "${dirs[@]}"; do + # Check for existence to avoid permissions issues from 4.x version. + if [[ ! -d "${dir}" ]]; then + mkdir -p "${dir}" + chmod 775 "${dir}" + fi + done } init_ssh_client() { - exec_tpl "ssh_config.tpl" "${SSH_DIR}/config" + _gotpl "ssh_config.tpl" "${ssh_dir}/config" if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - exec_tpl "id_rsa.tpl" "${SSH_DIR}/id_rsa" - chmod -f 600 "${SSH_DIR}/id_rsa" + _gotpl "id_rsa.tpl" "${ssh_dir}/id_rsa" + chmod -f 600 "${ssh_dir}/id_rsa" unset SSH_PRIVATE_KEY fi } init_sshd() { - exec_tpl "sshd_config.tpl" "/etc/ssh/sshd_config" + _gotpl "sshd_config.tpl" "/etc/ssh/sshd_config" if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - exec_tpl "authorized_keys.tpl" "${SSH_DIR}/authorized_keys" + _gotpl "authorized_keys.tpl" "${ssh_dir}/authorized_keys" unset SSH_PUBLIC_KEYS fi @@ -61,13 +60,13 @@ init_sshd() { \ print ""$1"="$2"" \ } \ - }' > "${SSH_DIR}/environment" + }' > "${ssh_dir}/environment" sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { - exec_tpl "crontab.tpl" "/etc/crontabs/wodby" + _gotpl "crontab.tpl" "/etc/crontabs/wodby" } process_templates() { @@ -79,17 +78,17 @@ process_templates() { export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else # Extensions that don't work with --enabled-debug - exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" + _gotpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + _gotpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi - exec_tpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - exec_tpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" + _gotpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" + _gotpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" + _gotpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + _gotpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" + _gotpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } init_git() { @@ -99,7 +98,7 @@ init_git() { sudo fix-volumes-permissions.sh -validate_dirs +create_group_writable_dirs init_ssh_client init_git process_templates diff --git a/7/actions/migrate.sh b/7/actions/migrate.sh index d5d2a883..35999686 100755 --- a/7/actions/migrate.sh +++ b/7/actions/migrate.sh @@ -11,9 +11,21 @@ to="${2:-}" # Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then - echo "Migrating to a new major 5.x version" - echo "Recursively update codebase files owner from www-data to wodby:wodby except symlinks (public files dir)" + echo "1. Migrating to a new major 5.x version. Fixing permissions for:" + echo "- Codebase volume except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + - chown wodby:wodby "${FILES_DIR}/private" "${FILES_DIR}/public" - chmod 775 "${FILES_DIR}/private" "${FILES_DIR}/public" + echo "- Files volume (only top level dirs and files)" + find "${FILES_DIR}" ! -path "${FILES_DIR}" -uid 82 -maxdepth 1 -exec chown wodby:wodby {} \; -exec chmod 775 {} \; + + if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then + echo "Repeating actions for xdebug trace output dir" + chown wodby:wodby "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" + chmod 775 "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" + fi + + if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then + echo "Repeating actions for xdebug profiler output dir" + chown wodby:wodby "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" + chmod 775 "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" + fi fi diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index b4897fc0..2768672e 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -6,50 +6,48 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -PHP_VER_MINOR="${PHP_VERSION:0:3}" -SSH_DIR=/home/wodby/.ssh +ssh_dir=/home/wodby/.ssh -exec_tpl() { +_gotpl() { if [[ -f "/etc/gotpl/$1" ]]; then gotpl "/etc/gotpl/$1" > "$2" fi } -validate_dirs() { - if [[ ! -d "${FILES_DIR}/private" ]]; then - mkdir -p "${FILES_DIR}/private" - chmod 775 "${FILES_DIR}/private" - fi - - if [[ ! -d "${FILES_DIR}/public" ]]; then - mkdir -p "${FILES_DIR}/public" - chmod 775 "${FILES_DIR}/public" - fi - - if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then - mkdir -p "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - fi - - if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then - mkdir -p "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - fi +# Writable for wodby group (www-data user) +create_group_writable_dirs() { + declare -a dirs=( + "${FILES_DIR}/private" + "${FILES_DIR}/public" + ) + + [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_TRACE_OUTPUT_DIR}") + [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_PROFILER_OUTPUT_DIR}") + + for dir in "${dirs[@]}"; do + # Check for existence to avoid permissions issues from 4.x version. + if [[ ! -d "${dir}" ]]; then + mkdir -p "${dir}" + chmod 775 "${dir}" + fi + done } init_ssh_client() { - exec_tpl "ssh_config.tpl" "${SSH_DIR}/config" + _gotpl "ssh_config.tpl" "${ssh_dir}/config" if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - exec_tpl "id_rsa.tpl" "${SSH_DIR}/id_rsa" - chmod -f 600 "${SSH_DIR}/id_rsa" + _gotpl "id_rsa.tpl" "${ssh_dir}/id_rsa" + chmod -f 600 "${ssh_dir}/id_rsa" unset SSH_PRIVATE_KEY fi } init_sshd() { - exec_tpl "sshd_config.tpl" "/etc/ssh/sshd_config" + _gotpl "sshd_config.tpl" "/etc/ssh/sshd_config" if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - exec_tpl "authorized_keys.tpl" "${SSH_DIR}/authorized_keys" + _gotpl "authorized_keys.tpl" "${ssh_dir}/authorized_keys" unset SSH_PUBLIC_KEYS fi @@ -62,16 +60,18 @@ init_sshd() { \ print ""$1"="$2"" \ } \ - }' > "${SSH_DIR}/environment" + }' > "${ssh_dir}/environment" sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { - exec_tpl "crontab.tpl" "/etc/crontabs/wodby" + _gotpl "crontab.tpl" "/etc/crontabs/wodby" } process_templates() { + local php_ver_minor="${PHP_VERSION:0:3}" + if [[ -n "${PHP_DEV}" ]]; then export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" fi @@ -80,17 +80,17 @@ process_templates() { export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else # Extensions that don't work with --enabled-debug - exec_tpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - exec_tpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" + _gotpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + _gotpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi - exec_tpl "docker-php-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - exec_tpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - exec_tpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - exec_tpl "docker-php-ext-opcache-${PHP_VER_MINOR}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - exec_tpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - exec_tpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - exec_tpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" + _gotpl "docker-php-${php_ver_minor}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" + _gotpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" + _gotpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" + _gotpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } init_git() { @@ -100,7 +100,7 @@ init_git() { sudo fix-volumes-permissions.sh -validate_dirs +create_group_writable_dirs init_ssh_client init_git process_templates From 600ebea548ca37b0c032c74c7571c89724d8f05c Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 15:31:30 +0700 Subject: [PATCH 091/559] add wodby to www-data group https://github.com/wodby/php/issues/22 --- 5.3/Dockerfile | 35 +++++++++--------- 5.3/actions/actions.mk | 2 +- 5.3/actions/files-import.sh | 4 +-- 5.3/actions/init-public-storage.sh | 3 -- 5.3/actions/init-volumes.sh | 23 ++++++++++++ 5.3/actions/migrate.sh | 18 ++-------- 5.3/docker-entrypoint.sh | 22 +----------- 5.6/Dockerfile | 35 +++++++++--------- 5.6/actions/actions.mk | 2 +- 5.6/actions/files-import.sh | 4 +-- 5.6/actions/init-public-storage.sh | 3 -- 5.6/actions/init-volumes.sh | 23 ++++++++++++ 5.6/actions/migrate.sh | 18 ++-------- 5.6/docker-entrypoint.sh | 22 +----------- 5.6/templates/docker-php-ext-xdebug.ini.tpl | 4 +-- 7/Dockerfile | 39 +++++++++++---------- 7/actions/actions.mk | 2 +- 7/actions/files-import.sh | 4 +-- 7/actions/init-public-storage.sh | 3 -- 7/actions/init-volumes.sh | 23 ++++++++++++ 7/actions/migrate.sh | 18 ++-------- 7/docker-entrypoint.sh | 22 +----------- 7/templates/docker-php-ext-xdebug.ini.tpl | 4 +-- 23 files changed, 147 insertions(+), 186 deletions(-) create mode 100755 5.3/actions/init-volumes.sh create mode 100755 5.6/actions/init-volumes.sh create mode 100755 7/actions/init-volumes.sh diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 72cd675b..cce31488 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -33,7 +33,7 @@ RUN set -xe; \ \ addgroup -g 1000 -S wodby; \ adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ - adduser www-data wodby; \ + adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ @@ -197,10 +197,6 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ - # Script to fix volumes permissions via sudo. - echo "chown wodby:wodby ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ - chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ - \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ @@ -208,11 +204,12 @@ RUN set -xe; \ { \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ + echo -n '/usr/local/bin/files-import.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ + echo -n '/usr/local/bin/init-volumes.sh, ' ; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ - echo "/usr/sbin/crond" ; \ + echo '/usr/sbin/crond' ; \ } | tee /etc/sudoers.d/wodby; \ fi; \ \ @@ -224,26 +221,30 @@ RUN set -xe; \ "${APP_ROOT}" \ "${CONF_DIR}" \ "${FILES_DIR}/public" \ - "${FILES_DIR}/private"; \ + "${FILES_DIR}/private" \ + "${FILES_DIR}/xdebug/traces" \ + "${FILES_DIR}/xdebug/profiler" \ + /home/wodby/.ssh; \ \ - chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ - su-exec wodby mkdir /home/wodby/.ssh; \ + chmod -R 775 "${FILES_DIR}"; \ + chown -R www-data:www-data "${FILES_DIR}"; \ + chown -R wodby:wodby \ + "${APP_ROOT}" \ + "${CONF_DIR}" \ + "${PHP_INI_DIR}/conf.d" \ + /usr/local/etc/php-fpm.d/ \ + /home/wodby/; \ \ + # SSHD touch /etc/ssh/sshd_config; \ chown wodby: /etc/ssh/sshd_config; \ \ + # Crontab rm /etc/crontabs/root; \ touch /etc/crontabs/wodby; \ chown root:wodby /etc/crontabs/wodby; \ chmod 660 /etc/crontabs/wodby; \ \ - chown -R wodby:wodby \ - /var/www \ - "${PHP_INI_DIR}/conf.d" \ - "${FILES_DIR}" \ - /usr/local/etc/php-fpm.d/ \ - /home/wodby/.profile; \ - \ # Cleanup su-exec wodby composer clear-cache; \ docker-php-source delete; \ diff --git a/5.3/actions/actions.mk b/5.3/actions/actions.mk index 9e686ece..0b781f44 100644 --- a/5.3/actions/actions.mk +++ b/5.3/actions/actions.mk @@ -32,7 +32,7 @@ git-checkout: files-import: $(call check_defined, source) - files-import.sh $(source) + sudo -E files-import.sh $(source) init-public-storage: $(call check_defined, public_dir) diff --git a/5.3/actions/files-import.sh b/5.3/actions/files-import.sh index db18eb0d..886f8ef5 100755 --- a/5.3/actions/files-import.sh +++ b/5.3/actions/files-import.sh @@ -14,10 +14,10 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}" + rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}/public/" + rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" fi rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.3/actions/init-public-storage.sh b/5.3/actions/init-public-storage.sh index 1ec03ced..b64ceac0 100755 --- a/5.3/actions/init-public-storage.sh +++ b/5.3/actions/init-public-storage.sh @@ -26,7 +26,4 @@ if [[ -n "${app_public_dir}" ]]; then else ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi - - # Make sure FPM can write to the public folder. - chmod 775 "${app_public_dir}" fi diff --git a/5.3/actions/init-volumes.sh b/5.3/actions/init-volumes.sh new file mode 100755 index 00000000..6af435f1 --- /dev/null +++ b/5.3/actions/init-volumes.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +chown wodby:wodby "${APP_ROOT}" + +declare -a dirs=( + "${FILES_DIR}" + "${FILES_DIR}/private" + "${FILES_DIR}/public" + "${FILES_DIR}/xdebug/profiler" + "${FILES_DIR}/xdebug/traces" +) + +for dir in "${dirs[@]}"; do + mkdir -p "${dir}" + chown www-data:www-data "${dir}" + chmod 775 "${dir}" +done diff --git a/5.3/actions/migrate.sh b/5.3/actions/migrate.sh index 35999686..91548f4d 100755 --- a/5.3/actions/migrate.sh +++ b/5.3/actions/migrate.sh @@ -11,21 +11,7 @@ to="${2:-}" # Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then - echo "1. Migrating to a new major 5.x version. Fixing permissions for:" - echo "- Codebase volume except symlinks (public files dir)" + echo "Migrating to a new major 5.x version." + echo "Fixing permissions for codebase volume except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + - echo "- Files volume (only top level dirs and files)" - find "${FILES_DIR}" ! -path "${FILES_DIR}" -uid 82 -maxdepth 1 -exec chown wodby:wodby {} \; -exec chmod 775 {} \; - - if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then - echo "Repeating actions for xdebug trace output dir" - chown wodby:wodby "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - chmod 775 "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - fi - - if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then - echo "Repeating actions for xdebug profiler output dir" - chown wodby:wodby "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - chmod 775 "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - fi fi diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 6f704ac2..50516911 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -14,25 +14,6 @@ _gotpl() { fi } -# Writable for wodby group (www-data user) -create_group_writable_dirs() { - declare -a dirs=( - "${FILES_DIR}/private" - "${FILES_DIR}/public" - ) - - [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_TRACE_OUTPUT_DIR}") - [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_PROFILER_OUTPUT_DIR}") - - for dir in "${dirs[@]}"; do - # Check for existence to avoid permissions issues from 4.x version. - if [[ ! -d "${dir}" ]]; then - mkdir -p "${dir}" - chmod 775 "${dir}" - fi - done -} - init_ssh_client() { _gotpl "ssh_config.tpl" "${ssh_dir}/config" @@ -86,9 +67,8 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo fix-volumes-permissions.sh +sudo init-volumes.sh -create_group_writable_dirs init_ssh_client init_git process_templates diff --git a/5.6/Dockerfile b/5.6/Dockerfile index f3ecea04..cd503e92 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -55,7 +55,7 @@ RUN set -xe; \ \ addgroup -g 1000 -S wodby; \ adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ - adduser www-data wodby; \ + adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ @@ -170,7 +170,7 @@ RUN set -xe; \ bash /tmp/newrelic/newrelic-install install; \ rm /usr/local/etc/php/conf.d/newrelic.ini; \ mkdir -p /var/log/newrelic/; \ - chown -R wodby:wodby /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ chmod -R 775 /var/log/newrelic/; \ \ pecl install \ @@ -222,10 +222,6 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ - # Script to fix volumes permissions via sudo. - echo "chown wodby:wodby ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ - chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ - \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ @@ -233,8 +229,9 @@ RUN set -xe; \ { \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ + echo -n '/usr/local/bin/files-import.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ + echo -n '/usr/local/bin/init-volumes.sh, ' ; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ @@ -249,26 +246,30 @@ RUN set -xe; \ "${APP_ROOT}" \ "${CONF_DIR}" \ "${FILES_DIR}/public" \ - "${FILES_DIR}/private"; \ + "${FILES_DIR}/private" \ + "${FILES_DIR}/xdebug/traces" \ + "${FILES_DIR}/xdebug/profiler" \ + /home/wodby/.ssh; \ \ - chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ - su-exec wodby mkdir /home/wodby/.ssh; \ + chmod -R 775 "${FILES_DIR}"; \ + chown -R www-data:www-data "${FILES_DIR}"; \ + chown -R wodby:wodby \ + "${APP_ROOT}" \ + "${CONF_DIR}" \ + "${PHP_INI_DIR}/conf.d" \ + /usr/local/etc/php-fpm.d/ \ + /home/wodby/; \ \ + # SSHD touch /etc/ssh/sshd_config; \ chown wodby: /etc/ssh/sshd_config; \ \ + # Crontab rm /etc/crontabs/root; \ touch /etc/crontabs/wodby; \ chown root:wodby /etc/crontabs/wodby; \ chmod 660 /etc/crontabs/wodby; \ \ - chown -R wodby:wodby \ - /var/www \ - "${PHP_INI_DIR}/conf.d" \ - "${FILES_DIR}" \ - /usr/local/etc/php-fpm.d/ \ - /home/wodby/.profile; \ - \ # Cleanup su-exec wodby composer clear-cache; \ docker-php-source delete; \ diff --git a/5.6/actions/actions.mk b/5.6/actions/actions.mk index 9e686ece..0b781f44 100644 --- a/5.6/actions/actions.mk +++ b/5.6/actions/actions.mk @@ -32,7 +32,7 @@ git-checkout: files-import: $(call check_defined, source) - files-import.sh $(source) + sudo -E files-import.sh $(source) init-public-storage: $(call check_defined, public_dir) diff --git a/5.6/actions/files-import.sh b/5.6/actions/files-import.sh index db18eb0d..886f8ef5 100755 --- a/5.6/actions/files-import.sh +++ b/5.6/actions/files-import.sh @@ -14,10 +14,10 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}" + rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}/public/" + rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" fi rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.6/actions/init-public-storage.sh b/5.6/actions/init-public-storage.sh index 1ec03ced..b64ceac0 100755 --- a/5.6/actions/init-public-storage.sh +++ b/5.6/actions/init-public-storage.sh @@ -26,7 +26,4 @@ if [[ -n "${app_public_dir}" ]]; then else ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi - - # Make sure FPM can write to the public folder. - chmod 775 "${app_public_dir}" fi diff --git a/5.6/actions/init-volumes.sh b/5.6/actions/init-volumes.sh new file mode 100755 index 00000000..6af435f1 --- /dev/null +++ b/5.6/actions/init-volumes.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +chown wodby:wodby "${APP_ROOT}" + +declare -a dirs=( + "${FILES_DIR}" + "${FILES_DIR}/private" + "${FILES_DIR}/public" + "${FILES_DIR}/xdebug/profiler" + "${FILES_DIR}/xdebug/traces" +) + +for dir in "${dirs[@]}"; do + mkdir -p "${dir}" + chown www-data:www-data "${dir}" + chmod 775 "${dir}" +done diff --git a/5.6/actions/migrate.sh b/5.6/actions/migrate.sh index 35999686..91548f4d 100755 --- a/5.6/actions/migrate.sh +++ b/5.6/actions/migrate.sh @@ -11,21 +11,7 @@ to="${2:-}" # Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then - echo "1. Migrating to a new major 5.x version. Fixing permissions for:" - echo "- Codebase volume except symlinks (public files dir)" + echo "Migrating to a new major 5.x version." + echo "Fixing permissions for codebase volume except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + - echo "- Files volume (only top level dirs and files)" - find "${FILES_DIR}" ! -path "${FILES_DIR}" -uid 82 -maxdepth 1 -exec chown wodby:wodby {} \; -exec chmod 775 {} \; - - if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then - echo "Repeating actions for xdebug trace output dir" - chown wodby:wodby "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - chmod 775 "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - fi - - if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then - echo "Repeating actions for xdebug profiler output dir" - chown wodby:wodby "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - chmod 775 "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - fi fi diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index b3623132..0307f348 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -14,25 +14,6 @@ _gotpl() { fi } -# Writable for wodby group (www-data user) -create_group_writable_dirs() { - declare -a dirs=( - "${FILES_DIR}/private" - "${FILES_DIR}/public" - ) - - [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_TRACE_OUTPUT_DIR}") - [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_PROFILER_OUTPUT_DIR}") - - for dir in "${dirs[@]}"; do - # Check for existence to avoid permissions issues from 4.x version. - if [[ ! -d "${dir}" ]]; then - mkdir -p "${dir}" - chmod 775 "${dir}" - fi - done -} - init_ssh_client() { _gotpl "ssh_config.tpl" "${ssh_dir}/config" @@ -96,9 +77,8 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo fix-volumes-permissions.sh +sudo init-volumes.sh -create_group_writable_dirs init_ssh_client init_git process_templates diff --git a/5.6/templates/docker-php-ext-xdebug.ini.tpl b/5.6/templates/docker-php-ext-xdebug.ini.tpl index 9e5e67b9..f5e0ba0a 100644 --- a/5.6/templates/docker-php-ext-xdebug.ini.tpl +++ b/5.6/templates/docker-php-ext-xdebug.ini.tpl @@ -27,7 +27,7 @@ xdebug.profiler_append = {{ getenv "PHP_XDEBUG_PROFILER_APPEND" "0" }} xdebug.profiler_enable = {{ getenv "PHP_XDEBUG_PROFILER_ENABLE" "0" }} xdebug.profiler_enable_trigger = {{ getenv "PHP_XDEBUG_PROFILER_ENABLE_TRIGGER" "0" }} xdebug.profiler_enable_trigger_value = "{{ getenv "PHP_XDEBUG_PROFILER_ENABLE_TRIGGER_VALUE" "" }}" -xdebug.profiler_output_dir = {{ getenv "PHP_XDEBUG_PROFILER_OUTPUT_DIR" "/tmp" }} +xdebug.profiler_output_dir = {{ getenv "FILES_DIR" }}/xdebug/profiler xdebug.profiler_output_name = {{ getenv "PHP_XDEBUG_PROFILER_OUTPUT_NAME" "cachegrind.out.%p" }} xdebug.remote_addr_header = "{{ getenv "PHP_XDEBUG_REMOTE_ADDR_HEADER" "" }}" xdebug.remote_autostart = {{ getenv "PHP_XDEBUG_REMOTE_AUTOSTART" "1" }} @@ -48,7 +48,7 @@ xdebug.trace_enable_trigger = {{ getenv "PHP_XDEBUG_TRACE_ENABLE_TRIGGER" "0" }} xdebug.trace_enable_trigger_value = "{{ getenv "PHP_XDEBUG_TRACE_ENABLE_TRIGGER_VALUE" "" }}" xdebug.trace_format = {{ getenv "PHP_XDEBUG_TRACE_FORMAT" "0" }} xdebug.trace_options = {{ getenv "PHP_XDEBUG_TRACE_OPTIONS" "0" }} -xdebug.trace_output_dir = {{ getenv "PHP_XDEBUG_TRACE_OUTPUT_DIR" "/tmp" }} +xdebug.trace_output_dir = {{ getenv "FILES_DIR" }}/xdebug/traces xdebug.trace_output_name = {{ getenv "PHP_XDEBUG_TRACE_OUTPUT_NAME" "trace.%c" }} xdebug.var_display_max_children = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_CHILDREN" "128" }} xdebug.var_display_max_data = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_DATA" "512" }} diff --git a/7/Dockerfile b/7/Dockerfile index 51838616..89327c12 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -58,7 +58,7 @@ RUN set -xe; \ \ addgroup -g 1000 -S wodby; \ adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ - adduser www-data wodby; \ + adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ @@ -171,15 +171,15 @@ RUN set -xe; \ fi; \ \ # NewRelic extension and agent. - wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz \ - http://download.newrelic.com/php_agent/release/ >/dev/null 2>&1; \ + newrelic_url="http://download.newrelic.com/php_agent/release/"; \ + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ export NR_INSTALL_SILENT=true; \ export NR_INSTALL_USE_CP_NOT_LN=true; \ bash /tmp/newrelic/newrelic-install install; \ rm /usr/local/etc/php/conf.d/newrelic.ini; \ mkdir -p /var/log/newrelic/; \ - chown -R wodby:wodby /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ chmod -R 775 /var/log/newrelic/; \ \ pecl install \ @@ -245,10 +245,6 @@ RUN set -xe; \ # Add composer bins to $PATH su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ - # Script to fix volumes permissions via sudo. - echo "chown wodby:wodby ${FILES_DIR} ${APP_ROOT}" > /usr/local/bin/fix-volumes-permissions.sh; \ - chmod +x /usr/local/bin/fix-volumes-permissions.sh; \ - \ # Configure sudoers if [[ -n "${PHP_DEV}" ]]; then \ echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ @@ -256,8 +252,9 @@ RUN set -xe; \ { \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ + echo -n '/usr/local/bin/files-import.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/fix-volumes-permissions.sh, ' ; \ + echo -n '/usr/local/bin/init-volumes.sh, ' ; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ @@ -272,26 +269,30 @@ RUN set -xe; \ "${APP_ROOT}" \ "${CONF_DIR}" \ "${FILES_DIR}/public" \ - "${FILES_DIR}/private"; \ + "${FILES_DIR}/private" \ + "${FILES_DIR}/xdebug/traces" \ + "${FILES_DIR}/xdebug/profiler" \ + /home/wodby/.ssh; \ \ - chmod 775 "${FILES_DIR}/public" "${FILES_DIR}/private"; \ - su-exec wodby mkdir /home/wodby/.ssh; \ + chmod -R 775 "${FILES_DIR}"; \ + chown -R www-data:www-data "${FILES_DIR}"; \ + chown -R wodby:wodby \ + "${APP_ROOT}" \ + "${CONF_DIR}" \ + "${PHP_INI_DIR}/conf.d" \ + /usr/local/etc/php-fpm.d/ \ + /home/wodby/; \ \ + # SSHD touch /etc/ssh/sshd_config; \ chown wodby: /etc/ssh/sshd_config; \ \ + # Crontab rm /etc/crontabs/root; \ touch /etc/crontabs/wodby; \ chown root:wodby /etc/crontabs/wodby; \ chmod 660 /etc/crontabs/wodby; \ \ - chown -R wodby:wodby \ - /var/www \ - "${PHP_INI_DIR}/conf.d" \ - "${FILES_DIR}" \ - /usr/local/etc/php-fpm.d/ \ - /home/wodby/.profile; \ - \ # Cleanup su-exec wodby composer clear-cache; \ docker-php-source delete; \ diff --git a/7/actions/actions.mk b/7/actions/actions.mk index 9e686ece..0b781f44 100644 --- a/7/actions/actions.mk +++ b/7/actions/actions.mk @@ -32,7 +32,7 @@ git-checkout: files-import: $(call check_defined, source) - files-import.sh $(source) + sudo -E files-import.sh $(source) init-public-storage: $(call check_defined, public_dir) diff --git a/7/actions/files-import.sh b/7/actions/files-import.sh index db18eb0d..886f8ef5 100755 --- a/7/actions/files-import.sh +++ b/7/actions/files-import.sh @@ -14,10 +14,10 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}" + rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rlt --force "${tmp_dir}/" "${FILES_DIR}/public/" + rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" fi rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/7/actions/init-public-storage.sh b/7/actions/init-public-storage.sh index 1ec03ced..b64ceac0 100755 --- a/7/actions/init-public-storage.sh +++ b/7/actions/init-public-storage.sh @@ -26,7 +26,4 @@ if [[ -n "${app_public_dir}" ]]; then else ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi - - # Make sure FPM can write to the public folder. - chmod 775 "${app_public_dir}" fi diff --git a/7/actions/init-volumes.sh b/7/actions/init-volumes.sh new file mode 100755 index 00000000..6af435f1 --- /dev/null +++ b/7/actions/init-volumes.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +chown wodby:wodby "${APP_ROOT}" + +declare -a dirs=( + "${FILES_DIR}" + "${FILES_DIR}/private" + "${FILES_DIR}/public" + "${FILES_DIR}/xdebug/profiler" + "${FILES_DIR}/xdebug/traces" +) + +for dir in "${dirs[@]}"; do + mkdir -p "${dir}" + chown www-data:www-data "${dir}" + chmod 775 "${dir}" +done diff --git a/7/actions/migrate.sh b/7/actions/migrate.sh index 35999686..91548f4d 100755 --- a/7/actions/migrate.sh +++ b/7/actions/migrate.sh @@ -11,21 +11,7 @@ to="${2:-}" # Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then - echo "1. Migrating to a new major 5.x version. Fixing permissions for:" - echo "- Codebase volume except symlinks (public files dir)" + echo "Migrating to a new major 5.x version." + echo "Fixing permissions for codebase volume except symlinks (public files dir)" find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + - echo "- Files volume (only top level dirs and files)" - find "${FILES_DIR}" ! -path "${FILES_DIR}" -uid 82 -maxdepth 1 -exec chown wodby:wodby {} \; -exec chmod 775 {} \; - - if [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]]; then - echo "Repeating actions for xdebug trace output dir" - chown wodby:wodby "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - chmod 775 "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" - fi - - if [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]]; then - echo "Repeating actions for xdebug profiler output dir" - chown wodby:wodby "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - chmod 775 "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" - fi fi diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 2768672e..9f34a1d4 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -14,25 +14,6 @@ _gotpl() { fi } -# Writable for wodby group (www-data user) -create_group_writable_dirs() { - declare -a dirs=( - "${FILES_DIR}/private" - "${FILES_DIR}/public" - ) - - [[ -n "${PHP_XDEBUG_TRACE_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_TRACE_OUTPUT_DIR}") - [[ -n "${PHP_XDEBUG_PROFILER_OUTPUT_DIR}" ]] && dirs+=("${PHP_XDEBUG_PROFILER_OUTPUT_DIR}") - - for dir in "${dirs[@]}"; do - # Check for existence to avoid permissions issues from 4.x version. - if [[ ! -d "${dir}" ]]; then - mkdir -p "${dir}" - chmod 775 "${dir}" - fi - done -} - init_ssh_client() { _gotpl "ssh_config.tpl" "${ssh_dir}/config" @@ -98,9 +79,8 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo fix-volumes-permissions.sh +sudo init-volumes.sh -create_group_writable_dirs init_ssh_client init_git process_templates diff --git a/7/templates/docker-php-ext-xdebug.ini.tpl b/7/templates/docker-php-ext-xdebug.ini.tpl index 9e5e67b9..f5e0ba0a 100644 --- a/7/templates/docker-php-ext-xdebug.ini.tpl +++ b/7/templates/docker-php-ext-xdebug.ini.tpl @@ -27,7 +27,7 @@ xdebug.profiler_append = {{ getenv "PHP_XDEBUG_PROFILER_APPEND" "0" }} xdebug.profiler_enable = {{ getenv "PHP_XDEBUG_PROFILER_ENABLE" "0" }} xdebug.profiler_enable_trigger = {{ getenv "PHP_XDEBUG_PROFILER_ENABLE_TRIGGER" "0" }} xdebug.profiler_enable_trigger_value = "{{ getenv "PHP_XDEBUG_PROFILER_ENABLE_TRIGGER_VALUE" "" }}" -xdebug.profiler_output_dir = {{ getenv "PHP_XDEBUG_PROFILER_OUTPUT_DIR" "/tmp" }} +xdebug.profiler_output_dir = {{ getenv "FILES_DIR" }}/xdebug/profiler xdebug.profiler_output_name = {{ getenv "PHP_XDEBUG_PROFILER_OUTPUT_NAME" "cachegrind.out.%p" }} xdebug.remote_addr_header = "{{ getenv "PHP_XDEBUG_REMOTE_ADDR_HEADER" "" }}" xdebug.remote_autostart = {{ getenv "PHP_XDEBUG_REMOTE_AUTOSTART" "1" }} @@ -48,7 +48,7 @@ xdebug.trace_enable_trigger = {{ getenv "PHP_XDEBUG_TRACE_ENABLE_TRIGGER" "0" }} xdebug.trace_enable_trigger_value = "{{ getenv "PHP_XDEBUG_TRACE_ENABLE_TRIGGER_VALUE" "" }}" xdebug.trace_format = {{ getenv "PHP_XDEBUG_TRACE_FORMAT" "0" }} xdebug.trace_options = {{ getenv "PHP_XDEBUG_TRACE_OPTIONS" "0" }} -xdebug.trace_output_dir = {{ getenv "PHP_XDEBUG_TRACE_OUTPUT_DIR" "/tmp" }} +xdebug.trace_output_dir = {{ getenv "FILES_DIR" }}/xdebug/traces xdebug.trace_output_name = {{ getenv "PHP_XDEBUG_TRACE_OUTPUT_NAME" "trace.%c" }} xdebug.var_display_max_children = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_CHILDREN" "128" }} xdebug.var_display_max_data = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_DATA" "512" }} From 05b7ebbcf3e80c92ef92a02e20430c2dd0c16068 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 15:35:22 +0700 Subject: [PATCH 092/559] Update APCU extension to 5.1.10 for PHP 7.x --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 89327c12..14fde9a7 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -12,7 +12,7 @@ ENV PHP_DEV="${PHP_DEV}" \ WALTER_VER="1.3.0" \ \ EXT_AMQP_VER="1.9.3" \ - EXT_APCU_VER="5.1.8" \ + EXT_APCU_VER="5.1.10" \ EXT_AST_VER="0.1.6" \ EXT_DS_VER="1.2.4" \ EXT_GEOIP_VER="1.1.1" \ diff --git a/README.md b/README.md index 9526a333..4976a5e8 100644 --- a/README.md +++ b/README.md @@ -222,7 +222,7 @@ The default configuration is not recommended to be used for production environme | ---------------- | -------- | -------- | -------- | -------- | | [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.1 | | apc | - | - | - | - | -| [apcu] | 5.1.8 | 5.1.8 | 5.1.8 | 4.0.11 | +| [apcu] | 5.1.10 | 5.1.10 | 5.1.10 | 4.0.11 | | [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | | [blackfire] | latest | latest | latest | latest | | bcmath | | | | | From 051ccfffe7d77e654a861aa8d13b3279f172c3f9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 17:06:19 +0700 Subject: [PATCH 093/559] Permissions fixes --- 5.3/actions/chmod-files-dir.sh | 16 ++++++++++++++++ 5.3/actions/files-import.sh | 2 ++ 5.3/docker-entrypoint.sh | 2 +- 5.6/Dockerfile | 1 + 5.6/actions/chmod-files-dir.sh | 16 ++++++++++++++++ 5.6/actions/files-import.sh | 2 ++ 5.6/docker-entrypoint.sh | 2 +- 7/Dockerfile | 1 + 7/actions/chmod-files-dir.sh | 16 ++++++++++++++++ 7/actions/files-import.sh | 2 ++ 7/docker-entrypoint.sh | 2 +- README.md | 6 +++++- 12 files changed, 64 insertions(+), 4 deletions(-) create mode 100755 5.3/actions/chmod-files-dir.sh create mode 100755 5.6/actions/chmod-files-dir.sh create mode 100755 7/actions/chmod-files-dir.sh diff --git a/5.3/actions/chmod-files-dir.sh b/5.3/actions/chmod-files-dir.sh new file mode 100755 index 00000000..9cd44c43 --- /dev/null +++ b/5.3/actions/chmod-files-dir.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +dir=$1 + +if [[ "${dir}" =~ ^/mnt/files ]]; then + chmod -R 775 "${dir}" +else + echo "Only dir/files under /mnt/files allowed" + exit 1 +fi diff --git a/5.3/actions/files-import.sh b/5.3/actions/files-import.sh index 886f8ef5..5a039b29 100755 --- a/5.3/actions/files-import.sh +++ b/5.3/actions/files-import.sh @@ -15,6 +15,8 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" + # Ensure files volume permissions is still correct. + init-volumes.sh else echo "Importing files to public directory" rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 50516911..9742ae91 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -67,7 +67,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init-volumes.sh +sudo -E init-volumes.sh init_ssh_client init_git diff --git a/5.6/Dockerfile b/5.6/Dockerfile index cd503e92..62dffbf7 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -229,6 +229,7 @@ RUN set -xe; \ { \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ + echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ echo -n '/usr/local/bin/files-import.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/init-volumes.sh, ' ; \ diff --git a/5.6/actions/chmod-files-dir.sh b/5.6/actions/chmod-files-dir.sh new file mode 100755 index 00000000..9cd44c43 --- /dev/null +++ b/5.6/actions/chmod-files-dir.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +dir=$1 + +if [[ "${dir}" =~ ^/mnt/files ]]; then + chmod -R 775 "${dir}" +else + echo "Only dir/files under /mnt/files allowed" + exit 1 +fi diff --git a/5.6/actions/files-import.sh b/5.6/actions/files-import.sh index 886f8ef5..5a039b29 100755 --- a/5.6/actions/files-import.sh +++ b/5.6/actions/files-import.sh @@ -15,6 +15,8 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" + # Ensure files volume permissions is still correct. + init-volumes.sh else echo "Importing files to public directory" rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 0307f348..fcf5951f 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -77,7 +77,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init-volumes.sh +sudo -E init-volumes.sh init_ssh_client init_git diff --git a/7/Dockerfile b/7/Dockerfile index 14fde9a7..97d15f2c 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -252,6 +252,7 @@ RUN set -xe; \ { \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ + echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ echo -n '/usr/local/bin/files-import.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/init-volumes.sh, ' ; \ diff --git a/7/actions/chmod-files-dir.sh b/7/actions/chmod-files-dir.sh new file mode 100755 index 00000000..9cd44c43 --- /dev/null +++ b/7/actions/chmod-files-dir.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +dir=$1 + +if [[ "${dir}" =~ ^/mnt/files ]]; then + chmod -R 775 "${dir}" +else + echo "Only dir/files under /mnt/files allowed" + exit 1 +fi diff --git a/7/actions/files-import.sh b/7/actions/files-import.sh index 886f8ef5..5a039b29 100755 --- a/7/actions/files-import.sh +++ b/7/actions/files-import.sh @@ -15,6 +15,8 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" + # Ensure files volume permissions is still correct. + init-volumes.sh else echo "Importing files to public directory" rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 9f34a1d4..521a64cb 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -79,7 +79,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init-volumes.sh +sudo -E init-volumes.sh init_ssh_client init_git diff --git a/README.md b/README.md index 4976a5e8..88bb2841 100644 --- a/README.md +++ b/README.md @@ -334,7 +334,11 @@ Include all changes from `-dev` images and additionally: ## Users and permissions -Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM works from `www-data:www-data` user (UID/GID `82`) by default. User `www-data` is a part of `wodby` group, so if you want to give FPM permissions to certain files and directories (like public storage) you should change permissions to `644` or `755`. +Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM runs from `www-data:www-data` user (UID/GID `82`) by default. User `wodby` is a part of `www-data` group. + +Codebase volume `/var/www/html` owned by `wodby:wodby`. + +Files volume `/mnt/files` owned by `www-data:www-data` with `775` mode. In case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo chmod-files-dir.sh [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `775`. See https://github.com/wodby/php/issues/22 for more details. From 488a23b22d83c8b7a4dad39c3249319ab324ff30 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 17:23:41 +0700 Subject: [PATCH 094/559] Permissions fixes --- 5.3/actions/files-import.sh | 9 +++++---- 5.6/actions/files-import.sh | 9 +++++---- 7/actions/files-import.sh | 9 +++++---- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/5.3/actions/files-import.sh b/5.3/actions/files-import.sh index 5a039b29..8c6424d7 100755 --- a/5.3/actions/files-import.sh +++ b/5.3/actions/files-import.sh @@ -14,12 +14,13 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" - # Ensure files volume permissions is still correct. - init-volumes.sh + rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" + rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" fi +# Ensure files volume permissions is still correct. +init-volumes.sh + rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.6/actions/files-import.sh b/5.6/actions/files-import.sh index 5a039b29..8c6424d7 100755 --- a/5.6/actions/files-import.sh +++ b/5.6/actions/files-import.sh @@ -14,12 +14,13 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" - # Ensure files volume permissions is still correct. - init-volumes.sh + rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" + rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" fi +# Ensure files volume permissions is still correct. +init-volumes.sh + rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/7/actions/files-import.sh b/7/actions/files-import.sh index 5a039b29..8c6424d7 100755 --- a/7/actions/files-import.sh +++ b/7/actions/files-import.sh @@ -14,12 +14,13 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" - # Ensure files volume permissions is still correct. - init-volumes.sh + rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rlt --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" + rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" fi +# Ensure files volume permissions is still correct. +init-volumes.sh + rm -rf "${tmp_dir}" \ No newline at end of file From b93bfb67560b2a01148c0089424fafd859a6ca07 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 18:28:54 +0700 Subject: [PATCH 095/559] Permissions fixes --- 5.3/Dockerfile | 2 +- 5.3/actions/actions.mk | 2 +- 5.3/actions/files-import.sh | 6 +++--- 5.3/actions/sync-files.sh | 9 +++++++++ 5.6/Dockerfile | 2 +- 5.6/actions/actions.mk | 2 +- 5.6/actions/files-import.sh | 6 +++--- 5.6/actions/sync-files.sh | 9 +++++++++ 7/Dockerfile | 2 +- 7/actions/actions.mk | 2 +- 7/actions/files-import.sh | 6 +++--- 7/actions/sync-files.sh | 9 +++++++++ 12 files changed, 42 insertions(+), 15 deletions(-) create mode 100755 5.3/actions/sync-files.sh create mode 100755 5.6/actions/sync-files.sh create mode 100755 7/actions/sync-files.sh diff --git a/5.3/Dockerfile b/5.3/Dockerfile index cce31488..fdecdb4d 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -204,7 +204,7 @@ RUN set -xe; \ { \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/local/bin/files-import.sh, ' ; \ + echo -n '/usr/local/bin/sync-files.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/init-volumes.sh, ' ; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ diff --git a/5.3/actions/actions.mk b/5.3/actions/actions.mk index 0b781f44..9e686ece 100644 --- a/5.3/actions/actions.mk +++ b/5.3/actions/actions.mk @@ -32,7 +32,7 @@ git-checkout: files-import: $(call check_defined, source) - sudo -E files-import.sh $(source) + files-import.sh $(source) init-public-storage: $(call check_defined, public_dir) diff --git a/5.3/actions/files-import.sh b/5.3/actions/files-import.sh index 8c6424d7..94073c61 100755 --- a/5.3/actions/files-import.sh +++ b/5.3/actions/files-import.sh @@ -14,13 +14,13 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" + sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" + sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" fi # Ensure files volume permissions is still correct. -init-volumes.sh +sudo -E init-volumes.sh rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.3/actions/sync-files.sh b/5.3/actions/sync-files.sh new file mode 100755 index 00000000..fe14fa58 --- /dev/null +++ b/5.3/actions/sync-files.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +rsync -rltpog --chown=www-data:www-data $1 $2 \ No newline at end of file diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 62dffbf7..5a4df78f 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -230,7 +230,7 @@ RUN set -xe; \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ - echo -n '/usr/local/bin/files-import.sh, ' ; \ + echo -n '/usr/local/bin/sync-files.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/init-volumes.sh, ' ; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ diff --git a/5.6/actions/actions.mk b/5.6/actions/actions.mk index 0b781f44..9e686ece 100644 --- a/5.6/actions/actions.mk +++ b/5.6/actions/actions.mk @@ -32,7 +32,7 @@ git-checkout: files-import: $(call check_defined, source) - sudo -E files-import.sh $(source) + files-import.sh $(source) init-public-storage: $(call check_defined, public_dir) diff --git a/5.6/actions/files-import.sh b/5.6/actions/files-import.sh index 8c6424d7..94073c61 100755 --- a/5.6/actions/files-import.sh +++ b/5.6/actions/files-import.sh @@ -14,13 +14,13 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" + sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" + sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" fi # Ensure files volume permissions is still correct. -init-volumes.sh +sudo -E init-volumes.sh rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.6/actions/sync-files.sh b/5.6/actions/sync-files.sh new file mode 100755 index 00000000..fe14fa58 --- /dev/null +++ b/5.6/actions/sync-files.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +rsync -rltpog --chown=www-data:www-data $1 $2 \ No newline at end of file diff --git a/7/Dockerfile b/7/Dockerfile index 97d15f2c..90211bc9 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -253,7 +253,7 @@ RUN set -xe; \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ - echo -n '/usr/local/bin/files-import.sh, ' ; \ + echo -n '/usr/local/bin/sync-files.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/init-volumes.sh, ' ; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ diff --git a/7/actions/actions.mk b/7/actions/actions.mk index 0b781f44..9e686ece 100644 --- a/7/actions/actions.mk +++ b/7/actions/actions.mk @@ -32,7 +32,7 @@ git-checkout: files-import: $(call check_defined, source) - sudo -E files-import.sh $(source) + files-import.sh $(source) init-public-storage: $(call check_defined, public_dir) diff --git a/7/actions/files-import.sh b/7/actions/files-import.sh index 8c6424d7..94073c61 100755 --- a/7/actions/files-import.sh +++ b/7/actions/files-import.sh @@ -14,13 +14,13 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}" + sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - rsync -rltpog --chown=www-data:www-data "${tmp_dir}/" "${FILES_DIR}/public/" + sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" fi # Ensure files volume permissions is still correct. -init-volumes.sh +sudo -E init-volumes.sh rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/7/actions/sync-files.sh b/7/actions/sync-files.sh new file mode 100755 index 00000000..fe14fa58 --- /dev/null +++ b/7/actions/sync-files.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +rsync -rltpog --chown=www-data:www-data $1 $2 \ No newline at end of file From 1fb4e0ab6be05d2fdb40948cca16140a1d43f897 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 19:35:35 +0700 Subject: [PATCH 096/559] Permissions fixes --- 5.3/Dockerfile | 15 +++++++++------ 5.3/actions/actions.mk | 2 +- 5.3/actions/chmod-files-dir.sh | 4 ++-- 5.3/actions/files-import.sh | 3 --- 5.3/actions/sync-files.sh | 12 +++++++++++- 5.3/docker-entrypoint.sh | 2 +- 5.6/Dockerfile | 14 ++++++++------ 5.6/actions/actions.mk | 2 +- 5.6/actions/chmod-files-dir.sh | 4 ++-- 5.6/actions/files-import.sh | 3 --- 5.6/actions/sync-files.sh | 12 +++++++++++- 5.6/docker-entrypoint.sh | 2 +- 7/Dockerfile | 14 ++++++++------ 7/actions/actions.mk | 2 +- 7/actions/chmod-files-dir.sh | 4 ++-- 7/actions/files-import.sh | 3 --- 7/actions/sync-files.sh | 12 +++++++++++- 7/docker-entrypoint.sh | 2 +- README.md | 4 ++-- 19 files changed, 72 insertions(+), 44 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index fdecdb4d..eb30486d 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -198,20 +198,23 @@ RUN set -xe; \ su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ # Configure sudoers - if [[ -n "${PHP_DEV}" ]]; then \ - echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ - else \ - { \ + { \ + echo 'Defaults env_keep += "APP_ROOT FILES_DIR"' ; \ + \ + if [[ -n "${PHP_DEV}" ]]; then \ + echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL'; \ + else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ + echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ echo -n '/usr/local/bin/sync-files.sh, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ echo -n '/usr/local/bin/init-volumes.sh, ' ; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ - } | tee /etc/sudoers.d/wodby; \ - fi; \ + fi; \ + } | tee /etc/sudoers.d/wodby; \ \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ diff --git a/5.3/actions/actions.mk b/5.3/actions/actions.mk index 9e686ece..425eac20 100644 --- a/5.3/actions/actions.mk +++ b/5.3/actions/actions.mk @@ -20,7 +20,7 @@ service = PHP-FPM default: check-ready migrate: - sudo -E migrate.sh $(from) $(to) + sudo migrate.sh $(from) $(to) git-clone: $(call check_defined, url) diff --git a/5.3/actions/chmod-files-dir.sh b/5.3/actions/chmod-files-dir.sh index 9cd44c43..f6768936 100755 --- a/5.3/actions/chmod-files-dir.sh +++ b/5.3/actions/chmod-files-dir.sh @@ -8,9 +8,9 @@ fi dir=$1 -if [[ "${dir}" =~ ^/mnt/files ]]; then +if [[ "${dir}" =~ "^${FILES_DIR}" ]]; then chmod -R 775 "${dir}" else - echo "Only dir/files under /mnt/files allowed" + echo "Only dir/files under ${FILES_DIR} allowed" exit 1 fi diff --git a/5.3/actions/files-import.sh b/5.3/actions/files-import.sh index 94073c61..548b16b7 100755 --- a/5.3/actions/files-import.sh +++ b/5.3/actions/files-import.sh @@ -20,7 +20,4 @@ else sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" fi -# Ensure files volume permissions is still correct. -sudo -E init-volumes.sh - rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.3/actions/sync-files.sh b/5.3/actions/sync-files.sh index fe14fa58..697c7816 100755 --- a/5.3/actions/sync-files.sh +++ b/5.3/actions/sync-files.sh @@ -6,4 +6,14 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -rsync -rltpog --chown=www-data:www-data $1 $2 \ No newline at end of file +from=$1 +to=$2 + +if [[ "${to}" =~ "^${FILES_DIR}" ]]; then + rsync -rltpog --chown=www-data:www-data "${from}" "${to}" + # Ensure files volume permissions are still correct. + init-volumes.sh +else + echo "Invalid destination. Must be under ${FILES_DIR}" + exit 1 +fi diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 9742ae91..50516911 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -67,7 +67,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo -E init-volumes.sh +sudo init-volumes.sh init_ssh_client init_git diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 5a4df78f..12b32b98 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -223,10 +223,12 @@ RUN set -xe; \ su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ # Configure sudoers - if [[ -n "${PHP_DEV}" ]]; then \ - echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ - else \ - { \ + { \ + echo 'Defaults env_keep += "APP_ROOT FILES_DIR"' ; \ + \ + if [[ -n "${PHP_DEV}" ]]; then \ + echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL'; \ + else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ @@ -236,8 +238,8 @@ RUN set -xe; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ - } | tee /etc/sudoers.d/wodby; \ - fi; \ + fi; \ + } | tee /etc/sudoers.d/wodby; \ \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ diff --git a/5.6/actions/actions.mk b/5.6/actions/actions.mk index 9e686ece..425eac20 100644 --- a/5.6/actions/actions.mk +++ b/5.6/actions/actions.mk @@ -20,7 +20,7 @@ service = PHP-FPM default: check-ready migrate: - sudo -E migrate.sh $(from) $(to) + sudo migrate.sh $(from) $(to) git-clone: $(call check_defined, url) diff --git a/5.6/actions/chmod-files-dir.sh b/5.6/actions/chmod-files-dir.sh index 9cd44c43..f6768936 100755 --- a/5.6/actions/chmod-files-dir.sh +++ b/5.6/actions/chmod-files-dir.sh @@ -8,9 +8,9 @@ fi dir=$1 -if [[ "${dir}" =~ ^/mnt/files ]]; then +if [[ "${dir}" =~ "^${FILES_DIR}" ]]; then chmod -R 775 "${dir}" else - echo "Only dir/files under /mnt/files allowed" + echo "Only dir/files under ${FILES_DIR} allowed" exit 1 fi diff --git a/5.6/actions/files-import.sh b/5.6/actions/files-import.sh index 94073c61..548b16b7 100755 --- a/5.6/actions/files-import.sh +++ b/5.6/actions/files-import.sh @@ -20,7 +20,4 @@ else sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" fi -# Ensure files volume permissions is still correct. -sudo -E init-volumes.sh - rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.6/actions/sync-files.sh b/5.6/actions/sync-files.sh index fe14fa58..697c7816 100755 --- a/5.6/actions/sync-files.sh +++ b/5.6/actions/sync-files.sh @@ -6,4 +6,14 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -rsync -rltpog --chown=www-data:www-data $1 $2 \ No newline at end of file +from=$1 +to=$2 + +if [[ "${to}" =~ "^${FILES_DIR}" ]]; then + rsync -rltpog --chown=www-data:www-data "${from}" "${to}" + # Ensure files volume permissions are still correct. + init-volumes.sh +else + echo "Invalid destination. Must be under ${FILES_DIR}" + exit 1 +fi diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index fcf5951f..0307f348 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -77,7 +77,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo -E init-volumes.sh +sudo init-volumes.sh init_ssh_client init_git diff --git a/7/Dockerfile b/7/Dockerfile index 90211bc9..97b3faef 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -246,10 +246,12 @@ RUN set -xe; \ su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ \ # Configure sudoers - if [[ -n "${PHP_DEV}" ]]; then \ - echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL' > /etc/sudoers.d/wodby; \ - else \ - { \ + { \ + echo 'Defaults env_keep += "APP_ROOT FILES_DIR"' ; \ + \ + if [[ -n "${PHP_DEV}" ]]; then \ + echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL'; \ + else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ @@ -259,8 +261,8 @@ RUN set -xe; \ echo -n '/usr/local/bin/migrate.sh, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ - } | tee /etc/sudoers.d/wodby; \ - fi; \ + fi; \ + } | tee /etc/sudoers.d/wodby; \ \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ diff --git a/7/actions/actions.mk b/7/actions/actions.mk index 9e686ece..425eac20 100644 --- a/7/actions/actions.mk +++ b/7/actions/actions.mk @@ -20,7 +20,7 @@ service = PHP-FPM default: check-ready migrate: - sudo -E migrate.sh $(from) $(to) + sudo migrate.sh $(from) $(to) git-clone: $(call check_defined, url) diff --git a/7/actions/chmod-files-dir.sh b/7/actions/chmod-files-dir.sh index 9cd44c43..f6768936 100755 --- a/7/actions/chmod-files-dir.sh +++ b/7/actions/chmod-files-dir.sh @@ -8,9 +8,9 @@ fi dir=$1 -if [[ "${dir}" =~ ^/mnt/files ]]; then +if [[ "${dir}" =~ "^${FILES_DIR}" ]]; then chmod -R 775 "${dir}" else - echo "Only dir/files under /mnt/files allowed" + echo "Only dir/files under ${FILES_DIR} allowed" exit 1 fi diff --git a/7/actions/files-import.sh b/7/actions/files-import.sh index 94073c61..548b16b7 100755 --- a/7/actions/files-import.sh +++ b/7/actions/files-import.sh @@ -20,7 +20,4 @@ else sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" fi -# Ensure files volume permissions is still correct. -sudo -E init-volumes.sh - rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/7/actions/sync-files.sh b/7/actions/sync-files.sh index fe14fa58..697c7816 100755 --- a/7/actions/sync-files.sh +++ b/7/actions/sync-files.sh @@ -6,4 +6,14 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -rsync -rltpog --chown=www-data:www-data $1 $2 \ No newline at end of file +from=$1 +to=$2 + +if [[ "${to}" =~ "^${FILES_DIR}" ]]; then + rsync -rltpog --chown=www-data:www-data "${from}" "${to}" + # Ensure files volume permissions are still correct. + init-volumes.sh +else + echo "Invalid destination. Must be under ${FILES_DIR}" + exit 1 +fi diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 521a64cb..9f34a1d4 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -79,7 +79,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo -E init-volumes.sh +sudo init-volumes.sh init_ssh_client init_git diff --git a/README.md b/README.md index 88bb2841..4b599211 100644 --- a/README.md +++ b/README.md @@ -336,9 +336,9 @@ Include all changes from `-dev` images and additionally: Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM runs from `www-data:www-data` user (UID/GID `82`) by default. User `wodby` is a part of `www-data` group. -Codebase volume `/var/www/html` owned by `wodby:wodby`. +Codebase volume `$APP_ROOT` (`/var/www/html`) owned by `wodby:wodby`. -Files volume `/mnt/files` owned by `www-data:www-data` with `775` mode. In case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo chmod-files-dir.sh [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `775`. +Files volume `$FILES_DIR` (`/mnt/files`) owned by `www-data:www-data` with `775` mode. In case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo chmod-files-dir.sh [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `775`. See https://github.com/wodby/php/issues/22 for more details. From f6b8a14481f1825deeb73c8728879946fd2ea720 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 20:02:17 +0700 Subject: [PATCH 097/559] Update script names to standard --- 5.3/Dockerfile | 10 +++++----- 5.3/Makefile | 2 +- 5.3/actions/actions.mk | 16 ++++++++-------- 5.3/actions/{chmod-files-dir.sh => files_chmod} | 0 5.3/actions/{files-import.sh => files_import} | 4 ++-- .../{init-public-storage.sh => files_link} | 0 .../sync-files.sh => 5.3/actions/files_sync | 2 +- 5.3/actions/{git-checkout.sh => git_checkout} | 0 5.3/actions/{git-clone.sh => git_clone} | 0 5.3/actions/{init-volumes.sh => init_volumes} | 0 5.3/actions/{migrate.sh => migrate} | 0 5.3/actions/{walter.sh => walter} | 0 5.3/docker-entrypoint.sh | 2 +- 5.3/test/docker-compose.yml | 2 +- 5.6/test.sh => 5.3/test/run | 2 +- 5.3/test/{tests.sh => tests} | 0 5.6/Dockerfile | 10 +++++----- 5.6/Makefile | 2 +- 5.6/actions/actions.mk | 16 ++++++++-------- 5.6/actions/{chmod-files-dir.sh => files_chmod} | 0 .../files-import.sh => 5.6/actions/files_import | 4 ++-- .../{init-public-storage.sh => files_link} | 0 .../sync-files.sh => 5.6/actions/files_sync | 2 +- 5.6/actions/{git-checkout.sh => git_checkout} | 0 5.6/actions/{git-clone.sh => git_clone} | 0 5.6/actions/{init-volumes.sh => init_volumes} | 0 5.6/actions/{migrate.sh => migrate} | 0 5.6/actions/{walter.sh => walter} | 0 5.6/docker-entrypoint.sh | 2 +- 5.6/test/docker-compose.yml | 2 +- 7/test.sh => 5.6/test/run | 2 +- 5.6/test/{tests.sh => tests} | 0 7/Dockerfile | 10 +++++----- 7/Makefile | 2 +- 7/actions/actions.mk | 16 ++++++++-------- 7/actions/{chmod-files-dir.sh => files_chmod} | 0 .../files-import.sh => 7/actions/files_import | 4 ++-- 7/actions/{init-public-storage.sh => files_link} | 0 .../sync-files.sh => 7/actions/files_sync | 2 +- 7/actions/{git-checkout.sh => git_checkout} | 0 7/actions/{git-clone.sh => git_clone} | 0 7/actions/{init-volumes.sh => init_volumes} | 0 7/actions/{migrate.sh => migrate} | 0 7/actions/{walter.sh => walter} | 0 7/docker-entrypoint.sh | 2 +- 7/test/docker-compose.yml | 2 +- 5.3/test.sh => 7/test/run | 2 +- 7/test/{tests.sh => tests} | 0 README.md | 2 +- 49 files changed, 61 insertions(+), 61 deletions(-) rename 5.3/actions/{chmod-files-dir.sh => files_chmod} (100%) rename 5.3/actions/{files-import.sh => files_import} (80%) rename 5.3/actions/{init-public-storage.sh => files_link} (100%) rename 7/actions/sync-files.sh => 5.3/actions/files_sync (94%) rename 5.3/actions/{git-checkout.sh => git_checkout} (100%) rename 5.3/actions/{git-clone.sh => git_clone} (100%) rename 5.3/actions/{init-volumes.sh => init_volumes} (100%) rename 5.3/actions/{migrate.sh => migrate} (100%) rename 5.3/actions/{walter.sh => walter} (100%) rename 5.6/test.sh => 5.3/test/run (98%) rename 5.3/test/{tests.sh => tests} (100%) rename 5.6/actions/{chmod-files-dir.sh => files_chmod} (100%) rename 7/actions/files-import.sh => 5.6/actions/files_import (80%) rename 5.6/actions/{init-public-storage.sh => files_link} (100%) rename 5.3/actions/sync-files.sh => 5.6/actions/files_sync (94%) rename 5.6/actions/{git-checkout.sh => git_checkout} (100%) rename 5.6/actions/{git-clone.sh => git_clone} (100%) rename 5.6/actions/{init-volumes.sh => init_volumes} (100%) rename 5.6/actions/{migrate.sh => migrate} (100%) rename 5.6/actions/{walter.sh => walter} (100%) rename 7/test.sh => 5.6/test/run (98%) rename 5.6/test/{tests.sh => tests} (100%) rename 7/actions/{chmod-files-dir.sh => files_chmod} (100%) rename 5.6/actions/files-import.sh => 7/actions/files_import (80%) rename 7/actions/{init-public-storage.sh => files_link} (100%) rename 5.6/actions/sync-files.sh => 7/actions/files_sync (94%) rename 7/actions/{git-checkout.sh => git_checkout} (100%) rename 7/actions/{git-clone.sh => git_clone} (100%) rename 7/actions/{init-volumes.sh => init_volumes} (100%) rename 7/actions/{migrate.sh => migrate} (100%) rename 7/actions/{walter.sh => walter} (100%) rename 5.3/test.sh => 7/test/run (98%) rename 7/test/{tests.sh => tests} (100%) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index eb30486d..24c03f46 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -205,12 +205,12 @@ RUN set -xe; \ echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL'; \ else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ - echo -n '/usr/local/bin/sync-files.sh, ' ; \ + echo -n '/usr/local/bin/files_chmod, ' ; \ + echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/init-volumes.sh, ' ; \ - echo -n '/usr/local/bin/migrate.sh, ' ; \ + echo -n '/usr/local/bin/init_volumes, ' ; \ + echo -n '/usr/local/bin/migrate, ' ; \ + echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ fi; \ diff --git a/5.3/Makefile b/5.3/Makefile index efac2ba1..639c352c 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -46,7 +46,7 @@ build: ./ test: - IMAGE=$(REPO):$(TAG) ./test.sh + IMAGE=$(REPO):$(TAG) ./test/run push: docker push $(REPO):$(TAG) diff --git a/5.3/actions/actions.mk b/5.3/actions/actions.mk index 425eac20..7378f1ed 100644 --- a/5.3/actions/actions.mk +++ b/5.3/actions/actions.mk @@ -1,4 +1,4 @@ -.PHONY: migrate git-clone git-checkout files-import init-public-storage walter check-ready check-live +.PHONY: migrate git-clone git-checkout files-import files-link walter check-ready check-live check_defined = \ $(strip $(foreach 1,$1, \ @@ -20,26 +20,26 @@ service = PHP-FPM default: check-ready migrate: - sudo migrate.sh $(from) $(to) + sudo migrate $(from) $(to) git-clone: $(call check_defined, url) - git-clone.sh $(url) $(branch) + git_clone $(url) $(branch) git-checkout: $(call check_defined, target) - git-checkout.sh $(target) $(is_hash) + git_checkout $(target) $(is_hash) files-import: $(call check_defined, source) - files-import.sh $(source) + files_import $(source) -init-public-storage: +files-link: $(call check_defined, public_dir) - init-public-storage.sh $(public_dir) + files_link $(public_dir) walter: - walter.sh + walter check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/5.3/actions/chmod-files-dir.sh b/5.3/actions/files_chmod similarity index 100% rename from 5.3/actions/chmod-files-dir.sh rename to 5.3/actions/files_chmod diff --git a/5.3/actions/files-import.sh b/5.3/actions/files_import similarity index 80% rename from 5.3/actions/files-import.sh rename to 5.3/actions/files_import index 548b16b7..dcfd6720 100755 --- a/5.3/actions/files-import.sh +++ b/5.3/actions/files_import @@ -14,10 +14,10 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}" + sudo files_sync "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" + sudo files_sync "${tmp_dir}/" "${FILES_DIR}/public/" fi rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.3/actions/init-public-storage.sh b/5.3/actions/files_link similarity index 100% rename from 5.3/actions/init-public-storage.sh rename to 5.3/actions/files_link diff --git a/7/actions/sync-files.sh b/5.3/actions/files_sync similarity index 94% rename from 7/actions/sync-files.sh rename to 5.3/actions/files_sync index 697c7816..e86bd636 100755 --- a/7/actions/sync-files.sh +++ b/5.3/actions/files_sync @@ -12,7 +12,7 @@ to=$2 if [[ "${to}" =~ "^${FILES_DIR}" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. - init-volumes.sh + init_volumes else echo "Invalid destination. Must be under ${FILES_DIR}" exit 1 diff --git a/5.3/actions/git-checkout.sh b/5.3/actions/git_checkout similarity index 100% rename from 5.3/actions/git-checkout.sh rename to 5.3/actions/git_checkout diff --git a/5.3/actions/git-clone.sh b/5.3/actions/git_clone similarity index 100% rename from 5.3/actions/git-clone.sh rename to 5.3/actions/git_clone diff --git a/5.3/actions/init-volumes.sh b/5.3/actions/init_volumes similarity index 100% rename from 5.3/actions/init-volumes.sh rename to 5.3/actions/init_volumes diff --git a/5.3/actions/migrate.sh b/5.3/actions/migrate similarity index 100% rename from 5.3/actions/migrate.sh rename to 5.3/actions/migrate diff --git a/5.3/actions/walter.sh b/5.3/actions/walter similarity index 100% rename from 5.3/actions/walter.sh rename to 5.3/actions/walter diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 50516911..69b03a1c 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -67,7 +67,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init-volumes.sh +sudo init_volumes init_ssh_client init_git diff --git a/5.3/test/docker-compose.yml b/5.3/test/docker-compose.yml index d0d63608..6d2f184f 100644 --- a/5.3/test/docker-compose.yml +++ b/5.3/test/docker-compose.yml @@ -72,7 +72,7 @@ services: 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ -----END RSA PRIVATE KEY----- volumes: - - ./tests.sh:/usr/local/bin/tests.sh + - ./tests:/usr/local/bin/tests - ./php_modules:/home/wodby/php_modules depends_on: - sshd diff --git a/5.6/test.sh b/5.3/test/run similarity index 98% rename from 5.6/test.sh rename to 5.3/test/run index 54aece58..baf38e28 100755 --- a/5.6/test.sh +++ b/5.3/test/run @@ -42,7 +42,7 @@ run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 # PHP tools -docker_exec php tests.sh +docker_exec php tests # SSH echo -n "Testing ssh... " diff --git a/5.3/test/tests.sh b/5.3/test/tests similarity index 100% rename from 5.3/test/tests.sh rename to 5.3/test/tests diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 12b32b98..1c1cfb6a 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -230,12 +230,12 @@ RUN set -xe; \ echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL'; \ else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ - echo -n '/usr/local/bin/sync-files.sh, ' ; \ + echo -n '/usr/local/bin/files_chmod, ' ; \ + echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/init-volumes.sh, ' ; \ - echo -n '/usr/local/bin/migrate.sh, ' ; \ + echo -n '/usr/local/bin/init_volumes, ' ; \ + echo -n '/usr/local/bin/migrate, ' ; \ + echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ fi; \ diff --git a/5.6/Makefile b/5.6/Makefile index b6960dfb..4878762a 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -46,7 +46,7 @@ build: ./ test: - IMAGE=$(REPO):$(TAG) ./test.sh + IMAGE=$(REPO):$(TAG) ./test/run push: docker push $(REPO):$(TAG) diff --git a/5.6/actions/actions.mk b/5.6/actions/actions.mk index 425eac20..7378f1ed 100644 --- a/5.6/actions/actions.mk +++ b/5.6/actions/actions.mk @@ -1,4 +1,4 @@ -.PHONY: migrate git-clone git-checkout files-import init-public-storage walter check-ready check-live +.PHONY: migrate git-clone git-checkout files-import files-link walter check-ready check-live check_defined = \ $(strip $(foreach 1,$1, \ @@ -20,26 +20,26 @@ service = PHP-FPM default: check-ready migrate: - sudo migrate.sh $(from) $(to) + sudo migrate $(from) $(to) git-clone: $(call check_defined, url) - git-clone.sh $(url) $(branch) + git_clone $(url) $(branch) git-checkout: $(call check_defined, target) - git-checkout.sh $(target) $(is_hash) + git_checkout $(target) $(is_hash) files-import: $(call check_defined, source) - files-import.sh $(source) + files_import $(source) -init-public-storage: +files-link: $(call check_defined, public_dir) - init-public-storage.sh $(public_dir) + files_link $(public_dir) walter: - walter.sh + walter check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/5.6/actions/chmod-files-dir.sh b/5.6/actions/files_chmod similarity index 100% rename from 5.6/actions/chmod-files-dir.sh rename to 5.6/actions/files_chmod diff --git a/7/actions/files-import.sh b/5.6/actions/files_import similarity index 80% rename from 7/actions/files-import.sh rename to 5.6/actions/files_import index 548b16b7..dcfd6720 100755 --- a/7/actions/files-import.sh +++ b/5.6/actions/files_import @@ -14,10 +14,10 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}" + sudo files_sync "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" + sudo files_sync "${tmp_dir}/" "${FILES_DIR}/public/" fi rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.6/actions/init-public-storage.sh b/5.6/actions/files_link similarity index 100% rename from 5.6/actions/init-public-storage.sh rename to 5.6/actions/files_link diff --git a/5.3/actions/sync-files.sh b/5.6/actions/files_sync similarity index 94% rename from 5.3/actions/sync-files.sh rename to 5.6/actions/files_sync index 697c7816..e86bd636 100755 --- a/5.3/actions/sync-files.sh +++ b/5.6/actions/files_sync @@ -12,7 +12,7 @@ to=$2 if [[ "${to}" =~ "^${FILES_DIR}" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. - init-volumes.sh + init_volumes else echo "Invalid destination. Must be under ${FILES_DIR}" exit 1 diff --git a/5.6/actions/git-checkout.sh b/5.6/actions/git_checkout similarity index 100% rename from 5.6/actions/git-checkout.sh rename to 5.6/actions/git_checkout diff --git a/5.6/actions/git-clone.sh b/5.6/actions/git_clone similarity index 100% rename from 5.6/actions/git-clone.sh rename to 5.6/actions/git_clone diff --git a/5.6/actions/init-volumes.sh b/5.6/actions/init_volumes similarity index 100% rename from 5.6/actions/init-volumes.sh rename to 5.6/actions/init_volumes diff --git a/5.6/actions/migrate.sh b/5.6/actions/migrate similarity index 100% rename from 5.6/actions/migrate.sh rename to 5.6/actions/migrate diff --git a/5.6/actions/walter.sh b/5.6/actions/walter similarity index 100% rename from 5.6/actions/walter.sh rename to 5.6/actions/walter diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 0307f348..eaad0736 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -77,7 +77,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init-volumes.sh +sudo init_volumes init_ssh_client init_git diff --git a/5.6/test/docker-compose.yml b/5.6/test/docker-compose.yml index d9aa9cb5..0b380268 100644 --- a/5.6/test/docker-compose.yml +++ b/5.6/test/docker-compose.yml @@ -72,7 +72,7 @@ services: 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ -----END RSA PRIVATE KEY----- volumes: - - ./tests.sh:/usr/local/bin/tests.sh + - ./tests:/usr/local/bin/tests - ./php_modules:/home/wodby/php_modules depends_on: - sshd diff --git a/7/test.sh b/5.6/test/run similarity index 98% rename from 7/test.sh rename to 5.6/test/run index 54aece58..baf38e28 100755 --- a/7/test.sh +++ b/5.6/test/run @@ -42,7 +42,7 @@ run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 # PHP tools -docker_exec php tests.sh +docker_exec php tests # SSH echo -n "Testing ssh... " diff --git a/5.6/test/tests.sh b/5.6/test/tests similarity index 100% rename from 5.6/test/tests.sh rename to 5.6/test/tests diff --git a/7/Dockerfile b/7/Dockerfile index 97b3faef..7ac4e0bc 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -253,12 +253,12 @@ RUN set -xe; \ echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL'; \ else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/local/bin/chmod-files-dir.sh, ' ; \ - echo -n '/usr/local/bin/sync-files.sh, ' ; \ + echo -n '/usr/local/bin/files_chmod, ' ; \ + echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ - echo -n '/usr/local/bin/init-volumes.sh, ' ; \ - echo -n '/usr/local/bin/migrate.sh, ' ; \ + echo -n '/usr/local/bin/init_volumes, ' ; \ + echo -n '/usr/local/bin/migrate, ' ; \ + echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ echo '/usr/sbin/crond' ; \ fi; \ diff --git a/7/Makefile b/7/Makefile index 0f489dd6..ad26959b 100644 --- a/7/Makefile +++ b/7/Makefile @@ -46,7 +46,7 @@ build: ./ test: - IMAGE=$(REPO):$(TAG) ./test.sh + IMAGE=$(REPO):$(TAG) ./test/run push: docker push $(REPO):$(TAG) diff --git a/7/actions/actions.mk b/7/actions/actions.mk index 425eac20..7378f1ed 100644 --- a/7/actions/actions.mk +++ b/7/actions/actions.mk @@ -1,4 +1,4 @@ -.PHONY: migrate git-clone git-checkout files-import init-public-storage walter check-ready check-live +.PHONY: migrate git-clone git-checkout files-import files-link walter check-ready check-live check_defined = \ $(strip $(foreach 1,$1, \ @@ -20,26 +20,26 @@ service = PHP-FPM default: check-ready migrate: - sudo migrate.sh $(from) $(to) + sudo migrate $(from) $(to) git-clone: $(call check_defined, url) - git-clone.sh $(url) $(branch) + git_clone $(url) $(branch) git-checkout: $(call check_defined, target) - git-checkout.sh $(target) $(is_hash) + git_checkout $(target) $(is_hash) files-import: $(call check_defined, source) - files-import.sh $(source) + files_import $(source) -init-public-storage: +files-link: $(call check_defined, public_dir) - init-public-storage.sh $(public_dir) + files_link $(public_dir) walter: - walter.sh + walter check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/7/actions/chmod-files-dir.sh b/7/actions/files_chmod similarity index 100% rename from 7/actions/chmod-files-dir.sh rename to 7/actions/files_chmod diff --git a/5.6/actions/files-import.sh b/7/actions/files_import similarity index 80% rename from 5.6/actions/files-import.sh rename to 7/actions/files_import index 548b16b7..dcfd6720 100755 --- a/5.6/actions/files-import.sh +++ b/7/actions/files_import @@ -14,10 +14,10 @@ get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then echo "Wodby backup archive detected. Importing to top directory" - sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}" + sudo files_sync "${tmp_dir}/" "${FILES_DIR}" else echo "Importing files to public directory" - sudo sync-files.sh "${tmp_dir}/" "${FILES_DIR}/public/" + sudo files_sync "${tmp_dir}/" "${FILES_DIR}/public/" fi rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/7/actions/init-public-storage.sh b/7/actions/files_link similarity index 100% rename from 7/actions/init-public-storage.sh rename to 7/actions/files_link diff --git a/5.6/actions/sync-files.sh b/7/actions/files_sync similarity index 94% rename from 5.6/actions/sync-files.sh rename to 7/actions/files_sync index 697c7816..e86bd636 100755 --- a/5.6/actions/sync-files.sh +++ b/7/actions/files_sync @@ -12,7 +12,7 @@ to=$2 if [[ "${to}" =~ "^${FILES_DIR}" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. - init-volumes.sh + init_volumes else echo "Invalid destination. Must be under ${FILES_DIR}" exit 1 diff --git a/7/actions/git-checkout.sh b/7/actions/git_checkout similarity index 100% rename from 7/actions/git-checkout.sh rename to 7/actions/git_checkout diff --git a/7/actions/git-clone.sh b/7/actions/git_clone similarity index 100% rename from 7/actions/git-clone.sh rename to 7/actions/git_clone diff --git a/7/actions/init-volumes.sh b/7/actions/init_volumes similarity index 100% rename from 7/actions/init-volumes.sh rename to 7/actions/init_volumes diff --git a/7/actions/migrate.sh b/7/actions/migrate similarity index 100% rename from 7/actions/migrate.sh rename to 7/actions/migrate diff --git a/7/actions/walter.sh b/7/actions/walter similarity index 100% rename from 7/actions/walter.sh rename to 7/actions/walter diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 9f34a1d4..5e21b0ac 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -79,7 +79,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init-volumes.sh +sudo init_volumes init_ssh_client init_git diff --git a/7/test/docker-compose.yml b/7/test/docker-compose.yml index c4ef4c1e..52333b85 100644 --- a/7/test/docker-compose.yml +++ b/7/test/docker-compose.yml @@ -73,7 +73,7 @@ services: 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ -----END RSA PRIVATE KEY----- volumes: - - ./tests.sh:/usr/local/bin/tests.sh + - ./tests:/usr/local/bin/tests - ./php_modules:/home/wodby/php_modules depends_on: - sshd diff --git a/5.3/test.sh b/7/test/run similarity index 98% rename from 5.3/test.sh rename to 7/test/run index 54aece58..baf38e28 100755 --- a/5.3/test.sh +++ b/7/test/run @@ -42,7 +42,7 @@ run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 # PHP tools -docker_exec php tests.sh +docker_exec php tests # SSH echo -n "Testing ssh... " diff --git a/7/test/tests.sh b/7/test/tests similarity index 100% rename from 7/test/tests.sh rename to 7/test/tests diff --git a/README.md b/README.md index 4b599211..ea31482b 100644 --- a/README.md +++ b/README.md @@ -363,7 +363,7 @@ commands: git-clone url [branch] git-checkout target [is_hash] files-import source - init-public-storage public_dir + files-link public_dir update-keys walter From 94f54767184b22eb496801eea5daa0bdad234719 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 20:20:46 +0700 Subject: [PATCH 098/559] Update orig configs --- 5.3/orig/{php.ini => php-5.3.ini-development} | 0 5.3/orig/php-5.3.ini-production | 1918 ++++++++++++++++ 5.6/orig/{php.ini => php-5.6.ini-development} | 0 5.6/orig/php-5.6.ini-production | 2030 +++++++++++++++++ .../{php-7.0.ini => php-7.0.ini-development} | 0 7/orig/php-7.0.ini-production | 1918 ++++++++++++++++ .../{php-7.1.ini => php-7.1.ini-development} | 0 7/orig/php-7.1.ini-production | 1933 ++++++++++++++++ .../{php-7.2.ini => php-7.2.ini-development} | 2 +- 7/orig/php-7.2.ini-production | 1914 ++++++++++++++++ 10 files changed, 9714 insertions(+), 1 deletion(-) rename 5.3/orig/{php.ini => php-5.3.ini-development} (100%) create mode 100644 5.3/orig/php-5.3.ini-production rename 5.6/orig/{php.ini => php-5.6.ini-development} (100%) create mode 100644 5.6/orig/php-5.6.ini-production rename 7/orig/{php-7.0.ini => php-7.0.ini-development} (100%) create mode 100644 7/orig/php-7.0.ini-production rename 7/orig/{php-7.1.ini => php-7.1.ini-development} (100%) create mode 100644 7/orig/php-7.1.ini-production rename 7/orig/{php-7.2.ini => php-7.2.ini-development} (99%) create mode 100644 7/orig/php-7.2.ini-production diff --git a/5.3/orig/php.ini b/5.3/orig/php-5.3.ini-development similarity index 100% rename from 5.3/orig/php.ini rename to 5.3/orig/php-5.3.ini-development diff --git a/5.3/orig/php-5.3.ini-production b/5.3/orig/php-5.3.ini-production new file mode 100644 index 00000000..6a39d3b3 --- /dev/null +++ b/5.3/orig/php-5.3.ini-production @@ -0,0 +1,1918 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it's +; much more verbose when it comes to errors. We recommending using the +; development version only in development environments as errors shown to +; application users can inadvertently leak otherwise secure information. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; allow_call_time_pass_reference +; Default Value: On +; Development Value: Off +; Production Value: Off + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE +; Development Value: E_ALL | E_STRICT +; Production Value: E_ALL & ~E_DEPRECATED + +; html_errors +; Default Value: On +; Development Value: On +; Production value: Off + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; magic_quotes_gpc +; Default Value: On +; Development Value: Off +; Production Value: Off + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; register_long_arrays +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.bug_compat_42 +; Default Value: On +; Development Value: On +; Production Value: Off + +; session.bug_compat_warn +; Default Value: On +; Development Value: On +; Production Value: Off + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.hash_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; url_rewriter.tags +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It's been +; recommended for several years that you not use the short tag "short cut" and +; instead to use the full tag combination. With the wide spread use +; of XML and use of these tags by other languages, the server can become easily +; confused and end up parsing the wrong code in the wrong context. But because +; this short cut has been a feature for such a long time, it's currently still +; supported for backwards compatibility, but we recommend you don't use them. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/short-open-tag +short_open_tag = Off + +; Allow ASP-style <% %> tags. +; http://php.net/asp-tags +asp_tags = Off + +; The number of significant digits displayed in floating point numbers. +; http://php.net/precision +precision = 14 + +; Enforce year 2000 compliance (will cause problems with non-compliant browsers) +; http://php.net/y2k-compliance +y2k_compliance = On + +; Output buffering is a mechanism for controlling how much output data +; (excluding headers and cookies) PHP should keep internally before pushing that +; data to the client. If your application's output exceeds this setting, PHP +; will send that data in chunks of roughly the size you specify. +; Turning on this setting and managing its maximum buffer size can yield some +; interesting side-effects depending on your application and web server. +; You may be able to send headers and cookies after you've already sent output +; through print or echo. You also may see performance benefits if your server is +; emitting less packets due to buffered output versus PHP streaming the output +; as it gets it. On production servers, 4096 bytes is a good setting for performance +; reasons. +; Note: Output buffering can also be controlled via Output Buffering Control +; functions. +; Possible Values: +; On = Enabled and buffer is unlimited. (Use with caution) +; Off = Disabled +; Integer = Enables the buffer and sets its maximum size in bytes. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 +; http://php.net/output-buffering +output_buffering = 4096 + +; You can redirect all of the output of your scripts to a function. For +; example, if you set output_handler to "mb_output_handler", character +; encoding will be transparently converted to the specified encoding. +; Setting any output handler automatically turns on output buffering. +; Note: People who wrote portable scripts should not depend on this ini +; directive. Instead, explicitly set the output handler using ob_start(). +; Using this ini directive may cause problems unless you know what script +; is doing. +; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" +; and you cannot use both "ob_gzhandler" and "zlib.output_compression". +; Note: output_handler must be empty if this is set 'On' !!!! +; Instead you must use zlib.output_handler. +; http://php.net/output-handler +;output_handler = + +; Transparent output compression using the zlib library +; Valid values for this option are 'off', 'on', or a specific buffer size +; to be used for compression (default is 4KB) +; Note: Resulting chunk size may vary due to nature of compression. PHP +; outputs chunks that are few hundreds bytes each as a result of +; compression. If you prefer a larger chunk size for better +; performance, enable output_buffering in addition. +; Note: You need to use zlib.output_handler instead of the standard +; output_handler, or otherwise the output will be corrupted. +; http://php.net/zlib.output-compression +zlib.output_compression = Off + +; http://php.net/zlib.output-compression-level +;zlib.output_compression_level = -1 + +; You cannot specify additional output handlers if zlib.output_compression +; is activated here. This setting does the same as output_handler but in +; a different order. +; http://php.net/zlib.output-handler +;zlib.output_handler = + +; Implicit flush tells PHP to tell the output layer to flush itself +; automatically after every output block. This is equivalent to calling the +; PHP function flush() after each and every call to print() or echo() and each +; and every HTML block. Turning this option on has serious performance +; implications and is generally recommended for debugging purposes only. +; http://php.net/implicit-flush +; Note: This directive is hardcoded to On for the CLI SAPI +implicit_flush = Off + +; The unserialize callback function will be called (with the undefined class' +; name as parameter), if the unserializer finds an undefined class +; which should be instantiated. A warning appears if the specified function is +; not defined, or if the function doesn't include/implement the missing class. +; So only set this entry, if you really want to implement such a +; callback-function. +unserialize_callback_func = + +; When floats & doubles are serialized store serialize_precision significant +; digits after the floating point. The default value ensures that when floats +; are decoded with unserialize, the data will remain the same. +serialize_precision = 17 + +; This directive allows you to enable and disable warnings which PHP will issue +; if you pass a value by reference at function call time. Passing values by +; reference at function call time is a deprecated feature which will be removed +; from PHP at some point in the near future. The acceptable method for passing a +; value by reference to a function is by declaring the reference in the functions +; definition, not at call time. This directive does not disable this feature, it +; only determines whether PHP will warn you about it or not. These warnings +; should enabled in development environments only. +; Default Value: On (Suppress warnings) +; Development Value: Off (Issue warnings) +; Production Value: Off (Issue warnings) +; http://php.net/allow-call-time-pass-reference +allow_call_time_pass_reference = Off + +; Safe Mode +; http://php.net/safe-mode +safe_mode = Off + +; By default, Safe Mode does a UID compare check when +; opening files. If you want to relax this to a GID compare, +; then turn on safe_mode_gid. +; http://php.net/safe-mode-gid +safe_mode_gid = Off + +; When safe_mode is on, UID/GID checks are bypassed when +; including files from this directory and its subdirectories. +; (directory must also be in include_path or full path must +; be used when including) +; http://php.net/safe-mode-include-dir +safe_mode_include_dir = + +; When safe_mode is on, only executables located in the safe_mode_exec_dir +; will be allowed to be executed via the exec family of functions. +; http://php.net/safe-mode-exec-dir +safe_mode_exec_dir = + +; Setting certain environment variables may be a potential security breach. +; This directive contains a comma-delimited list of prefixes. In Safe Mode, +; the user may only alter environment variables whose names begin with the +; prefixes supplied here. By default, users will only be able to set +; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). +; Note: If this directive is empty, PHP will let the user modify ANY +; environment variable! +; http://php.net/safe-mode-allowed-env-vars +safe_mode_allowed_env_vars = PHP_ + +; This directive contains a comma-delimited list of environment variables that +; the end user won't be able to change using putenv(). These variables will be +; protected even if safe_mode_allowed_env_vars is set to allow to change them. +; http://php.net/safe-mode-protected-env-vars +safe_mode_protected_env_vars = LD_LIBRARY_PATH + +; open_basedir, if set, limits all file operations to the defined directory +; and below. This directive makes most sense if used in a per-directory +; or per-virtualhost web server configuration file. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://php.net/open-basedir +;open_basedir = + +; This directive allows you to disable certain functions for security reasons. +; It receives a comma-delimited list of function names. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://php.net/disable-functions +disable_functions = + +; This directive allows you to disable certain classes for security reasons. +; It receives a comma-delimited list of class names. This directive is +; *NOT* affected by whether Safe Mode is turned On or Off. +; http://php.net/disable-classes +disable_classes = + +; Colors for Syntax Highlighting mode. Anything that's acceptable in +; would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.bg = #FFFFFF +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 16k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it's automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) +; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) +; Default Value: E_ALL & ~E_NOTICE +; Development Value: E_ALL | E_STRICT +; Production Value: E_ALL & ~E_DEPRECATED +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; It's recommended that errors be logged on production servers rather than +; having the errors sent to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. But, it's strongly recommended that you +; leave this setting off on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/track-errors +track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of inserting html +; links to documentation related to that error. This directive controls whether +; those HTML links appear in error messages or not. For performance and security +; reasons, it's recommended you disable this on production servers. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: Off +; http://php.net/html-errors +html_errors = Off + +; If html_errors is set On PHP produces clickable error messages that direct +; to a page describing the error or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on NT, not valid in Windows 95). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. If the register_globals directive is enabled, it also determines +; what order variables are populated into the global space. G,P,C,E & S are +; abbreviations for the following respective super globals: GET, POST, COOKIE, +; ENV and SERVER. There is a performance penalty paid for the registration of +; these arrays and because ENV is not as commonly used as the others, ENV is +; is not recommended on productions servers. You can still get access to +; the environment variables through getenv() should you need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P,C,E & S) should +; be registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive are +; specified in the same manner as the variables_order directive, EXCEPT one. +; Leaving this value empty will cause PHP to use the value set in the +; variables_order directive. It does not mean it will leave the super globals +; array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; Whether or not to register the EGPCS variables as global variables. You may +; want to turn this off if you don't want to clutter your scripts' global scope +; with user data. +; You should do your best to write your scripts so that they do not require +; register_globals to be on; Using form variables as globals can easily lead +; to possible security problems, if the code is not very well thought of. +; http://php.net/register-globals +register_globals = Off + +; Determines whether the deprecated long $HTTP_*_VARS type predefined variables +; are registered by PHP or not. As they are deprecated, we obviously don't +; recommend you use them. They are on by default for compatibility reasons but +; they are not recommended on production servers. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-long-arrays +register_long_arrays = Off + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the SERVER and ENV variables are created when they're first +; used (Just In Time) instead of when the script starts. If these variables +; are not used within a script, having this directive on will result in a +; performance gain. The PHP directives register_globals, register_long_arrays, +; and register_argc_argv must be disabled for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Maximum size of POST data that PHP will accept. +; http://php.net/post-max-size +post_max_size = 8M + +; Magic quotes are a preprocessing feature of PHP where PHP will attempt to +; escape any character sequences in GET, POST, COOKIE and ENV data which might +; otherwise corrupt data being placed in resources such as databases before +; making that data available to you. Because of character encoding issues and +; non-standard SQL implementations across many databases, it's not currently +; possible for this feature to be 100% accurate. PHP's default behavior is to +; enable the feature. We strongly recommend you use the escaping mechanisms +; designed specifically for the database your using instead of relying on this +; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is +; scheduled removed in PHP 5.4. +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/magic-quotes-gpc +magic_quotes_gpc = Off + +; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. +; http://php.net/magic-quotes-runtime +magic_quotes_runtime = Off + +; Use Sybase-style magic quotes (escape ' with '' instead of \'). +; http://php.net/magic-quotes-sybase +magic_quotes_sybase = Off + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a character encoding using +; the Content-type: header. To disable sending of the charset, simply +; set it to be empty. +; +; PHP's built-in default is text/html +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to empty. +; http://php.net/default-charset +;default_charset = "iso-8859-1" + +; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is +; to disable this feature. +; http://php.net/always-populate-raw-post-data +;always_populate_raw_post_data = On + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If it's set 0 PHP sends Status: header that +; is supported by Apache. When this option is set to 1 PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename.extension +; +; For example, on Windows: +; +; extension=msql.dll +; +; ... or under UNIX: +; +; extension=msql.so +; +; ... or with a path: +; +; extension=/path/to/extension/msql.so +; +; If you only provide the name of the extension, PHP will look for it in its +; default extension directory. +; +; Windows Extensions +; Note that ODBC support is built in, so no dll is needed for it. +; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) +; extension folders as well as the separate PECL DLL download (PHP 5). +; Be sure to appropriately set the extension_dir directive. +; +;extension=php_bz2.dll +;extension=php_curl.dll +;extension=php_fileinfo.dll +;extension=php_gd2.dll +;extension=php_gettext.dll +;extension=php_gmp.dll +;extension=php_intl.dll +;extension=php_imap.dll +;extension=php_interbase.dll +;extension=php_ldap.dll +;extension=php_mbstring.dll +;extension=php_exif.dll ; Must be after mbstring as it depends on it +;extension=php_mysql.dll +;extension=php_mysqli.dll +;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client +;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client +;extension=php_openssl.dll +;extension=php_pdo_firebird.dll +;extension=php_pdo_mssql.dll +;extension=php_pdo_mysql.dll +;extension=php_pdo_oci.dll +;extension=php_pdo_odbc.dll +;extension=php_pdo_pgsql.dll +;extension=php_pdo_sqlite.dll +;extension=php_pgsql.dll +;extension=php_pspell.dll +;extension=php_shmop.dll + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=php_snmp.dll + +;extension=php_soap.dll +;extension=php_sockets.dll +;extension=php_sqlite.dll +;extension=php_sqlite3.dll +;extension=php_sybase_ct.dll +;extension=php_tidy.dll +;extension=php_xmlrpc.dll +;extension=php_xsl.dll +;extension=php_zip.dll + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +;iconv.input_encoding = ISO-8859-1 +;iconv.internal_encoding = ISO-8859-1 +;iconv.output_encoding = ISO-8859-1 + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING + +[sqlite] +; http://php.net/sqlite.assoc-case +;sqlite.assoc_case = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[Syslog] +; Whether or not to define the various syslog variables (e.g. $LOG_PID, +; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In +; runtime, you can define these variables by calling define_syslog_variables(). +; http://php.net/define-syslog-variables +define_syslog_variables = Off + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(), even in safe mode. +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = + +[SQL] +; http://php.net/sql.safe-mode +sql.safe_mode = Off + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQL] +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysql.allow_local_infile +mysql.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysql.allow-persistent +mysql.allow_persistent = On + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysql.cache_size +mysql.cache_size = 2000 + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysql.max-persistent +mysql.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/mysql.max-links +mysql.max_links = -1 + +; Default port number for mysql_connect(). If unset, mysql_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysql.default-port +mysql.default_port = + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysql.default-socket +mysql.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysql.default-host +mysql.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysql.default-user +mysql.default_user = + +; Default password for mysql_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysql.default-password +mysql.default_password = + +; Maximum time (in seconds) for connect timeout. -1 means no limit +; http://php.net/mysql.connect-timeout +mysql.connect_timeout = 60 + +; Trace mode. When trace_mode is active (=On), warnings for table/index scans and +; SQL-Errors will be displayed. +; http://php.net/mysql.trace-mode +mysql.trace_mode = Off + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = Off + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[Sybase-CT] +; Allow or prevent persistent links. +; http://php.net/sybct.allow-persistent +sybct.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/sybct.max-persistent +sybct.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/sybct.max-links +sybct.max_links = -1 + +; Minimum server message severity to display. +; http://php.net/sybct.min-server-severity +sybct.min_server_severity = 10 + +; Minimum client message severity to display. +; http://php.net/sybct.min-client-severity +sybct.min_client_severity = 10 + +; Set per-context timeout +; http://php.net/sybct.timeout +;sybct.timeout= + +;sybct.packet_size + +; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. +; Default: one minute +;sybct.login_timeout= + +; The name of the host you claim to be connecting from, for display by sp_who. +; Default: none +;sybct.hostname= + +; Allows you to define how often deadlocks are to be retried. -1 means "forever". +; Default: 0 +;sybct.deadlock_retry_count= + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if you +; or your OS have problems with lots of files in one directory, and is +; a more efficient layout for servers that handle lots of sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the end all be all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 | xargs rm + +; PHP 4.2 and less have an undocumented feature/bug that allows you to +; to initialize a session variable in the global scope, even when register_globals +; is disabled. PHP 4.3 and later will warn you, if this feature is used. +; You can disable the feature and the warning separately. At this time, +; the warning is only displayed, if bug_compat_42 is enabled. This feature +; introduces some serious security problems if not handled correctly. It's +; recommended that you do not use this feature on production servers. But you +; should enable this on development servers and enable the warning as well. If you +; do not enable the feature on development servers, you won't be warned when it's +; used and debugging errors caused by this can be difficult to track down. +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/session.bug-compat-42 +session.bug_compat_42 = Off + +; This setting controls whether or not you are warned by PHP when initializing a +; session value into the global space. session.bug_compat_42 must be enabled before +; these warnings can be issued by PHP. See the directive above for more information. +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/session.bug-compat-warn +session.bug_compat_warn = Off + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; How many bytes to read from the file. +; http://php.net/session.entropy-length +session.entropy_length = 0 + +; Specified here to create the session id. +; http://php.net/session.entropy-file +; On systems that don't have /dev/urandom /dev/arandom can be used +; On windows, setting the entropy_length setting will activate the +; Windows random source (using the CryptoAPI) +;session.entropy_file = /dev/urandom + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Select a hash function for use in generating session ids. +; Possible Values +; 0 (MD5 128 bits) +; 1 (SHA-1 160 bits) +; This option may also be set to the name of any hash function supported by +; the hash extension. A list of available hashes is returned by the hash_algos() +; function. +; http://php.net/session.hash-function +session.hash_function = 0 + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.hash_bits_per_character = 5 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; form/fieldset are special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. If you want XHTML conformity, remove the form entry. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; http://php.net/url-rewriter.tags +url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" + +[MSSQL] +; Allow or prevent persistent links. +mssql.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +mssql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +mssql.max_links = -1 + +; Minimum error severity to display. +mssql.min_error_severity = 10 + +; Minimum message severity to display. +mssql.min_message_severity = 10 + +; Compatibility mode with old versions of PHP 3.0. +mssql.compatability_mode = Off + +; Connect timeout +;mssql.connect_timeout = 5 + +; Query timeout +;mssql.timeout = 60 + +; Valid range 0 - 2147483647. Default = 4096. +;mssql.textlimit = 4096 + +; Valid range 0 - 2147483647. Default = 4096. +;mssql.textsize = 4096 + +; Limits the number of records in each batch. 0 = all records in one batch. +;mssql.batchsize = 0 + +; Specify how datetime and datetim4 columns are returned +; On => Returns data converted to SQL server settings +; Off => Returns values as YYYY-MM-DD hh:mm:ss +;mssql.datetimeconvert = On + +; Use NT authentication when connecting to the server +mssql.secure_connection = Off + +; Specify max number of processes. -1 = library default +; msdlib defaults to 25 +; FreeTDS defaults to 4096 +;mssql.max_procs = -1 + +; Specify client character set. +; If empty or not set the client charset from freetds.conf is used +; This is only used when compiled with FreeTDS +;mssql.charset = "ISO-8859-1" + +[Assertion] +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Issue a PHP warning for each failed assertion. +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; internal/script encoding. +; Some encoding cannot work as internal encoding. +; (e.g. SJIS, BIG5, ISO-2022-*) +; http://php.net/mbstring.internal-encoding +;mbstring.internal_encoding = EUC-JP + +; http input encoding. +; http://php.net/mbstring.http-input +;mbstring.http_input = auto + +; http output encoding. mb_output_handler must be +; registered as output buffer to function +; http://php.net/mbstring.http-output +;mbstring.http_output = SJIS + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; auto means +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none; + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +;mbstring.strict_detection = Off + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +; Allows to set script encoding. Only affects if PHP is compiled with --enable-zend-multibyte +; Default: "" +;mbstring.script_encoding= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 0 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[mcrypt] +; For more information about mcrypt settings see http://php.net/mcrypt-module-open + +; Directory where to load mcrypt algorithms +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.algorithms_dir= + +; Directory where to load mcrypt modes +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.modes_dir= + +[dba] +;dba.default_handler= + +[xsl] +; Write operations from within XSLT are disabled by default. +; XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_NETWORK | XSL_SECPREF_WRITE_FILE = 44 +; Set it to 0 to allow all operations +;xsl.security_prefs = 44 + +; Local Variables: +; tab-width: 4 +; End: \ No newline at end of file diff --git a/5.6/orig/php.ini b/5.6/orig/php-5.6.ini-development similarity index 100% rename from 5.6/orig/php.ini rename to 5.6/orig/php-5.6.ini-development diff --git a/5.6/orig/php-5.6.ini-production b/5.6/orig/php-5.6.ini-production new file mode 100644 index 00000000..ed2ad695 --- /dev/null +++ b/5.6/orig/php-5.6.ini-production @@ -0,0 +1,2030 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.hash_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; url_rewriter.tags +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the tags. +; http://php.net/asp-tags +asp_tags = Off + +; The number of significant digits displayed in floating point numbers. +; http://php.net/precision +precision = 14 + +; Output buffering is a mechanism for controlling how much output data +; (excluding headers and cookies) PHP should keep internally before pushing that +; data to the client. If your application's output exceeds this setting, PHP +; will send that data in chunks of roughly the size you specify. +; Turning on this setting and managing its maximum buffer size can yield some +; interesting side-effects depending on your application and web server. +; You may be able to send headers and cookies after you've already sent output +; through print or echo. You also may see performance benefits if your server is +; emitting less packets due to buffered output versus PHP streaming the output +; as it gets it. On production servers, 4096 bytes is a good setting for performance +; reasons. +; Note: Output buffering can also be controlled via Output Buffering Control +; functions. +; Possible Values: +; On = Enabled and buffer is unlimited. (Use with caution) +; Off = Disabled +; Integer = Enables the buffer and sets its maximum size in bytes. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 +; http://php.net/output-buffering +output_buffering = 4096 + +; You can redirect all of the output of your scripts to a function. For +; example, if you set output_handler to "mb_output_handler", character +; encoding will be transparently converted to the specified encoding. +; Setting any output handler automatically turns on output buffering. +; Note: People who wrote portable scripts should not depend on this ini +; directive. Instead, explicitly set the output handler using ob_start(). +; Using this ini directive may cause problems unless you know what script +; is doing. +; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" +; and you cannot use both "ob_gzhandler" and "zlib.output_compression". +; Note: output_handler must be empty if this is set 'On' !!!! +; Instead you must use zlib.output_handler. +; http://php.net/output-handler +;output_handler = + +; Transparent output compression using the zlib library +; Valid values for this option are 'off', 'on', or a specific buffer size +; to be used for compression (default is 4KB) +; Note: Resulting chunk size may vary due to nature of compression. PHP +; outputs chunks that are few hundreds bytes each as a result of +; compression. If you prefer a larger chunk size for better +; performance, enable output_buffering in addition. +; Note: You need to use zlib.output_handler instead of the standard +; output_handler, or otherwise the output will be corrupted. +; http://php.net/zlib.output-compression +zlib.output_compression = Off + +; http://php.net/zlib.output-compression-level +;zlib.output_compression_level = -1 + +; You cannot specify additional output handlers if zlib.output_compression +; is activated here. This setting does the same as output_handler but in +; a different order. +; http://php.net/zlib.output-handler +;zlib.output_handler = + +; Implicit flush tells PHP to tell the output layer to flush itself +; automatically after every output block. This is equivalent to calling the +; PHP function flush() after each and every call to print() or echo() and each +; and every HTML block. Turning this option on has serious performance +; implications and is generally recommended for debugging purposes only. +; http://php.net/implicit-flush +; Note: This directive is hardcoded to On for the CLI SAPI +implicit_flush = Off + +; The unserialize callback function will be called (with the undefined class' +; name as parameter), if the unserializer finds an undefined class +; which should be instantiated. A warning appears if the specified function is +; not defined, or if the function doesn't include/implement the missing class. +; So only set this entry, if you really want to implement such a +; callback-function. +unserialize_callback_func = + +; When floats & doubles are serialized store serialize_precision significant +; digits after the floating point. The default value ensures that when floats +; are decoded with unserialize, the data will remain the same. +serialize_precision = 17 + +; open_basedir, if set, limits all file operations to the defined directory +; and below. This directive makes most sense if used in a per-directory +; or per-virtualhost web server configuration file. +; http://php.net/open-basedir +;open_basedir = + +; This directive allows you to disable certain functions for security reasons. +; It receives a comma-delimited list of function names. +; http://php.net/disable-functions +disable_functions = + +; This directive allows you to disable certain classes for security reasons. +; It receives a comma-delimited list of class names. +; http://php.net/disable-classes +disable_classes = + +; Colors for Syntax Highlighting mode. Anything that's acceptable in +; would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 16k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/track-errors +track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is +; to disable this feature and it will be removed in a future version. +; If post reading is disabled through enable_post_data_reading, +; $HTTP_RAW_POST_DATA is *NOT* populated. +; http://php.net/always-populate-raw-post-data +;always_populate_raw_post_data = -1 + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +; sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +; http://php.net/cgi.dicard-path +;cgi.discard_path=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename.extension +; +; For example, on Windows: +; +; extension=msql.dll +; +; ... or under UNIX: +; +; extension=msql.so +; +; ... or with a path: +; +; extension=/path/to/extension/msql.so +; +; If you only provide the name of the extension, PHP will look for it in its +; default extension directory. +; +; Windows Extensions +; Note that ODBC support is built in, so no dll is needed for it. +; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) +; extension folders as well as the separate PECL DLL download (PHP 5). +; Be sure to appropriately set the extension_dir directive. +; +;extension=php_bz2.dll +;extension=php_curl.dll +;extension=php_fileinfo.dll +;extension=php_gd2.dll +;extension=php_gettext.dll +;extension=php_gmp.dll +;extension=php_intl.dll +;extension=php_imap.dll +;extension=php_interbase.dll +;extension=php_ldap.dll +;extension=php_mbstring.dll +;extension=php_exif.dll ; Must be after mbstring as it depends on it +;extension=php_mysql.dll +;extension=php_mysqli.dll +;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client +;extension=php_openssl.dll +;extension=php_pdo_firebird.dll +;extension=php_pdo_mysql.dll +;extension=php_pdo_oci.dll +;extension=php_pdo_odbc.dll +;extension=php_pdo_pgsql.dll +;extension=php_pdo_sqlite.dll +;extension=php_pgsql.dll +;extension=php_shmop.dll + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=php_snmp.dll + +;extension=php_soap.dll +;extension=php_sockets.dll +;extension=php_sqlite3.dll +;extension=php_sybase_ct.dll +;extension=php_tidy.dll +;extension=php_xmlrpc.dll +;extension=php_xsl.dll + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[SQL] +; http://php.net/sql.safe-mode +sql.safe_mode = Off + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQL] +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysql.allow_local_infile +mysql.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysql.allow-persistent +mysql.allow_persistent = On + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysql.cache_size +mysql.cache_size = 2000 + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysql.max-persistent +mysql.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/mysql.max-links +mysql.max_links = -1 + +; Default port number for mysql_connect(). If unset, mysql_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysql.default-port +mysql.default_port = + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysql.default-socket +mysql.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysql.default-host +mysql.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysql.default-user +mysql.default_user = + +; Default password for mysql_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysql.default-password +mysql.default_password = + +; Maximum time (in seconds) for connect timeout. -1 means no limit +; http://php.net/mysql.connect-timeout +mysql.connect_timeout = 60 + +; Trace mode. When trace_mode is active (=On), warnings for table/index scans and +; SQL-Errors will be displayed. +; http://php.net/mysql.trace-mode +mysql.trace_mode = Off + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[Sybase-CT] +; Allow or prevent persistent links. +; http://php.net/sybct.allow-persistent +sybct.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/sybct.max-persistent +sybct.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/sybct.max-links +sybct.max_links = -1 + +; Minimum server message severity to display. +; http://php.net/sybct.min-server-severity +sybct.min_server_severity = 10 + +; Minimum client message severity to display. +; http://php.net/sybct.min-client-severity +sybct.min_client_severity = 10 + +; Set per-context timeout +; http://php.net/sybct.timeout +;sybct.timeout= + +;sybct.packet_size + +; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. +; Default: one minute +;sybct.login_timeout= + +; The name of the host you claim to be connecting from, for display by sp_who. +; Default: none +;sybct.hostname= + +; Allows you to define how often deadlocks are to be retried. -1 means "forever". +; Default: 0 +;sybct.deadlock_retry_count= + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; How many bytes to read from the file. +; http://php.net/session.entropy-length +;session.entropy_length = 32 + +; Specified here to create the session id. +; http://php.net/session.entropy-file +; Defaults to /dev/urandom +; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom +; If neither are found at compile time, the default is no entropy file. +; On windows, setting the entropy_length setting will activate the +; Windows random source (using the CryptoAPI) +;session.entropy_file = /dev/urandom + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Select a hash function for use in generating session ids. +; Possible Values +; 0 (MD5 128 bits) +; 1 (SHA-1 160 bits) +; This option may also be set to the name of any hash function supported by +; the hash extension. A list of available hashes is returned by the hash_algos() +; function. +; http://php.net/session.hash-function +session.hash_function = 0 + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.hash_bits_per_character = 5 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; form/fieldset are special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. If you want XHTML conformity, remove the form entry. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; http://php.net/url-rewriter.tags +url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +[MSSQL] +; Allow or prevent persistent links. +mssql.allow_persistent = On + +; Maximum number of persistent links. -1 means no limit. +mssql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +mssql.max_links = -1 + +; Minimum error severity to display. +mssql.min_error_severity = 10 + +; Minimum message severity to display. +mssql.min_message_severity = 10 + +; Compatibility mode with old versions of PHP 3.0. +mssql.compatibility_mode = Off + +; Connect timeout +;mssql.connect_timeout = 5 + +; Query timeout +;mssql.timeout = 60 + +; Valid range 0 - 2147483647. Default = 4096. +;mssql.textlimit = 4096 + +; Valid range 0 - 2147483647. Default = 4096. +;mssql.textsize = 4096 + +; Limits the number of records in each batch. 0 = all records in one batch. +;mssql.batchsize = 0 + +; Specify how datetime and datetim4 columns are returned +; On => Returns data converted to SQL server settings +; Off => Returns values as YYYY-MM-DD hh:mm:ss +;mssql.datetimeconvert = On + +; Use NT authentication when connecting to the server +mssql.secure_connection = Off + +; Specify max number of processes. -1 = library default +; msdlib defaults to 25 +; FreeTDS defaults to 4096 +;mssql.max_procs = -1 + +; Specify client character set. +; If empty or not set the client charset from freetds.conf is used +; This is only used when compiled with FreeTDS +;mssql.charset = "ISO-8859-1" + +[Assertion] +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Issue a PHP warning for each failed assertion. +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstrig.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 0 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[mcrypt] +; For more information about mcrypt settings see http://php.net/mcrypt-module-open + +; Directory where to load mcrypt algorithms +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.algorithms_dir= + +; Directory where to load mcrypt modes +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.modes_dir= + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=0 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=64 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=4 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 100000 are allowed. +;opcache.max_accelerated_files=2000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" +; may be always stored (save_comments=1), but not loaded by applications +; that don't need them anyway. +;opcache.load_comments=1 + +; If enabled, a fast shutdown sequence is used for the accelerated code +;opcache.fast_shutdown=0 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Validate cached file permissions. +; opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +; opcache.validate_root=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: \ No newline at end of file diff --git a/7/orig/php-7.0.ini b/7/orig/php-7.0.ini-development similarity index 100% rename from 7/orig/php-7.0.ini rename to 7/orig/php-7.0.ini-development diff --git a/7/orig/php-7.0.ini-production b/7/orig/php-7.0.ini-production new file mode 100644 index 00000000..6d609b92 --- /dev/null +++ b/7/orig/php-7.0.ini-production @@ -0,0 +1,1918 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.hash_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; url_rewriter.tags +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/track-errors +track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +; sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +; http://php.net/cgi.dicard-path +;cgi.discard_path=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename.extension +; +; For example, on Windows: +; +; extension=msql.dll +; +; ... or under UNIX: +; +; extension=msql.so +; +; ... or with a path: +; +; extension=/path/to/extension/msql.so +; +; If you only provide the name of the extension, PHP will look for it in its +; default extension directory. +; +; Windows Extensions +; Note that ODBC support is built in, so no dll is needed for it. +; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=php_bz2.dll +;extension=php_curl.dll +;extension=php_fileinfo.dll +;extension=php_ftp.dll +;extension=php_gd2.dll +;extension=php_gettext.dll +;extension=php_gmp.dll +;extension=php_intl.dll +;extension=php_imap.dll +;extension=php_interbase.dll +;extension=php_ldap.dll +;extension=php_mbstring.dll +;extension=php_exif.dll ; Must be after mbstring as it depends on it +;extension=php_mysqli.dll +;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client +;extension=php_openssl.dll +;extension=php_pdo_firebird.dll +;extension=php_pdo_mysql.dll +;extension=php_pdo_oci.dll +;extension=php_pdo_odbc.dll +;extension=php_pdo_pgsql.dll +;extension=php_pdo_sqlite.dll +;extension=php_pgsql.dll +;extension=php_shmop.dll + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=php_snmp.dll + +;extension=php_soap.dll +;extension=php_sockets.dll +;extension=php_sqlite3.dll +;extension=php_tidy.dll +;extension=php_xmlrpc.dll +;extension=php_xsl.dll + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +;Enables or disables JIT compilation of patterns. This requires the PCRE +;library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[SQL] +; http://php.net/sql.safe-mode +sql.safe_mode = Off + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; How many bytes to read from the file. +; http://php.net/session.entropy-length +;session.entropy_length = 32 + +; Specified here to create the session id. +; http://php.net/session.entropy-file +; Defaults to /dev/urandom +; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom +; If neither are found at compile time, the default is no entropy file. +; On windows, setting the entropy_length setting will activate the +; Windows random source (using the CryptoAPI) +;session.entropy_file = /dev/urandom + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Select a hash function for use in generating session ids. +; Possible Values +; 0 (MD5 128 bits) +; 1 (SHA-1 160 bits) +; This option may also be set to the name of any hash function supported by +; the hash extension. A list of available hashes is returned by the hash_algos() +; function. +; http://php.net/session.hash-function +session.hash_function = 0 + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.hash_bits_per_character = 5 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; form/fieldset are special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. If you want XHTML conformity, remove the form entry. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=,fieldset=" +; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" +; http://php.net/url-rewriter.tags +url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = -1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertationException on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 0 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[mcrypt] +; For more information about mcrypt settings see http://php.net/mcrypt-module-open + +; Directory where to load mcrypt algorithms +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.algorithms_dir= + +; Directory where to load mcrypt modes +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.modes_dir= + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=0 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=64 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=4 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=2000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; If enabled, a fast shutdown sequence is used for the accelerated code +; Depending on the used Memory Manager this may cause some incompatibilities. +;opcache.fast_shutdown=0 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=1 + +; Validate cached file permissions. +; opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +; opcache.validate_root=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: \ No newline at end of file diff --git a/7/orig/php-7.1.ini b/7/orig/php-7.1.ini-development similarity index 100% rename from 7/orig/php-7.1.ini rename to 7/orig/php-7.1.ini-development diff --git a/7/orig/php-7.1.ini-production b/7/orig/php-7.1.ini-production new file mode 100644 index 00000000..82b35a14 --- /dev/null +++ b/7/orig/php-7.1.ini-production @@ -0,0 +1,1933 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/track-errors +track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +; sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +; http://php.net/cgi.dicard-path +;cgi.discard_path=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename.extension +; +; For example, on Windows: +; +; extension=msql.dll +; +; ... or under UNIX: +; +; extension=msql.so +; +; ... or with a path: +; +; extension=/path/to/extension/msql.so +; +; If you only provide the name of the extension, PHP will look for it in its +; default extension directory. +; +; Windows Extensions +; Note that ODBC support is built in, so no dll is needed for it. +; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=php_bz2.dll +;extension=php_curl.dll +;extension=php_fileinfo.dll +;extension=php_ftp.dll +;extension=php_gd2.dll +;extension=php_gettext.dll +;extension=php_gmp.dll +;extension=php_intl.dll +;extension=php_imap.dll +;extension=php_interbase.dll +;extension=php_ldap.dll +;extension=php_mbstring.dll +;extension=php_exif.dll ; Must be after mbstring as it depends on it +;extension=php_mysqli.dll +;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client +;extension=php_openssl.dll +;extension=php_pdo_firebird.dll +;extension=php_pdo_mysql.dll +;extension=php_pdo_oci.dll +;extension=php_pdo_odbc.dll +;extension=php_pdo_pgsql.dll +;extension=php_pdo_sqlite.dll +;extension=php_pgsql.dll +;extension=php_shmop.dll + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=php_snmp.dll + +;extension=php_soap.dll +;extension=php_sockets.dll +;extension=php_sqlite3.dll +;extension=php_tidy.dll +;extension=php_xmlrpc.dll +;extension=php_xsl.dll + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +;Enables or disables JIT compilation of patterns. This requires the PCRE +;library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[SQL] +; http://php.net/sql.safe-mode +sql.safe_mode = Off + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute pathes, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = -1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertationException on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[mcrypt] +; For more information about mcrypt settings see http://php.net/mcrypt-module-open + +; Directory where to load mcrypt algorithms +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.algorithms_dir= + +; Directory where to load mcrypt modes +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.modes_dir= + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; If enabled, a fast shutdown sequence is used for the accelerated code +; Depending on the used Memory Manager this may cause some incompatibilities. +;opcache.fast_shutdown=0 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=1 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: \ No newline at end of file diff --git a/7/orig/php-7.2.ini b/7/orig/php-7.2.ini-development similarity index 99% rename from 7/orig/php-7.2.ini rename to 7/orig/php-7.2.ini-development index c8a71c67..3b89ca28 100644 --- a/7/orig/php-7.2.ini +++ b/7/orig/php-7.2.ini-development @@ -1904,4 +1904,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production new file mode 100644 index 00000000..740eda5f --- /dev/null +++ b/7/orig/php-7.2.ini-production @@ -0,0 +1,1914 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +; sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +; http://php.net/cgi.dicard-path +;cgi.discard_path=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=.so' and +; 'extension='php_.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=) syntax. +; +; Notes for Windows environments : +; +; - ODBC support is built in, so no dll is needed for it. +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +;extension=curl +;extension=fileinfo +;extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=interbase +;extension=ldap +;extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +;extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +;Enables or disables JIT compilation of patterns. This requires the PCRE +;library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute pathes, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = -1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertationException on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=1 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: From ab828d95297f46e237f57036d41e93f4eac5a1b6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 20:33:55 +0700 Subject: [PATCH 099/559] Compare orig configs --- .travis.yml | 5 ++- 5.3/Dockerfile | 2 +- 5.3/Makefile | 11 ++++-- 5.3/{actions => bin}/actions.mk | 0 5.3/{actions => bin}/files_chmod | 0 5.3/{actions => bin}/files_import | 0 5.3/{actions => bin}/files_link | 0 5.3/{actions => bin}/files_sync | 0 5.3/{actions => bin}/git_checkout | 0 5.3/{actions => bin}/git_clone | 0 5.3/{actions => bin}/init_volumes | 0 5.3/{actions => bin}/migrate | 0 5.3/{actions => bin}/walter | 0 5.3/compare_orig_configs | 39 +++++++++++++++++++ 5.3/orig/php-5.3.ini-development | 10 ++--- 5.3/orig/php-5.3.ini-production | 8 ++-- 5.6/Dockerfile | 2 +- 5.6/Makefile | 11 ++++-- 5.6/{actions => bin}/actions.mk | 0 5.6/{actions => bin}/files_chmod | 0 5.6/{actions => bin}/files_import | 0 5.6/{actions => bin}/files_link | 0 5.6/{actions => bin}/files_sync | 0 5.6/{actions => bin}/git_checkout | 0 5.6/{actions => bin}/git_clone | 0 5.6/{actions => bin}/init_volumes | 0 5.6/{actions => bin}/migrate | 0 5.6/{actions => bin}/walter | 0 5.6/compare_orig_configs | 39 +++++++++++++++++++ 5.6/orig/php-5.6.ini-development | 6 +-- 5.6/orig/php-5.6.ini-production | 6 +-- 7/Dockerfile | 2 +- 7/Makefile | 11 ++++-- 7/{actions => bin}/actions.mk | 0 7/{actions => bin}/files_chmod | 0 7/{actions => bin}/files_import | 0 7/{actions => bin}/files_link | 0 7/{actions => bin}/files_sync | 0 7/{actions => bin}/git_checkout | 0 7/{actions => bin}/git_clone | 0 7/{actions => bin}/init_volumes | 0 7/{actions => bin}/migrate | 0 7/{actions => bin}/walter | 0 7/compare_orig_configs | 39 +++++++++++++++++++ 7/orig/php-7.0.ini-development | 2 +- 7/orig/php-7.0.ini-production | 2 +- 7/orig/php-7.1.ini-development | 6 +-- 7/orig/php-7.1.ini-production | 2 +- 7/orig/php-7.2.ini-development | 2 +- 7/orig/php-7.2.ini-production | 2 +- .../docker-php-ext-opcache-7.0.ini.tpl | 2 +- .../docker-php-ext-opcache-7.1.ini.tpl | 2 +- .../docker-php-ext-opcache-7.2.ini.tpl | 2 +- 53 files changed, 174 insertions(+), 39 deletions(-) rename 5.3/{actions => bin}/actions.mk (100%) rename 5.3/{actions => bin}/files_chmod (100%) rename 5.3/{actions => bin}/files_import (100%) rename 5.3/{actions => bin}/files_link (100%) rename 5.3/{actions => bin}/files_sync (100%) rename 5.3/{actions => bin}/git_checkout (100%) rename 5.3/{actions => bin}/git_clone (100%) rename 5.3/{actions => bin}/init_volumes (100%) rename 5.3/{actions => bin}/migrate (100%) rename 5.3/{actions => bin}/walter (100%) create mode 100755 5.3/compare_orig_configs rename 5.6/{actions => bin}/actions.mk (100%) rename 5.6/{actions => bin}/files_chmod (100%) rename 5.6/{actions => bin}/files_import (100%) rename 5.6/{actions => bin}/files_link (100%) rename 5.6/{actions => bin}/files_sync (100%) rename 5.6/{actions => bin}/git_checkout (100%) rename 5.6/{actions => bin}/git_clone (100%) rename 5.6/{actions => bin}/init_volumes (100%) rename 5.6/{actions => bin}/migrate (100%) rename 5.6/{actions => bin}/walter (100%) create mode 100755 5.6/compare_orig_configs rename 7/{actions => bin}/actions.mk (100%) rename 7/{actions => bin}/files_chmod (100%) rename 7/{actions => bin}/files_import (100%) rename 7/{actions => bin}/files_link (100%) rename 7/{actions => bin}/files_sync (100%) rename 7/{actions => bin}/git_checkout (100%) rename 7/{actions => bin}/git_clone (100%) rename 7/{actions => bin}/init_volumes (100%) rename 7/{actions => bin}/migrate (100%) rename 7/{actions => bin}/walter (100%) create mode 100755 7/compare_orig_configs diff --git a/.travis.yml b/.travis.yml index 1e01b7f1..ec295642 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,8 +28,11 @@ env: - TAG=5.6-debug PHP_VER="${PHP56}" PHP_DEBUG=1 EXTRA_TAG=5-debug script: + - set -e - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - - travis_retry make && make test + - make compare-orig-configs + - travis_retry make + - make test after_success: - bash "${TRAVIS_BUILD_DIR}/travis-release.sh" diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 24c03f46..5a8aa0e2 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -272,7 +272,7 @@ EXPOSE 9000 COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / -COPY actions /usr/local/bin/ +COPY bin /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["sudo", "-E", "php-fpm"] diff --git a/5.3/Makefile b/5.3/Makefile index 639c352c..b1809f50 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -1,14 +1,13 @@ -include env_make PHP_VER ?= 5.3.29 +PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php -NAME = php-$(PHP_VER) +NAME = php-$(PHP_VER_MINOR) FROM_TAG = $(PHP_VER) ifeq ($(TAG),) - PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) - ifneq ($(PHP_DEBUG),) TAG ?= $(PHP_VER_MINOR)-debug else ifneq ($(PHP_DEV),) @@ -69,4 +68,10 @@ logs: clean: -docker rm -f $(NAME) +compare-orig-configs: + docker run --rm \ + -v $(PWD)/compare_orig_configs:/usr/local/bin/compare_orig_configs \ + -v $(PWD)/orig:/orig \ + wodby/alpine compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + release: build push diff --git a/5.3/actions/actions.mk b/5.3/bin/actions.mk similarity index 100% rename from 5.3/actions/actions.mk rename to 5.3/bin/actions.mk diff --git a/5.3/actions/files_chmod b/5.3/bin/files_chmod similarity index 100% rename from 5.3/actions/files_chmod rename to 5.3/bin/files_chmod diff --git a/5.3/actions/files_import b/5.3/bin/files_import similarity index 100% rename from 5.3/actions/files_import rename to 5.3/bin/files_import diff --git a/5.3/actions/files_link b/5.3/bin/files_link similarity index 100% rename from 5.3/actions/files_link rename to 5.3/bin/files_link diff --git a/5.3/actions/files_sync b/5.3/bin/files_sync similarity index 100% rename from 5.3/actions/files_sync rename to 5.3/bin/files_sync diff --git a/5.3/actions/git_checkout b/5.3/bin/git_checkout similarity index 100% rename from 5.3/actions/git_checkout rename to 5.3/bin/git_checkout diff --git a/5.3/actions/git_clone b/5.3/bin/git_clone similarity index 100% rename from 5.3/actions/git_clone rename to 5.3/bin/git_clone diff --git a/5.3/actions/init_volumes b/5.3/bin/init_volumes similarity index 100% rename from 5.3/actions/init_volumes rename to 5.3/bin/init_volumes diff --git a/5.3/actions/migrate b/5.3/bin/migrate similarity index 100% rename from 5.3/actions/migrate rename to 5.3/bin/migrate diff --git a/5.3/actions/walter b/5.3/bin/walter similarity index 100% rename from 5.3/actions/walter rename to 5.3/bin/walter diff --git a/5.3/compare_orig_configs b/5.3/compare_orig_configs new file mode 100755 index 00000000..18798a13 --- /dev/null +++ b/5.3/compare_orig_configs @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +php_ver=$1 +php_ver_minor=$2 + +url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" + +array=( + "/orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" + "/orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" +) + +outdated=0 + +for index in "${array[@]}" ; do + local="${index%%::*}" + remote="${index##*::}" + + md5_local=$(cat "${local}" | md5sum) + md5_remote=$(wget -qO- "${remote}" | md5sum) + + echo "Checking ${local}" + + if [[ "${md5_local}" != "${md5_remote}" ]]; then + echo "!!! OUTDATED" + echo "${remote}" + outdated=1 + else + echo "OK" + fi +done + +[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file diff --git a/5.3/orig/php-5.3.ini-development b/5.3/orig/php-5.3.ini-development index bf26a3d2..d1fa7a35 100644 --- a/5.3/orig/php-5.3.ini-development +++ b/5.3/orig/php-5.3.ini-development @@ -842,7 +842,7 @@ enable_dl = Off ; will look for to know it is OK to continue execution. Setting this variable MAY ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. ; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = +;cgi.redirect_status_env = ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok @@ -984,8 +984,8 @@ default_socket_timeout = 60 ;extension=php_pspell.dll ;extension=php_shmop.dll -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll ;extension=php_soap.dll @@ -1608,7 +1608,7 @@ session.entropy_length = 0 ; Specified here to create the session id. ; http://php.net/session.entropy-file ; On systems that don't have /dev/urandom /dev/arandom can be used -; On windows, setting the entropy_length setting will activate the +; On windows, setting the entropy_length setting will activate the ; Windows random source (using the CryptoAPI) ;session.entropy_file = /dev/urandom @@ -1915,4 +1915,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/5.3/orig/php-5.3.ini-production b/5.3/orig/php-5.3.ini-production index 6a39d3b3..9d5861dd 100644 --- a/5.3/orig/php-5.3.ini-production +++ b/5.3/orig/php-5.3.ini-production @@ -984,8 +984,8 @@ default_socket_timeout = 60 ;extension=php_pspell.dll ;extension=php_shmop.dll -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll ;extension=php_soap.dll @@ -1608,7 +1608,7 @@ session.entropy_length = 0 ; Specified here to create the session id. ; http://php.net/session.entropy-file ; On systems that don't have /dev/urandom /dev/arandom can be used -; On windows, setting the entropy_length setting will activate the +; On windows, setting the entropy_length setting will activate the ; Windows random source (using the CryptoAPI) ;session.entropy_file = /dev/urandom @@ -1915,4 +1915,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 1c1cfb6a..1fac79ab 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -297,7 +297,7 @@ EXPOSE 9000 COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / -COPY actions /usr/local/bin/ +COPY bin /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["sudo", "-E", "php-fpm"] diff --git a/5.6/Makefile b/5.6/Makefile index 4878762a..8a49f2ba 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,14 +1,13 @@ -include env_make PHP_VER ?= 5.6.33 +PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php -NAME = php-$(PHP_VER) +NAME = php-$(PHP_VER_MINOR) FROM_TAG = $(PHP_VER) ifeq ($(TAG),) - PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) - ifneq ($(PHP_DEBUG),) TAG ?= $(PHP_VER_MINOR)-debug else ifneq ($(PHP_DEV),) @@ -69,4 +68,10 @@ logs: clean: -docker rm -f $(NAME) +compare-orig-configs: + docker run --rm \ + -v $(PWD)/compare_orig_configs:/usr/local/bin/compare_orig_configs \ + -v $(PWD)/orig:/orig \ + wodby/alpine compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + release: build push diff --git a/5.6/actions/actions.mk b/5.6/bin/actions.mk similarity index 100% rename from 5.6/actions/actions.mk rename to 5.6/bin/actions.mk diff --git a/5.6/actions/files_chmod b/5.6/bin/files_chmod similarity index 100% rename from 5.6/actions/files_chmod rename to 5.6/bin/files_chmod diff --git a/5.6/actions/files_import b/5.6/bin/files_import similarity index 100% rename from 5.6/actions/files_import rename to 5.6/bin/files_import diff --git a/5.6/actions/files_link b/5.6/bin/files_link similarity index 100% rename from 5.6/actions/files_link rename to 5.6/bin/files_link diff --git a/5.6/actions/files_sync b/5.6/bin/files_sync similarity index 100% rename from 5.6/actions/files_sync rename to 5.6/bin/files_sync diff --git a/5.6/actions/git_checkout b/5.6/bin/git_checkout similarity index 100% rename from 5.6/actions/git_checkout rename to 5.6/bin/git_checkout diff --git a/5.6/actions/git_clone b/5.6/bin/git_clone similarity index 100% rename from 5.6/actions/git_clone rename to 5.6/bin/git_clone diff --git a/5.6/actions/init_volumes b/5.6/bin/init_volumes similarity index 100% rename from 5.6/actions/init_volumes rename to 5.6/bin/init_volumes diff --git a/5.6/actions/migrate b/5.6/bin/migrate similarity index 100% rename from 5.6/actions/migrate rename to 5.6/bin/migrate diff --git a/5.6/actions/walter b/5.6/bin/walter similarity index 100% rename from 5.6/actions/walter rename to 5.6/bin/walter diff --git a/5.6/compare_orig_configs b/5.6/compare_orig_configs new file mode 100755 index 00000000..18798a13 --- /dev/null +++ b/5.6/compare_orig_configs @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +php_ver=$1 +php_ver_minor=$2 + +url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" + +array=( + "/orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" + "/orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" +) + +outdated=0 + +for index in "${array[@]}" ; do + local="${index%%::*}" + remote="${index##*::}" + + md5_local=$(cat "${local}" | md5sum) + md5_remote=$(wget -qO- "${remote}" | md5sum) + + echo "Checking ${local}" + + if [[ "${md5_local}" != "${md5_remote}" ]]; then + echo "!!! OUTDATED" + echo "${remote}" + outdated=1 + else + echo "OK" + fi +done + +[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file diff --git a/5.6/orig/php-5.6.ini-development b/5.6/orig/php-5.6.ini-development index b0d4cfd7..752f6014 100644 --- a/5.6/orig/php-5.6.ini-development +++ b/5.6/orig/php-5.6.ini-development @@ -910,8 +910,8 @@ default_socket_timeout = 60 ;extension=php_pgsql.dll ;extension=php_shmop.dll -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll ;extension=php_soap.dll @@ -2027,4 +2027,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/5.6/orig/php-5.6.ini-production b/5.6/orig/php-5.6.ini-production index ed2ad695..97b5043c 100644 --- a/5.6/orig/php-5.6.ini-production +++ b/5.6/orig/php-5.6.ini-production @@ -910,8 +910,8 @@ default_socket_timeout = 60 ;extension=php_pgsql.dll ;extension=php_shmop.dll -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll ;extension=php_soap.dll @@ -2027,4 +2027,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/7/Dockerfile b/7/Dockerfile index 7ac4e0bc..ee69c8de 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -322,7 +322,7 @@ EXPOSE 9000 COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / -COPY actions /usr/local/bin/ +COPY bin /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["sudo", "-E", "php-fpm"] diff --git a/7/Makefile b/7/Makefile index ad26959b..2599279a 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,14 +1,13 @@ -include env_make PHP_VER ?= 7.2.2 +PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php -NAME = php-$(PHP_VER) +NAME = php-$(PHP_VER_MINOR) FROM_TAG = $(PHP_VER) ifeq ($(TAG),) - PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | cut -c 1-3) - ifneq ($(PHP_DEBUG),) TAG ?= $(PHP_VER_MINOR)-debug else ifneq ($(PHP_DEV),) @@ -69,4 +68,10 @@ logs: clean: -docker rm -f $(NAME) +compare-orig-configs: + docker run --rm \ + -v $(PWD)/compare_orig_configs:/usr/local/bin/compare_orig_configs \ + -v $(PWD)/orig:/orig \ + wodby/alpine compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + release: build push diff --git a/7/actions/actions.mk b/7/bin/actions.mk similarity index 100% rename from 7/actions/actions.mk rename to 7/bin/actions.mk diff --git a/7/actions/files_chmod b/7/bin/files_chmod similarity index 100% rename from 7/actions/files_chmod rename to 7/bin/files_chmod diff --git a/7/actions/files_import b/7/bin/files_import similarity index 100% rename from 7/actions/files_import rename to 7/bin/files_import diff --git a/7/actions/files_link b/7/bin/files_link similarity index 100% rename from 7/actions/files_link rename to 7/bin/files_link diff --git a/7/actions/files_sync b/7/bin/files_sync similarity index 100% rename from 7/actions/files_sync rename to 7/bin/files_sync diff --git a/7/actions/git_checkout b/7/bin/git_checkout similarity index 100% rename from 7/actions/git_checkout rename to 7/bin/git_checkout diff --git a/7/actions/git_clone b/7/bin/git_clone similarity index 100% rename from 7/actions/git_clone rename to 7/bin/git_clone diff --git a/7/actions/init_volumes b/7/bin/init_volumes similarity index 100% rename from 7/actions/init_volumes rename to 7/bin/init_volumes diff --git a/7/actions/migrate b/7/bin/migrate similarity index 100% rename from 7/actions/migrate rename to 7/bin/migrate diff --git a/7/actions/walter b/7/bin/walter similarity index 100% rename from 7/actions/walter rename to 7/bin/walter diff --git a/7/compare_orig_configs b/7/compare_orig_configs new file mode 100755 index 00000000..18798a13 --- /dev/null +++ b/7/compare_orig_configs @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +php_ver=$1 +php_ver_minor=$2 + +url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" + +array=( + "/orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" + "/orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" +) + +outdated=0 + +for index in "${array[@]}" ; do + local="${index%%::*}" + remote="${index##*::}" + + md5_local=$(cat "${local}" | md5sum) + md5_remote=$(wget -qO- "${remote}" | md5sum) + + echo "Checking ${local}" + + if [[ "${md5_local}" != "${md5_remote}" ]]; then + echo "!!! OUTDATED" + echo "${remote}" + outdated=1 + else + echo "OK" + fi +done + +[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file diff --git a/7/orig/php-7.0.ini-development b/7/orig/php-7.0.ini-development index f9d7feee..50b9dbc3 100644 --- a/7/orig/php-7.0.ini-development +++ b/7/orig/php-7.0.ini-development @@ -1915,4 +1915,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/7/orig/php-7.0.ini-production b/7/orig/php-7.0.ini-production index 6d609b92..52a11fce 100644 --- a/7/orig/php-7.0.ini-production +++ b/7/orig/php-7.0.ini-production @@ -1915,4 +1915,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/7/orig/php-7.1.ini-development b/7/orig/php-7.1.ini-development index 0424f82f..e371ca5b 100644 --- a/7/orig/php-7.1.ini-development +++ b/7/orig/php-7.1.ini-development @@ -1782,7 +1782,7 @@ ldap.max_links = -1 ;opcache.enable=1 ; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=1 +;opcache.enable_cli=0 ; The OPcache shared memory storage size. ;opcache.memory_consumption=128 @@ -1791,7 +1791,7 @@ ldap.max_links = -1 ;opcache.interned_strings_buffer=8 ; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 100000 are allowed. +; Only numbers between 200 and 1000000 are allowed. ;opcache.max_accelerated_files=10000 ; The maximum percentage of "wasted" memory until a restart is scheduled. @@ -1930,4 +1930,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/7/orig/php-7.1.ini-production b/7/orig/php-7.1.ini-production index 82b35a14..0a28d3b6 100644 --- a/7/orig/php-7.1.ini-production +++ b/7/orig/php-7.1.ini-production @@ -1930,4 +1930,4 @@ ldap.max_links = -1 ; Local Variables: ; tab-width: 4 -; End: \ No newline at end of file +; End: diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index 3b89ca28..83ed0fad 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -865,7 +865,7 @@ default_socket_timeout = 60 ; For example: ; ; extension=mysqli -; +; ; When the extension library to load is not located in the default extension ; directory, You may specify an absolute path to the library file: ; diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index 740eda5f..a8fb5c93 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -872,7 +872,7 @@ default_socket_timeout = 60 ; For example: ; ; extension=mysqli -; +; ; When the extension library to load is not located in the default extension ; directory, You may specify an absolute path to the library file: ; diff --git a/7/templates/docker-php-ext-opcache-7.0.ini.tpl b/7/templates/docker-php-ext-opcache-7.0.ini.tpl index 518b7d02..1c1e51b3 100644 --- a/7/templates/docker-php-ext-opcache-7.0.ini.tpl +++ b/7/templates/docker-php-ext-opcache-7.0.ini.tpl @@ -7,4 +7,4 @@ opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4 opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "1" }} \ No newline at end of file +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} \ No newline at end of file diff --git a/7/templates/docker-php-ext-opcache-7.1.ini.tpl b/7/templates/docker-php-ext-opcache-7.1.ini.tpl index 518b7d02..1c1e51b3 100644 --- a/7/templates/docker-php-ext-opcache-7.1.ini.tpl +++ b/7/templates/docker-php-ext-opcache-7.1.ini.tpl @@ -7,4 +7,4 @@ opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4 opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "1" }} \ No newline at end of file +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} \ No newline at end of file diff --git a/7/templates/docker-php-ext-opcache-7.2.ini.tpl b/7/templates/docker-php-ext-opcache-7.2.ini.tpl index 3d8f2194..09d12a3f 100644 --- a/7/templates/docker-php-ext-opcache-7.2.ini.tpl +++ b/7/templates/docker-php-ext-opcache-7.2.ini.tpl @@ -6,4 +6,4 @@ opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "1" }} \ No newline at end of file +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} \ No newline at end of file From 8dd68143366d787445e6cc324f5c8a0451d95330 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 20:52:41 +0700 Subject: [PATCH 100/559] Fix walter scripts duplication --- 5.3/bin/actions.mk | 2 ++ 5.3/bin/walter | 11 ----------- 5.6/bin/actions.mk | 2 ++ 5.6/bin/walter | 11 ----------- 7/bin/actions.mk | 2 ++ 7/bin/walter | 11 ----------- 6 files changed, 6 insertions(+), 33 deletions(-) delete mode 100755 5.3/bin/walter delete mode 100755 5.6/bin/walter delete mode 100755 7/bin/walter diff --git a/5.3/bin/actions.mk b/5.3/bin/actions.mk index 7378f1ed..6b433eca 100644 --- a/5.3/bin/actions.mk +++ b/5.3/bin/actions.mk @@ -39,6 +39,8 @@ files-link: files_link $(public_dir) walter: + ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") + walter -c "$(APP_ROOT)/wodby.yml" walter check-ready: diff --git a/5.3/bin/walter b/5.3/bin/walter deleted file mode 100755 index e928d759..00000000 --- a/5.3/bin/walter +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -if [[ -f "${APP_ROOT}/wodby.yml" ]]; then - walter -c "${APP_ROOT}/wodby.yml" -fi \ No newline at end of file diff --git a/5.6/bin/actions.mk b/5.6/bin/actions.mk index 7378f1ed..6b433eca 100644 --- a/5.6/bin/actions.mk +++ b/5.6/bin/actions.mk @@ -39,6 +39,8 @@ files-link: files_link $(public_dir) walter: + ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") + walter -c "$(APP_ROOT)/wodby.yml" walter check-ready: diff --git a/5.6/bin/walter b/5.6/bin/walter deleted file mode 100755 index e928d759..00000000 --- a/5.6/bin/walter +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -if [[ -f "${APP_ROOT}/wodby.yml" ]]; then - walter -c "${APP_ROOT}/wodby.yml" -fi \ No newline at end of file diff --git a/7/bin/actions.mk b/7/bin/actions.mk index 7378f1ed..6b433eca 100644 --- a/7/bin/actions.mk +++ b/7/bin/actions.mk @@ -39,6 +39,8 @@ files-link: files_link $(public_dir) walter: + ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") + walter -c "$(APP_ROOT)/wodby.yml" walter check-ready: diff --git a/7/bin/walter b/7/bin/walter deleted file mode 100755 index e928d759..00000000 --- a/7/bin/walter +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -if [[ -f "${APP_ROOT}/wodby.yml" ]]; then - walter -c "${APP_ROOT}/wodby.yml" -fi \ No newline at end of file From 6fe094a6953055658ad5ca6d4a3c7f351bba3fec Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 21:02:18 +0700 Subject: [PATCH 101/559] Fix --- 5.3/bin/actions.mk | 2 +- 5.6/bin/actions.mk | 2 +- 7/bin/actions.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.3/bin/actions.mk b/5.3/bin/actions.mk index 6b433eca..6898431c 100644 --- a/5.3/bin/actions.mk +++ b/5.3/bin/actions.mk @@ -41,7 +41,7 @@ files-link: walter: ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") walter -c "$(APP_ROOT)/wodby.yml" - walter + endif check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/5.6/bin/actions.mk b/5.6/bin/actions.mk index 6b433eca..6898431c 100644 --- a/5.6/bin/actions.mk +++ b/5.6/bin/actions.mk @@ -41,7 +41,7 @@ files-link: walter: ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") walter -c "$(APP_ROOT)/wodby.yml" - walter + endif check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/7/bin/actions.mk b/7/bin/actions.mk index 6b433eca..6898431c 100644 --- a/7/bin/actions.mk +++ b/7/bin/actions.mk @@ -41,7 +41,7 @@ files-link: walter: ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") walter -c "$(APP_ROOT)/wodby.yml" - walter + endif check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) From 0bdc06d560a59580c7f6256ceef58e82bd4048c2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 21:12:06 +0700 Subject: [PATCH 102/559] Simplify walter action --- 5.3/bin/actions.mk | 4 +--- 5.6/bin/actions.mk | 4 +--- 7/bin/actions.mk | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/5.3/bin/actions.mk b/5.3/bin/actions.mk index 6898431c..3c8dba8e 100644 --- a/5.3/bin/actions.mk +++ b/5.3/bin/actions.mk @@ -39,9 +39,7 @@ files-link: files_link $(public_dir) walter: - ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") - walter -c "$(APP_ROOT)/wodby.yml" - endif + test -f "$(APP_ROOT)/wodby.yml" && walter -c "$(APP_ROOT)/wodby.yml" check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/5.6/bin/actions.mk b/5.6/bin/actions.mk index 6898431c..3c8dba8e 100644 --- a/5.6/bin/actions.mk +++ b/5.6/bin/actions.mk @@ -39,9 +39,7 @@ files-link: files_link $(public_dir) walter: - ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") - walter -c "$(APP_ROOT)/wodby.yml" - endif + test -f "$(APP_ROOT)/wodby.yml" && walter -c "$(APP_ROOT)/wodby.yml" check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/7/bin/actions.mk b/7/bin/actions.mk index 6898431c..3c8dba8e 100644 --- a/7/bin/actions.mk +++ b/7/bin/actions.mk @@ -39,9 +39,7 @@ files-link: files_link $(public_dir) walter: - ifneq ("$(wildcard $(APP_ROOT)/wodby.yml)","") - walter -c "$(APP_ROOT)/wodby.yml" - endif + test -f "$(APP_ROOT)/wodby.yml" && walter -c "$(APP_ROOT)/wodby.yml" check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) From 5de3d5a001fed89146af1b5f7dc19a2a78aef1f3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 21:36:39 +0700 Subject: [PATCH 103/559] Fix regex --- 5.3/bin/files_chmod | 2 +- 5.3/bin/files_sync | 2 +- 5.3/bin/init_volumes | 4 ++++ 5.6/bin/files_chmod | 2 +- 5.6/bin/files_sync | 2 +- 5.6/bin/init_volumes | 4 ++++ 7/bin/files_chmod | 2 +- 7/bin/files_sync | 2 +- 7/bin/init_volumes | 4 ++++ 9 files changed, 18 insertions(+), 6 deletions(-) diff --git a/5.3/bin/files_chmod b/5.3/bin/files_chmod index f6768936..fd8217c1 100755 --- a/5.3/bin/files_chmod +++ b/5.3/bin/files_chmod @@ -8,7 +8,7 @@ fi dir=$1 -if [[ "${dir}" =~ "^${FILES_DIR}" ]]; then +if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then chmod -R 775 "${dir}" else echo "Only dir/files under ${FILES_DIR} allowed" diff --git a/5.3/bin/files_sync b/5.3/bin/files_sync index e86bd636..47c3ba13 100755 --- a/5.3/bin/files_sync +++ b/5.3/bin/files_sync @@ -9,7 +9,7 @@ fi from=$1 to=$2 -if [[ "${to}" =~ "^${FILES_DIR}" ]]; then +if [[ "${to}" == "${FILES_DIR}" || "${to}" =~ ^"${FILES_DIR}/" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. init_volumes diff --git a/5.3/bin/init_volumes b/5.3/bin/init_volumes index 6af435f1..6ab13de0 100755 --- a/5.3/bin/init_volumes +++ b/5.3/bin/init_volumes @@ -16,6 +16,10 @@ declare -a dirs=( "${FILES_DIR}/xdebug/traces" ) +if [[ -n $1 && $1 =~ ^"${FILES_DIR}/" ]]; then + dirs+=($1) +fi + for dir in "${dirs[@]}"; do mkdir -p "${dir}" chown www-data:www-data "${dir}" diff --git a/5.6/bin/files_chmod b/5.6/bin/files_chmod index f6768936..fd8217c1 100755 --- a/5.6/bin/files_chmod +++ b/5.6/bin/files_chmod @@ -8,7 +8,7 @@ fi dir=$1 -if [[ "${dir}" =~ "^${FILES_DIR}" ]]; then +if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then chmod -R 775 "${dir}" else echo "Only dir/files under ${FILES_DIR} allowed" diff --git a/5.6/bin/files_sync b/5.6/bin/files_sync index e86bd636..47c3ba13 100755 --- a/5.6/bin/files_sync +++ b/5.6/bin/files_sync @@ -9,7 +9,7 @@ fi from=$1 to=$2 -if [[ "${to}" =~ "^${FILES_DIR}" ]]; then +if [[ "${to}" == "${FILES_DIR}" || "${to}" =~ ^"${FILES_DIR}/" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. init_volumes diff --git a/5.6/bin/init_volumes b/5.6/bin/init_volumes index 6af435f1..6ab13de0 100755 --- a/5.6/bin/init_volumes +++ b/5.6/bin/init_volumes @@ -16,6 +16,10 @@ declare -a dirs=( "${FILES_DIR}/xdebug/traces" ) +if [[ -n $1 && $1 =~ ^"${FILES_DIR}/" ]]; then + dirs+=($1) +fi + for dir in "${dirs[@]}"; do mkdir -p "${dir}" chown www-data:www-data "${dir}" diff --git a/7/bin/files_chmod b/7/bin/files_chmod index f6768936..fd8217c1 100755 --- a/7/bin/files_chmod +++ b/7/bin/files_chmod @@ -8,7 +8,7 @@ fi dir=$1 -if [[ "${dir}" =~ "^${FILES_DIR}" ]]; then +if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then chmod -R 775 "${dir}" else echo "Only dir/files under ${FILES_DIR} allowed" diff --git a/7/bin/files_sync b/7/bin/files_sync index e86bd636..47c3ba13 100755 --- a/7/bin/files_sync +++ b/7/bin/files_sync @@ -9,7 +9,7 @@ fi from=$1 to=$2 -if [[ "${to}" =~ "^${FILES_DIR}" ]]; then +if [[ "${to}" == "${FILES_DIR}" || "${to}" =~ ^"${FILES_DIR}/" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. init_volumes diff --git a/7/bin/init_volumes b/7/bin/init_volumes index 6af435f1..6ab13de0 100755 --- a/7/bin/init_volumes +++ b/7/bin/init_volumes @@ -16,6 +16,10 @@ declare -a dirs=( "${FILES_DIR}/xdebug/traces" ) +if [[ -n $1 && $1 =~ ^"${FILES_DIR}/" ]]; then + dirs+=($1) +fi + for dir in "${dirs[@]}"; do mkdir -p "${dir}" chown www-data:www-data "${dir}" From 2c906b92f988a3ce66ffdc1e513240af32c83b1e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 21:40:51 +0700 Subject: [PATCH 104/559] Update naming to standard --- .travis.yml | 2 +- travis-release.sh => travis_release | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename travis-release.sh => travis_release (100%) diff --git a/.travis.yml b/.travis.yml index ec295642..859ef4e9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,7 @@ script: - make test after_success: - - bash "${TRAVIS_BUILD_DIR}/travis-release.sh" + - bash "${TRAVIS_BUILD_DIR}/travis_release" notifications: on_failure: never diff --git a/travis-release.sh b/travis_release similarity index 100% rename from travis-release.sh rename to travis_release From f51b589fee87afc9fcb395f1651e0df3a53bf76f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 21:52:53 +0700 Subject: [PATCH 105/559] Update description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ea31482b..04b93364 100644 --- a/README.md +++ b/README.md @@ -338,7 +338,7 @@ Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM runs from `www Codebase volume `$APP_ROOT` (`/var/www/html`) owned by `wodby:wodby`. -Files volume `$FILES_DIR` (`/mnt/files`) owned by `www-data:www-data` with `775` mode. In case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo chmod-files-dir.sh [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `775`. +Files volume `$FILES_DIR` (`/mnt/files`) owned by `www-data:www-data` with `775` mode. In case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo files_chmod [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `775`. See https://github.com/wodby/php/issues/22 for more details. From e2e59ba996f3519acaa3633987b626842883016f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Feb 2018 22:16:34 +0700 Subject: [PATCH 106/559] Fix test launch --- 5.3/Makefile | 2 +- 5.3/test/run | 6 +++--- 5.6/Makefile | 2 +- 5.6/test/run | 6 +++--- 7/Makefile | 2 +- 7/test/run | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/5.3/Makefile b/5.3/Makefile index b1809f50..7e9144cd 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -45,7 +45,7 @@ build: ./ test: - IMAGE=$(REPO):$(TAG) ./test/run + cd ./test && IMAGE=$(REPO):$(TAG) ./run push: docker push $(REPO):$(TAG) diff --git a/5.3/test/run b/5.3/test/run index baf38e28..89c2b938 100755 --- a/5.3/test/run +++ b/5.3/test/run @@ -29,14 +29,14 @@ wait_for_cron() { } docker_exec() { - docker-compose -f test/docker-compose.yml exec "${@}" + docker-compose exec "${@}" } run_action() { docker_exec "${1}" make "${@:2}" -f /usr/local/bin/actions.mk } -docker-compose -f test/docker-compose.yml up -d +docker-compose up -d run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 @@ -71,4 +71,4 @@ echo "OK" # Crond wait_for_cron -docker-compose -f test/docker-compose.yml down +docker-compose down diff --git a/5.6/Makefile b/5.6/Makefile index 8a49f2ba..558f3e23 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -45,7 +45,7 @@ build: ./ test: - IMAGE=$(REPO):$(TAG) ./test/run + cd ./test && IMAGE=$(REPO):$(TAG) ./run push: docker push $(REPO):$(TAG) diff --git a/5.6/test/run b/5.6/test/run index baf38e28..89c2b938 100755 --- a/5.6/test/run +++ b/5.6/test/run @@ -29,14 +29,14 @@ wait_for_cron() { } docker_exec() { - docker-compose -f test/docker-compose.yml exec "${@}" + docker-compose exec "${@}" } run_action() { docker_exec "${1}" make "${@:2}" -f /usr/local/bin/actions.mk } -docker-compose -f test/docker-compose.yml up -d +docker-compose up -d run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 @@ -71,4 +71,4 @@ echo "OK" # Crond wait_for_cron -docker-compose -f test/docker-compose.yml down +docker-compose down diff --git a/7/Makefile b/7/Makefile index 2599279a..d2a257f7 100644 --- a/7/Makefile +++ b/7/Makefile @@ -45,7 +45,7 @@ build: ./ test: - IMAGE=$(REPO):$(TAG) ./test/run + cd ./test && IMAGE=$(REPO):$(TAG) ./run push: docker push $(REPO):$(TAG) diff --git a/7/test/run b/7/test/run index baf38e28..89c2b938 100755 --- a/7/test/run +++ b/7/test/run @@ -29,14 +29,14 @@ wait_for_cron() { } docker_exec() { - docker-compose -f test/docker-compose.yml exec "${@}" + docker-compose exec "${@}" } run_action() { docker_exec "${1}" make "${@:2}" -f /usr/local/bin/actions.mk } -docker-compose -f test/docker-compose.yml up -d +docker-compose up -d run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 @@ -71,4 +71,4 @@ echo "OK" # Crond wait_for_cron -docker-compose -f test/docker-compose.yml down +docker-compose down From 26bc35867b1ae24addb2263ce47edeaac375a10e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 20 Feb 2018 13:15:41 +0700 Subject: [PATCH 107/559] Exit with code 0 if there's no wodby.yml --- 5.3/bin/actions.mk | 2 +- 5.6/bin/actions.mk | 2 +- 7/bin/actions.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.3/bin/actions.mk b/5.3/bin/actions.mk index 3c8dba8e..a4153cd0 100644 --- a/5.3/bin/actions.mk +++ b/5.3/bin/actions.mk @@ -39,7 +39,7 @@ files-link: files_link $(public_dir) walter: - test -f "$(APP_ROOT)/wodby.yml" && walter -c "$(APP_ROOT)/wodby.yml" + test ! -f "$(APP_ROOT)/wodby.yml" || walter -c "$(APP_ROOT)/wodby.yml" check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/5.6/bin/actions.mk b/5.6/bin/actions.mk index 3c8dba8e..a4153cd0 100644 --- a/5.6/bin/actions.mk +++ b/5.6/bin/actions.mk @@ -39,7 +39,7 @@ files-link: files_link $(public_dir) walter: - test -f "$(APP_ROOT)/wodby.yml" && walter -c "$(APP_ROOT)/wodby.yml" + test ! -f "$(APP_ROOT)/wodby.yml" || walter -c "$(APP_ROOT)/wodby.yml" check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) diff --git a/7/bin/actions.mk b/7/bin/actions.mk index 3c8dba8e..a4153cd0 100644 --- a/7/bin/actions.mk +++ b/7/bin/actions.mk @@ -39,7 +39,7 @@ files-link: files_link $(public_dir) walter: - test -f "$(APP_ROOT)/wodby.yml" && walter -c "$(APP_ROOT)/wodby.yml" + test ! -f "$(APP_ROOT)/wodby.yml" || walter -c "$(APP_ROOT)/wodby.yml" check-ready: wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) From 1fee24b2ed587e9b6fc06225923d3755877a2e02 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 22 Feb 2018 18:16:21 +0700 Subject: [PATCH 108/559] Update users info [skip ci] --- README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 04b93364..8937562c 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_FPM_PM_STATUS_PATH`] | | | | | | [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | | [`PHP_FPM_START_SERVERS`] | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | `php-fpm` | `php-fpm` | `php-fpm` | `php-fpm` | +| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_GEOIP_CUSTOM_DIR`] | | | | | | [`PHP_LOG_ERRORS_MAX_LEN`] | `1024` | `1024` | `1024` | `1024` | @@ -181,18 +181,18 @@ The default configuration is not recommended to be used for production environme #### Additional configuration -| Variable | Default value | -| --------------------------------- | -------------------- | -| `GIT_USER_EMAIL` | `www-data@example.com` | -| `GIT_USER_NAME` | `www-data` | -| `SSH_PRIVATE_KEY` | | -| `SSH_DISABLE_STRICT_KEY_CHECKING` | | -| `SSHD_GATEWAY_PORTS` | `no` | -| `SSHD_HOST_KEYS_DIR` | `/etc/ssh` | -| `SSHD_LOG_LEVEL` | `INFO` | -| `SSHD_PASSWORD_AUTHENTICATION` | `no` | -| `SSHD_PERMIT_USER_ENV` | `no` | -| `SSHD_USE_DNS` | `yes` | +| Variable | Default value | +| --------------------------------- | -------------------- | +| `GIT_USER_EMAIL` | `wodby@example.com` | +| `GIT_USER_NAME` | `wodby` | +| `SSH_PRIVATE_KEY` | | +| `SSH_DISABLE_STRICT_KEY_CHECKING` | | +| `SSHD_GATEWAY_PORTS` | `no` | +| `SSHD_HOST_KEYS_DIR` | `/etc/ssh` | +| `SSHD_LOG_LEVEL` | `INFO` | +| `SSHD_PASSWORD_AUTHENTICATION` | `no` | +| `SSHD_PERMIT_USER_ENV` | `no` | +| `SSHD_USE_DNS` | `yes` | ## PHP Extensions @@ -319,7 +319,7 @@ Extensions xdebug and blackfire disabled by default. Images with `-dev` tag have a few differences: -* `sudo` allowed for all commands for `www-data` user +* `sudo` allowed for all commands for `wodby` user * PHP source code available under `/usr/src/php.tar.xz` * `PHP_FPM_CLEAR_ENV` is set to `no` by default From 0ee787c31c47f0c9749cb38bea03517a216facd4 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 27 Feb 2018 15:44:45 +0700 Subject: [PATCH 109/559] Add newrelic additional options --- 5.6/templates/docker-php-ext-newrelic.ini.tpl | 12 +- 7/templates/docker-php-ext-newrelic.ini.tpl | 12 +- README.md | 174 +++++++++++------- 3 files changed, 131 insertions(+), 67 deletions(-) diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tpl b/5.6/templates/docker-php-ext-newrelic.ini.tpl index 0487cea9..c82a471a 100644 --- a/5.6/templates/docker-php-ext-newrelic.ini.tpl +++ b/5.6/templates/docker-php-ext-newrelic.ini.tpl @@ -2,4 +2,14 @@ extension = newrelic.so newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" -newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" \ No newline at end of file +newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" +newrelic.capture_params = {{ getenv "PHP_NEWRELIC_CAPTURE_PARAMS" "false" }} +newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" +newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" +newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} +newrelic.high_security = {{ getenv "PHP_NEWRELIC_HIGH_SECURITY" "false" }} +newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" +{{ if getenv "PHP_NEWRELIC_FRAMEWORK" }} +newrelic.framework = {{ getenv "PHP_NEWRELIC_FRAMEWORK" }} +{{ end }} +newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" diff --git a/7/templates/docker-php-ext-newrelic.ini.tpl b/7/templates/docker-php-ext-newrelic.ini.tpl index 0487cea9..c82a471a 100644 --- a/7/templates/docker-php-ext-newrelic.ini.tpl +++ b/7/templates/docker-php-ext-newrelic.ini.tpl @@ -2,4 +2,14 @@ extension = newrelic.so newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" -newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" \ No newline at end of file +newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" +newrelic.capture_params = {{ getenv "PHP_NEWRELIC_CAPTURE_PARAMS" "false" }} +newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" +newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" +newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} +newrelic.high_security = {{ getenv "PHP_NEWRELIC_HIGH_SECURITY" "false" }} +newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" +{{ if getenv "PHP_NEWRELIC_FRAMEWORK" }} +newrelic.framework = {{ getenv "PHP_NEWRELIC_FRAMEWORK" }} +{{ end }} +newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" diff --git a/README.md b/README.md index 8937562c..45a76f61 100644 --- a/README.md +++ b/README.md @@ -58,15 +58,20 @@ Supported tags and respective `Dockerfile` links: [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tpl -[7.2 opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache-7.2.ini.tpl -[7.1 opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache-7.1.ini.tpl -[7.0 opcache]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-opcache-7.0.ini.tpl -[5.6 opcache]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-opcache.ini.tpl -[7.x apcu]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-apcu.ini.tpl [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data +[`PHP_APCU_ENABLE_CLI`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enable-cli [`PHP_APCU_ENABLED`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enabled +[`PHP_APCU_ENTRIES_HINT`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.entries-hint +[`PHP_APCU_COREDUMP_UNMAP`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.coredump-unmap +[`PHP_APCU_GC_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.gc-ttl +[`PHP_APCU_PRELOAD_PATH`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.preload-path +[`PHP_APCU_SHM_SEGMENTS`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.shm-segments +[`PHP_APCU_SHM_SIZE`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.shm-size +[`PHP_APCU_SLAM_DEFENSE`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.slam-defense +[`PHP_APCU_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.ttl +[`PHP_APCU_USE_REQUEST_TIME`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.use-request-time [`PHP_ASSERT_ACTIVE`]: http://php.net/assert.active [`PHP_DATE_TIMEZONE`]: http://php.net/date.timezone [`PHP_DEFAULT_SOCKET_TIMEOUT`]: http://php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout @@ -85,7 +90,24 @@ Supported tags and respective `Dockerfile` links: [`PHP_MBSTRING_ENCODING_TRANSLATION`]: http://php.net/mbstring.encoding-translation [`PHP_MEMORY_LIMIT`]: http://php.net/memory-limit [`PHP_MYSQLI_CACHE_SIZE`]: http://php.net/mysqli.cache_size +[`PHP_NEWRELIC_APPNAME`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-appname +[`PHP_NEWRELIC_CAPTURE_PARAMS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-enabled +[`PHP_NEWRELIC_ENABLED`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-enabled +[`PHP_NEWRELIC_FRAMEWORK`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-framework +[`PHP_NEWRELIC_HIGH_SECURITY`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-high-security +[`PHP_NEWRELIC_IGNORED_PARAMS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-ignored_params +[`PHP_NEWRELIC_LABELS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-labels +[`PHP_NEWRELIC_LICENSE`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-license +[`PHP_NEWRELIC_LOGLEVEL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-loglevel +[`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-tt-detail [`PHP_OPCACHE_ENABLE`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable +[`PHP_OPCACHE_ENABLE_CLI`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable-cli +[`PHP_OPCACHE_FAST_SHUTDOWN`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.fast-shutdown +[`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.interned-strings-buffer +[`PHP_OPCACHE_MAX_ACCELERATED_FILES`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.max-accelerated-files +[`PHP_OPCACHE_MEMORY_CONSUMPTION`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.memory-consumption +[`PHP_OPCACHE_REVALIDATE_FREQ`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.revalidate-freq +[`PHP_OPCACHE_VALIDATE_TIMESTAMPS`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps [`PHP_OUTPUT_BUFFERING`]: http://php.net/output-buffering [`PHP_PDO_MYSQL_CACHE_SIZE`]: http://php.net/pdo_mysql.cache_size [`PHP_ZEND_ASSERTIONS`]: http://php.net/zend.assertions @@ -114,66 +136,88 @@ Supported tags and respective `Dockerfile` links: The default configuration is not recommended to be used for production environment: -| Variable | 7.2 | 7.1 | 7.0 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | -| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | -| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | - | -| _see all apcu ext options_ | [7.x apcu] | [7.x apcu] | [7.x apcu] | - | -| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | -| `PHP_BLACKFIRE` | | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | -| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | -| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | -| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | -| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | -| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | -| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | -| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | -| `PHP_FPM_ENV_VARS` | | | | | -| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | -| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | -| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | -| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | -| [`PHP_FPM_START_SERVERS`] | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `1024` | `1024` | `1024` | `1024` | -| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | -| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | -| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | -| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | -| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | -| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | -| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| `PHP_NEWRELIC_ENABLED` | - | `false` | `false` | `false` | -| `PHP_NEWRELIC_LICENSE` | - | | | | -| `PHP_NEWRELIC_APPNAME` | - | `My PHP app` | `My PHP app` | `My PHP app` | -| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | -| _see all opcache ext options_ | [7.2 opcache] | [7.1 opcache] | [7.0 opcache] | [5.6 opcache] | -| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | -| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | -| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_AUTO_START`] | `0` | `0` | `0` | `0` | -| [`PHP_TRACK_ERRORS`] | - | `On` | `On` | `On` | -| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | - | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | `0` | -| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | +| Variable | 7.2 | 7.1 | 7.0 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | +| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | +| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | +| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | +| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | +| `PHP_BLACKFIRE` | | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | +| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | +| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | | +| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | +| [`PHP_FPM_START_SERVERS`] | `2` | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | +| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | +| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `1024` | `1024` | `1024` | `1024` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | `My PHP app` | +| [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_ENABLED`] | `0` | `0` | `0` | `0` | +| [`PHP_NEWRELIC_FRAMEWORK`] | | | | | +| [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | | +| [`PHP_NEWRELIC_LABELS`] | | | | | +| [`PHP_NEWRELIC_LICENSE`] | | | | | +| [`PHP_NEWRELIC_LOGLEVEL`] | `info` | `info` | `info` | `info` | +| [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | +| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | +| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | +| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | +| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | +| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | `1` | `1` | `1` | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_AUTO_START`] | `0` | `0` | `0` | `0` | +| [`PHP_TRACK_ERRORS`] | - | `On` | `On` | `On` | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | - | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | `0` | +| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version From 3077833dfe274474b9ba2e7f18ed1bcb75946e2c Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 27 Feb 2018 15:45:06 +0700 Subject: [PATCH 110/559] opcache.enable_cli should be disabled by default --- 5.6/templates/docker-php-ext-opcache.ini.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.6/templates/docker-php-ext-opcache.ini.tpl b/5.6/templates/docker-php-ext-opcache.ini.tpl index 518b7d02..1c1e51b3 100644 --- a/5.6/templates/docker-php-ext-opcache.ini.tpl +++ b/5.6/templates/docker-php-ext-opcache.ini.tpl @@ -7,4 +7,4 @@ opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4 opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "1" }} \ No newline at end of file +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} \ No newline at end of file From bd92f483c1ad65e86932e30e8920991243220bf2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 27 Feb 2018 15:45:34 +0700 Subject: [PATCH 111/559] Do not use container to compare configs --- .travis.yml | 6 ------ 5.3/Makefile | 5 +---- 5.3/compare_orig_configs | 20 +++++++++++--------- 5.6/Makefile | 5 +---- 5.6/compare_orig_configs | 20 +++++++++++--------- 7/Makefile | 5 +---- 7/compare_orig_configs | 20 +++++++++++--------- 7 files changed, 36 insertions(+), 45 deletions(-) diff --git a/.travis.yml b/.travis.yml index 859ef4e9..06986dbc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,9 +36,3 @@ script: after_success: - bash "${TRAVIS_BUILD_DIR}/travis_release" - -notifications: - on_failure: never - slack: - secure: | - Z/uc2jwlK/Kf6WJRyWIcofKgq9kCau+/RMe0NZYbLTVY0cwqIIOfQvVqWwjIZZNly5wUx0w+XlXDVWD0JVeTJFr/TZxpCObUaMzC0hEj4D59LsDkZ509i07QvuSVBNCqXuHoiXM5Ea7UvJkRRNpVohwqUpoVQ18hQ5++kuTMHW//wtHfbM7k/tkI5S/lWm/RulIdA2/txIFB0UiRGlIcLNJCVVSDELAnyC7sugbMw02Gq6epnTtjjMJKWN/5PyCe3YtTo7mut9xIaRMkrSNtA/24HdzY1OjOjw5YTtgfIzq5vHipQtf49tqMj74BOUjq3y7noFwxHxhwtmK8UnzKgrDnBFO8A7d4yWnErHgmEga/LNoKY3TvtIvsv4lfRh0LKqXv4B48DTJXTxmUIEHsVpBBG+ec5LZqYcCq+aM8QdvB+9gCrE8e+5vJKAJfd+za0jCLqY+ooxslPblntNsWIbvYyvvMKdzUfjAs/F1TIynR7gXU58QykJo/i+3KjFN+JHfLF5wJ/E8jbZXhbrmFZOVTn0IOqP5jPzxVsR0X5YSHIBD2iOujUFwklQYnWFBFMtZtKaNkHF+/KE5SyKlcjr4+qmeD2+mjHnzN1pPzq8dHwyqugQt7kkOgLptrHp2a9nfuVDWYeL/cuhkosDvY4NaESOi25/+qhv2wVNL7LBs= \ No newline at end of file diff --git a/5.3/Makefile b/5.3/Makefile index 7e9144cd..a9557a65 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -69,9 +69,6 @@ clean: -docker rm -f $(NAME) compare-orig-configs: - docker run --rm \ - -v $(PWD)/compare_orig_configs:/usr/local/bin/compare_orig_configs \ - -v $(PWD)/orig:/orig \ - wodby/alpine compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + ./compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/5.3/compare_orig_configs b/5.3/compare_orig_configs index 18798a13..9557cd9d 100755 --- a/5.3/compare_orig_configs +++ b/5.3/compare_orig_configs @@ -12,28 +12,30 @@ php_ver_minor=$2 url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" array=( - "/orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" - "/orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" + "./orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" + "./orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" ) outdated=0 for index in "${array[@]}" ; do local="${index%%::*}" - remote="${index##*::}" + url="${index##*::}" - md5_local=$(cat "${local}" | md5sum) - md5_remote=$(wget -qO- "${remote}" | md5sum) + orig="/tmp/${RANDOM}" + wget -qO "${orig}" "${url}" echo "Checking ${local}" - if [[ "${md5_local}" != "${md5_remote}" ]]; then + if diff --strip-trailing-cr "${local}" "${orig}"; then + echo "OK" + else echo "!!! OUTDATED" - echo "${remote}" + echo "${url}" outdated=1 - else - echo "OK" fi + + rm -f "${orig}" done [[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file diff --git a/5.6/Makefile b/5.6/Makefile index 558f3e23..e34af7f2 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -69,9 +69,6 @@ clean: -docker rm -f $(NAME) compare-orig-configs: - docker run --rm \ - -v $(PWD)/compare_orig_configs:/usr/local/bin/compare_orig_configs \ - -v $(PWD)/orig:/orig \ - wodby/alpine compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + ./compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/5.6/compare_orig_configs b/5.6/compare_orig_configs index 18798a13..9557cd9d 100755 --- a/5.6/compare_orig_configs +++ b/5.6/compare_orig_configs @@ -12,28 +12,30 @@ php_ver_minor=$2 url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" array=( - "/orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" - "/orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" + "./orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" + "./orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" ) outdated=0 for index in "${array[@]}" ; do local="${index%%::*}" - remote="${index##*::}" + url="${index##*::}" - md5_local=$(cat "${local}" | md5sum) - md5_remote=$(wget -qO- "${remote}" | md5sum) + orig="/tmp/${RANDOM}" + wget -qO "${orig}" "${url}" echo "Checking ${local}" - if [[ "${md5_local}" != "${md5_remote}" ]]; then + if diff --strip-trailing-cr "${local}" "${orig}"; then + echo "OK" + else echo "!!! OUTDATED" - echo "${remote}" + echo "${url}" outdated=1 - else - echo "OK" fi + + rm -f "${orig}" done [[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file diff --git a/7/Makefile b/7/Makefile index d2a257f7..7d74c53a 100644 --- a/7/Makefile +++ b/7/Makefile @@ -69,9 +69,6 @@ clean: -docker rm -f $(NAME) compare-orig-configs: - docker run --rm \ - -v $(PWD)/compare_orig_configs:/usr/local/bin/compare_orig_configs \ - -v $(PWD)/orig:/orig \ - wodby/alpine compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + ./compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/7/compare_orig_configs b/7/compare_orig_configs index 18798a13..9557cd9d 100755 --- a/7/compare_orig_configs +++ b/7/compare_orig_configs @@ -12,28 +12,30 @@ php_ver_minor=$2 url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" array=( - "/orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" - "/orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" + "./orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" + "./orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" ) outdated=0 for index in "${array[@]}" ; do local="${index%%::*}" - remote="${index##*::}" + url="${index##*::}" - md5_local=$(cat "${local}" | md5sum) - md5_remote=$(wget -qO- "${remote}" | md5sum) + orig="/tmp/${RANDOM}" + wget -qO "${orig}" "${url}" echo "Checking ${local}" - if [[ "${md5_local}" != "${md5_remote}" ]]; then + if diff --strip-trailing-cr "${local}" "${orig}"; then + echo "OK" + else echo "!!! OUTDATED" - echo "${remote}" + echo "${url}" outdated=1 - else - echo "OK" fi + + rm -f "${orig}" done [[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file From cb01f3af8fd68ee9d5b8a2d4b6ab07996fddacd1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 27 Feb 2018 18:17:50 +0700 Subject: [PATCH 112/559] Update env vars table --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 45a76f61..5b58c6b6 100644 --- a/README.md +++ b/README.md @@ -189,7 +189,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | | [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | `My PHP app` | | [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_ENABLED`] | `0` | `0` | `0` | `0` | +| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | | [`PHP_NEWRELIC_FRAMEWORK`] | | | | | | [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | `false` | | [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | | From b7bca1d7748067b34c996f42cf23568447840dc8 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 1 Mar 2018 14:05:04 +0700 Subject: [PATCH 113/559] Update info about amqp version for 5.6 [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b58c6b6..29ea892d 100644 --- a/README.md +++ b/README.md @@ -264,7 +264,7 @@ The default configuration is not recommended to be used for production environme | Extension | 7.2 | 7.1 | 7.0 | 5.6 | | ---------------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.1 | +| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | | apc | - | - | - | - | | [apcu] | 5.1.10 | 5.1.10 | 5.1.10 | 4.0.11 | | [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | From 2bcd72c224cfda50143f42291f48f0d0e664ccf7 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 5 Mar 2018 16:27:05 +0700 Subject: [PATCH 114/559] Update PHP to 7.2.3, 7.1.15, 7.0.28, 5.6.34 --- .travis.yml | 8 ++++---- 5.6/Makefile | 2 +- 7/Makefile | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 06986dbc..a3d7b4b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,10 +6,10 @@ services: env: global: - LATEST_TAG=7.2 - - PHP72=7.2.2 - - PHP71=7.1.14 - - PHP70=7.0.27 - - PHP56=5.6.33 + - PHP72=7.2.3 + - PHP71=7.1.15 + - PHP70=7.0.28 + - PHP56=5.6.34 - PHP53=5.3.29 matrix: - TAG=7.2 PHP_VER="${PHP72}" EXTRA_TAG=7 diff --git a/5.6/Makefile b/5.6/Makefile index e34af7f2..36e2841a 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 5.6.33 +PHP_VER ?= 5.6.34 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php diff --git a/7/Makefile b/7/Makefile index 7d74c53a..17e1bbf4 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.2 +PHP_VER ?= 7.2.3 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From aca5e154d2072710b4a9bd5d7e789a1229ab1e75 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 5 Mar 2018 16:39:33 +0700 Subject: [PATCH 115/559] Update PostgreSQL client to 10.3 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 1fac79ab..bd2da5a0 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -38,7 +38,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBPNG_VER="1.6.34-r1" \ LIBXSLT_VER="1.1.31-r0" \ MARIADB_CLIENT_VER="10.1.28-r1" \ - POSTGRESQL_CLIENT_VER="10.2-r0" \ + POSTGRESQL_CLIENT_VER="10.3-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" diff --git a/7/Dockerfile b/7/Dockerfile index ee69c8de..8d51ad08 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -41,7 +41,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBPNG_VER="1.6.34-r1" \ LIBXSLT_VER="1.1.31-r0" \ MARIADB_CLIENT_VER="10.1.28-r1" \ - POSTGRESQL_CLIENT_VER="10.2-r0" \ + POSTGRESQL_CLIENT_VER="10.3-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" From 720aaef7242948e3d6ea0638a46d2a88886880aa Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 5 Mar 2018 17:21:07 +0700 Subject: [PATCH 116/559] Update test and info: sodium extension added in 7.2 --- 7/test/{php_modules => php_modules/7.0} | 0 7/test/php_modules/7.1 | 75 ++++++++++++++++++++++++ 7/test/php_modules/7.2 | 76 +++++++++++++++++++++++++ 7/test/tests | 2 +- README.md | 1 + 5 files changed, 153 insertions(+), 1 deletion(-) rename 7/test/{php_modules => php_modules/7.0} (100%) create mode 100644 7/test/php_modules/7.1 create mode 100644 7/test/php_modules/7.2 diff --git a/7/test/php_modules b/7/test/php_modules/7.0 similarity index 100% rename from 7/test/php_modules rename to 7/test/php_modules/7.0 diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 new file mode 100644 index 00000000..212c20f5 --- /dev/null +++ b/7/test/php_modules/7.1 @@ -0,0 +1,75 @@ +[PHP Modules] +amqp +apcu +ast +bcmath +blackfire +bz2 +calendar +Core +ctype +curl +date +dom +ds +exif +fileinfo +filter +ftp +gd +geoip +grpc +hash +iconv +imagick +imap +intl +json +ldap +libxml +mbstring +mcrypt +memcached +mongodb +mysqli +mysqlnd +newrelic +OAuth +openssl +pcntl +pcre +PDO +pdo_mysql +pdo_pgsql +pdo_sqlite +pgsql +Phar +posix +readline +redis +Reflection +session +SimpleXML +soap +sockets +SPL +sqlite3 +standard +tokenizer +uploadprogress +xdebug +xml +xmlreader +xmlrpc +xmlwriter +xsl +yaml +Zend OPcache +zip +zlib + +[Zend Modules] +Xdebug +Zend OPcache +blackfire + diff --git a/7/test/php_modules/7.2 b/7/test/php_modules/7.2 new file mode 100644 index 00000000..3201f1fa --- /dev/null +++ b/7/test/php_modules/7.2 @@ -0,0 +1,76 @@ +[PHP Modules] +amqp +apcu +ast +bcmath +blackfire +bz2 +calendar +Core +ctype +curl +date +dom +ds +exif +fileinfo +filter +ftp +gd +geoip +grpc +hash +iconv +imagick +imap +intl +json +ldap +libxml +mbstring +mcrypt +memcached +mongodb +mysqli +mysqlnd +newrelic +OAuth +openssl +pcntl +pcre +PDO +pdo_mysql +pdo_pgsql +pdo_sqlite +pgsql +Phar +posix +readline +redis +Reflection +session +SimpleXML +soap +sockets +sodium +SPL +sqlite3 +standard +tokenizer +uploadprogress +xdebug +xml +xmlreader +xmlrpc +xmlwriter +xsl +yaml +Zend OPcache +zip +zlib + +[Zend Modules] +Xdebug +Zend OPcache +blackfire + diff --git a/7/test/tests b/7/test/tests index 86ce8c44..b103ebeb 100755 --- a/7/test/tests +++ b/7/test/tests @@ -10,7 +10,7 @@ php -m > ~/php_modules.tmp echo -n "Checking PHP modules... " # Modify copy, keep the mounted version untouched. -cp ~/php_modules ~/expected_modules +cp ~/php_modules/"${PHP_VERSION:0:3}" ~/expected_modules if [[ -n "${PHP_DEBUG}" ]]; then sed -i '/blackfire/d' ~/expected_modules diff --git a/README.md b/README.md index 29ea892d..5618cb3c 100644 --- a/README.md +++ b/README.md @@ -321,6 +321,7 @@ The default configuration is not recommended to be used for production environme | SimpleXML | | | | | | soap | | | | | | sockets | | | | | +| sodium | | - | - | - | | SPL | | | | | | SQLite | - | - | - | - | | sqlite3 | | | | | From 59e73c20497ed0faec2863765234c336911f9e0b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 6 Mar 2018 13:51:50 +0700 Subject: [PATCH 117/559] Make wodby uid/gid configurable via build params https://github.com/wodby/php/issues/22#issuecomment-370675081 --- 5.3/Dockerfile | 13 +++++++++++-- 5.3/Makefile | 5 +++++ 5.6/Dockerfile | 13 +++++++++++-- 5.6/Makefile | 5 +++++ 7/Dockerfile | 13 +++++++++++-- 7/Makefile | 5 +++++ 6 files changed, 48 insertions(+), 6 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 5a8aa0e2..a00eeffc 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -4,6 +4,9 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV +ARG WODBY_USER_ID=1000 +ARG WODBY_GROUP_ID=1000 + ENV PHP_DEV="${PHP_DEV}" \ SSHD_PERMIT_USER_ENV="yes" \ RABBITMQ_C_VER="0.8.0" \ @@ -31,8 +34,14 @@ ENV PHP_DEV="${PHP_DEV}" \ RUN set -xe; \ \ - addgroup -g 1000 -S wodby; \ - adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ + # Delete existing user/group if uid/gid occupied. + existing_group=$(getent group "${WODBY_GROUP_ID}" | cut -d: -f1); \ + if [[ -n "${existing_group}" ]]; then delgroup "${existing_group}"; fi; \ + existing_user=$(getent passwd "${WODBY_USER_ID}" | cut -d: -f1); \ + if [[ -n "${existing_user}" ]]; then deluser "${existing_user}"; fi; \ + \ + addgroup -g "${WODBY_GROUP_ID}" -S wodby; \ + adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ diff --git a/5.3/Makefile b/5.3/Makefile index a9557a65..da87c41c 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -7,6 +7,9 @@ REPO = wodby/php NAME = php-$(PHP_VER_MINOR) FROM_TAG = $(PHP_VER) +WODBY_USER_ID ?= 1000 +WODBY_GROUP_ID ?= 1000 + ifeq ($(TAG),) ifneq ($(PHP_DEBUG),) TAG ?= $(PHP_VER_MINOR)-debug @@ -42,6 +45,8 @@ build: --build-arg FROM_TAG=$(FROM_TAG) \ --build-arg PHP_DEV=$(PHP_DEV) \ --build-arg PHP_DEBUG=$(PHP_DEBUG) \ + --build-arg WODBY_USER_ID=$(WODBY_USER_ID) \ + --build-arg WODBY_GROUP_ID=$(WODBY_GROUP_ID) \ ./ test: diff --git a/5.6/Dockerfile b/5.6/Dockerfile index bd2da5a0..cfab0549 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -5,6 +5,9 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV ARG PHP_DEBUG +ARG WODBY_USER_ID=1000 +ARG WODBY_GROUP_ID=1000 + ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ @@ -53,8 +56,14 @@ ENV APP_ROOT="/var/www/html" \ RUN set -xe; \ \ - addgroup -g 1000 -S wodby; \ - adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ + # Delete existing user/group if uid/gid occupied. + existing_group=$(getent group "${WODBY_GROUP_ID}" | cut -d: -f1); \ + if [[ -n "${existing_group}" ]]; then delgroup "${existing_group}"; fi; \ + existing_user=$(getent passwd "${WODBY_USER_ID}" | cut -d: -f1); \ + if [[ -n "${existing_user}" ]]; then deluser "${existing_user}"; fi; \ + \ + addgroup -g "${WODBY_GROUP_ID}" -S wodby; \ + adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ diff --git a/5.6/Makefile b/5.6/Makefile index 36e2841a..d5e58618 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -7,6 +7,9 @@ REPO = wodby/php NAME = php-$(PHP_VER_MINOR) FROM_TAG = $(PHP_VER) +WODBY_USER_ID ?= 1000 +WODBY_GROUP_ID ?= 1000 + ifeq ($(TAG),) ifneq ($(PHP_DEBUG),) TAG ?= $(PHP_VER_MINOR)-debug @@ -42,6 +45,8 @@ build: --build-arg FROM_TAG=$(FROM_TAG) \ --build-arg PHP_DEV=$(PHP_DEV) \ --build-arg PHP_DEBUG=$(PHP_DEBUG) \ + --build-arg WODBY_USER_ID=$(WODBY_USER_ID) \ + --build-arg WODBY_GROUP_ID=$(WODBY_GROUP_ID) \ ./ test: diff --git a/7/Dockerfile b/7/Dockerfile index 8d51ad08..0e47f422 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -5,6 +5,9 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV ARG PHP_DEBUG +ARG WODBY_USER_ID=1000 +ARG WODBY_GROUP_ID=1000 + ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ @@ -56,8 +59,14 @@ ENV APP_ROOT="/var/www/html" \ RUN set -xe; \ \ - addgroup -g 1000 -S wodby; \ - adduser -u 1000 -D -S -s /bin/bash -G wodby wodby; \ + # Delete existing user/group if uid/gid occupied. + existing_group=$(getent group "${WODBY_GROUP_ID}" | cut -d: -f1); \ + if [[ -n "${existing_group}" ]]; then delgroup "${existing_group}"; fi; \ + existing_user=$(getent passwd "${WODBY_USER_ID}" | cut -d: -f1); \ + if [[ -n "${existing_user}" ]]; then deluser "${existing_user}"; fi; \ + \ + addgroup -g "${WODBY_GROUP_ID}" -S wodby; \ + adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ diff --git a/7/Makefile b/7/Makefile index 17e1bbf4..0da60daf 100644 --- a/7/Makefile +++ b/7/Makefile @@ -7,6 +7,9 @@ REPO = wodby/php NAME = php-$(PHP_VER_MINOR) FROM_TAG = $(PHP_VER) +WODBY_USER_ID ?= 1000 +WODBY_GROUP_ID ?= 1000 + ifeq ($(TAG),) ifneq ($(PHP_DEBUG),) TAG ?= $(PHP_VER_MINOR)-debug @@ -42,6 +45,8 @@ build: --build-arg FROM_TAG=$(FROM_TAG) \ --build-arg PHP_DEV=$(PHP_DEV) \ --build-arg PHP_DEBUG=$(PHP_DEBUG) \ + --build-arg WODBY_USER_ID=$(WODBY_USER_ID) \ + --build-arg WODBY_GROUP_ID=$(WODBY_GROUP_ID) \ ./ test: From 7111a3b24263231006997f9571012a1ee57887de Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 6 Mar 2018 13:52:21 +0700 Subject: [PATCH 118/559] Add -dev-macos version of images with 501:20 uid/gid matching macOS default user https://github.com/wodby/php/issues/22#issuecomment-370675081 --- .travis.yml | 5 +++++ README.md | 41 +++++++++++++++++++++++++++++------------ 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index a3d7b4b3..5be6b3fc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,11 @@ env: - TAG=7.0-dev PHP_VER="${PHP70}" PHP_DEV=1 - TAG=5.6-dev PHP_VER="${PHP56}" PHP_DEV=1 EXTRA_TAG=5-dev - TAG=5.3-dev PHP_VER="${PHP53}" PHP_DEV=1 + - TAG=7.2-dev-macos PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 EXTRA_TAG=7-dev-macos + - TAG=7.1-dev-macos PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 + - TAG=7.0-dev-macos PHP_VER="${PHP70}" PHP_DEV=1 WODBY_USER_ID=501 + - TAG=5.6-dev-macos PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 EXTRA_TAG=5-dev-macos + - TAG=5.3-dev-macos PHP_VER="${PHP53}" PHP_DEV=1 WODBY_USER_ID=501 - TAG=7.2-debug PHP_VER="${PHP72}" PHP_DEBUG=1 EXTRA_TAG=7-debug - TAG=7.1-debug PHP_VER="${PHP71}" PHP_DEBUG=1 - TAG=7.0-debug PHP_VER="${PHP70}" PHP_DEBUG=1 diff --git a/README.md b/README.md index 5618cb3c..5edc94aa 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,12 @@ * [Environment Variables](#environment-variables) * [PHP and PHP-FPM configuration](#php-and-php-fpm-configuration) * [Additional configuration](#additional-configuration) +* [Build arguments](#build-arguments) * [PHP Extensions](#php-extensions) * [Tools](#tools) * [Global Composer Packages](#global-composer-packages) * [`-dev` images](#-dev-images) +* [`-dev-macos` images](#-dev-macos-images) * [`-debug` images](#-debug-images) * [Users and permissions](#users-and-permissions) * [Complete PHP stack](#complete-php-stack) @@ -225,18 +227,29 @@ The default configuration is not recommended to be used for production environme #### Additional configuration -| Variable | Default value | -| --------------------------------- | -------------------- | -| `GIT_USER_EMAIL` | `wodby@example.com` | -| `GIT_USER_NAME` | `wodby` | -| `SSH_PRIVATE_KEY` | | -| `SSH_DISABLE_STRICT_KEY_CHECKING` | | -| `SSHD_GATEWAY_PORTS` | `no` | -| `SSHD_HOST_KEYS_DIR` | `/etc/ssh` | -| `SSHD_LOG_LEVEL` | `INFO` | -| `SSHD_PASSWORD_AUTHENTICATION` | `no` | -| `SSHD_PERMIT_USER_ENV` | `no` | -| `SSHD_USE_DNS` | `yes` | +| Variable | Default value | +| --------------------------------- | ------------------- | +| `GIT_USER_EMAIL` | `wodby@example.com` | +| `GIT_USER_NAME` | `wodby` | +| `SSH_PRIVATE_KEY` | | +| `SSH_DISABLE_STRICT_KEY_CHECKING` | | +| `SSHD_GATEWAY_PORTS` | `no` | +| `SSHD_HOST_KEYS_DIR` | `/etc/ssh` | +| `SSHD_LOG_LEVEL` | `INFO` | +| `SSHD_PASSWORD_AUTHENTICATION` | `no` | +| `SSHD_PERMIT_USER_ENV` | `no` | +| `SSHD_USE_DNS` | `yes` | + +## Build arguments + +| Argument | Default value | +| ---------------- | ------------- | +| `PHP_DEV` | | +| `PHP_DEBUG` | | +| `WODBY_GROUP_ID` | `1000` | +| `WODBY_USER_ID` | `1000` | + +Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of images, if it matches with existing system user/group ids the latter will be deleted. ## PHP Extensions @@ -368,6 +381,10 @@ Images with `-dev` tag have a few differences: * PHP source code available under `/usr/src/php.tar.xz` * `PHP_FPM_CLEAR_ENV` is set to `no` by default +## `-dev-macos` Images + +Same as `-dev` but the default user/group `wodby` has uid/gid `501`/`20` to match the macOS default user/group ids. + ## `-debug` Images Include all changes from `-dev` images and additionally: From f3fa01ac21094b04fc358044f89bf8890c15b12f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 6 Mar 2018 13:55:00 +0700 Subject: [PATCH 119/559] Update list of supported tags --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 5edc94aa..59fcef8c 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,11 @@ Supported tags and respective `Dockerfile` links: * `7.0-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `5-dev`, `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) * `5.3-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) +* `7-dev-macos`, `7.2-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.1-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `7.0-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) +* `5-dev-macos`, `5.6-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) +* `5.3-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) * `7-debug`, `7.2-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) * `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) From d63702b3d7c89c4a1b2251e36e2a65973983593a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 6 Mar 2018 14:10:43 +0700 Subject: [PATCH 120/559] Create ~/.ssh dir for www-data --- 5.3/Dockerfile | 5 +++-- 5.6/Dockerfile | 5 +++-- 7/Dockerfile | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index a00eeffc..1cf531f1 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -236,10 +236,11 @@ RUN set -xe; \ "${FILES_DIR}/private" \ "${FILES_DIR}/xdebug/traces" \ "${FILES_DIR}/xdebug/profiler" \ - /home/wodby/.ssh; \ + /home/wodby/.ssh \ + /home/www-data/.ssh; \ \ chmod -R 775 "${FILES_DIR}"; \ - chown -R www-data:www-data "${FILES_DIR}"; \ + chown -R www-data:www-data "${FILES_DIR}" /home/www-data/.ssh; \ chown -R wodby:wodby \ "${APP_ROOT}" \ "${CONF_DIR}" \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index cfab0549..09dfd0d8 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -261,10 +261,11 @@ RUN set -xe; \ "${FILES_DIR}/private" \ "${FILES_DIR}/xdebug/traces" \ "${FILES_DIR}/xdebug/profiler" \ - /home/wodby/.ssh; \ + /home/wodby/.ssh \ + /home/www-data/.ssh; \ \ chmod -R 775 "${FILES_DIR}"; \ - chown -R www-data:www-data "${FILES_DIR}"; \ + chown -R www-data:www-data "${FILES_DIR}" /home/www-data/.ssh; \ chown -R wodby:wodby \ "${APP_ROOT}" \ "${CONF_DIR}" \ diff --git a/7/Dockerfile b/7/Dockerfile index 0e47f422..c1c24627 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -284,10 +284,11 @@ RUN set -xe; \ "${FILES_DIR}/private" \ "${FILES_DIR}/xdebug/traces" \ "${FILES_DIR}/xdebug/profiler" \ - /home/wodby/.ssh; \ + /home/wodby/.ssh \ + /home/www-data/.ssh; \ \ chmod -R 775 "${FILES_DIR}"; \ - chown -R www-data:www-data "${FILES_DIR}"; \ + chown -R www-data:www-data "${FILES_DIR}" /home/www-data/.ssh; \ chown -R wodby:wodby \ "${APP_ROOT}" \ "${CONF_DIR}" \ From 59af952883c3aef868400d8544f614a3d160f0b8 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 7 Mar 2018 21:03:28 +0700 Subject: [PATCH 121/559] Set group id to 20 for -dev-macos images --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5be6b3fc..5da64f77 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,11 +22,11 @@ env: - TAG=7.0-dev PHP_VER="${PHP70}" PHP_DEV=1 - TAG=5.6-dev PHP_VER="${PHP56}" PHP_DEV=1 EXTRA_TAG=5-dev - TAG=5.3-dev PHP_VER="${PHP53}" PHP_DEV=1 - - TAG=7.2-dev-macos PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 EXTRA_TAG=7-dev-macos - - TAG=7.1-dev-macos PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 - - TAG=7.0-dev-macos PHP_VER="${PHP70}" PHP_DEV=1 WODBY_USER_ID=501 - - TAG=5.6-dev-macos PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 EXTRA_TAG=5-dev-macos - - TAG=5.3-dev-macos PHP_VER="${PHP53}" PHP_DEV=1 WODBY_USER_ID=501 + - TAG=7.2-dev-macos PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 EXTRA_TAG=7-dev-macos + - TAG=7.1-dev-macos PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 + - TAG=7.0-dev-macos PHP_VER="${PHP70}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 + - TAG=5.6-dev-macos PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 EXTRA_TAG=5-dev-macos + - TAG=5.3-dev-macos PHP_VER="${PHP53}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 - TAG=7.2-debug PHP_VER="${PHP72}" PHP_DEBUG=1 EXTRA_TAG=7-debug - TAG=7.1-debug PHP_VER="${PHP71}" PHP_DEBUG=1 - TAG=7.0-debug PHP_VER="${PHP70}" PHP_DEBUG=1 From a6169d343ddbc46a5fe596adcfa62f962fb03c44 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 7 Mar 2018 21:07:07 +0700 Subject: [PATCH 122/559] Update libmemcached-libs --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 09dfd0d8..85a40433 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -36,7 +36,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ LIBLTDL_VER="2.4.6-r4" \ - LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ + LIBMEMCACHED_LIBS_VER="1.0.18-r2" \ LIBMCRYPT_VER="2.5.8-r7" \ LIBPNG_VER="1.6.34-r1" \ LIBXSLT_VER="1.1.31-r0" \ diff --git a/7/Dockerfile b/7/Dockerfile index c1c24627..16d4372f 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -39,7 +39,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ LIBLTDL_VER="2.4.6-r4" \ - LIBMEMCACHED_LIBS_VER="1.0.18-r1" \ + LIBMEMCACHED_LIBS_VER="1.0.18-r2" \ LIBMCRYPT_VER="2.5.8-r7" \ LIBPNG_VER="1.6.34-r1" \ LIBXSLT_VER="1.1.31-r0" \ From f26afcfcef99f92ade6a27fface74dcfde0ae075 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Mar 2018 17:53:04 +0700 Subject: [PATCH 123/559] Run crontab from www-data user --- 5.3/Dockerfile | 6 +++--- 5.3/docker-entrypoint.sh | 2 +- 5.6/Dockerfile | 6 +++--- 5.6/docker-entrypoint.sh | 2 +- 7/Dockerfile | 6 +++--- 7/docker-entrypoint.sh | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 1cf531f1..0b2aea02 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -254,9 +254,9 @@ RUN set -xe; \ \ # Crontab rm /etc/crontabs/root; \ - touch /etc/crontabs/wodby; \ - chown root:wodby /etc/crontabs/wodby; \ - chmod 660 /etc/crontabs/wodby; \ + touch /etc/crontabs/www-data; \ + chown root:www-data /etc/crontabs/www-data; \ + chmod 660 /etc/crontabs/www-data; \ \ # Cleanup su-exec wodby composer clear-cache; \ diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 69b03a1c..ef7ec096 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -47,7 +47,7 @@ init_sshd() { } init_crond() { - _gotpl "crontab.tpl" "/etc/crontabs/wodby" + _gotpl "crontab.tpl" "/etc/crontabs/www-data" } process_templates() { diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 85a40433..7535b200 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -279,9 +279,9 @@ RUN set -xe; \ \ # Crontab rm /etc/crontabs/root; \ - touch /etc/crontabs/wodby; \ - chown root:wodby /etc/crontabs/wodby; \ - chmod 660 /etc/crontabs/wodby; \ + touch /etc/crontabs/www-data; \ + chown root:www-data /etc/crontabs/www-data; \ + chmod 660 /etc/crontabs/www-data; \ \ # Cleanup su-exec wodby composer clear-cache; \ diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index eaad0736..f6bbc985 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -47,7 +47,7 @@ init_sshd() { } init_crond() { - _gotpl "crontab.tpl" "/etc/crontabs/wodby" + _gotpl "crontab.tpl" "/etc/crontabs/www-data" } process_templates() { diff --git a/7/Dockerfile b/7/Dockerfile index 16d4372f..1f2fd060 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -302,9 +302,9 @@ RUN set -xe; \ \ # Crontab rm /etc/crontabs/root; \ - touch /etc/crontabs/wodby; \ - chown root:wodby /etc/crontabs/wodby; \ - chmod 660 /etc/crontabs/wodby; \ + touch /etc/crontabs/www-data; \ + chown root:www-data /etc/crontabs/www-data; \ + chmod 660 /etc/crontabs/www-data; \ \ # Cleanup su-exec wodby composer clear-cache; \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 5e21b0ac..130bf1d5 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -47,7 +47,7 @@ init_sshd() { } init_crond() { - _gotpl "crontab.tpl" "/etc/crontabs/wodby" + _gotpl "crontab.tpl" "/etc/crontabs/www-data" } process_templates() { From 13fb5ae1664fde3a7e62fdb58b8eaad20fda489a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Mar 2018 18:03:57 +0700 Subject: [PATCH 124/559] Update tests for crond running from www-data --- 5.3/test/docker-compose.yml | 2 +- 5.3/test/run | 2 +- 5.6/test/docker-compose.yml | 2 +- 5.6/test/run | 2 +- 7/test/docker-compose.yml | 2 +- 7/test/run | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/5.3/test/docker-compose.yml b/5.3/test/docker-compose.yml index 6d2f184f..072804ba 100644 --- a/5.3/test/docker-compose.yml +++ b/5.3/test/docker-compose.yml @@ -84,6 +84,6 @@ services: CRONTAB_ENV: test CRONTAB: |- # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /home/wodby/cron + */1 * * * * echo "$${CRONTAB_ENV}" > /mnt/files/cron depends_on: - sshd diff --git a/5.3/test/run b/5.3/test/run index 89c2b938..de1d48d1 100755 --- a/5.3/test/run +++ b/5.3/test/run @@ -12,7 +12,7 @@ wait_for_cron() { executed=0 for i in $(seq 1 13); do - if docker_exec crond cat /home/wodby/cron | grep -q "test"; then + if docker_exec crond cat /mnt/files/cron | grep -q "test"; then executed=1 break fi diff --git a/5.6/test/docker-compose.yml b/5.6/test/docker-compose.yml index 0b380268..af3a0c3d 100644 --- a/5.6/test/docker-compose.yml +++ b/5.6/test/docker-compose.yml @@ -84,6 +84,6 @@ services: CRONTAB_ENV: test CRONTAB: |- # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /home/wodby/cron + */1 * * * * echo "$${CRONTAB_ENV}" > /mnt/files/cron depends_on: - sshd diff --git a/5.6/test/run b/5.6/test/run index 89c2b938..de1d48d1 100755 --- a/5.6/test/run +++ b/5.6/test/run @@ -12,7 +12,7 @@ wait_for_cron() { executed=0 for i in $(seq 1 13); do - if docker_exec crond cat /home/wodby/cron | grep -q "test"; then + if docker_exec crond cat /mnt/files/cron | grep -q "test"; then executed=1 break fi diff --git a/7/test/docker-compose.yml b/7/test/docker-compose.yml index 52333b85..d9b2f68c 100644 --- a/7/test/docker-compose.yml +++ b/7/test/docker-compose.yml @@ -85,6 +85,6 @@ services: CRONTAB_ENV: test CRONTAB: |- # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /home/wodby/cron + */1 * * * * echo "$${CRONTAB_ENV}" > /mnt/files/cron depends_on: - sshd diff --git a/7/test/run b/7/test/run index 89c2b938..de1d48d1 100755 --- a/7/test/run +++ b/7/test/run @@ -12,7 +12,7 @@ wait_for_cron() { executed=0 for i in $(seq 1 13); do - if docker_exec crond cat /home/wodby/cron | grep -q "test"; then + if docker_exec crond cat /mnt/files/cron | grep -q "test"; then executed=1 break fi From 4e1ff0a0eea8dcd086b8a964e4c8e4c8ffc55949 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Mar 2018 18:09:33 +0700 Subject: [PATCH 125/559] Remove duplications from $PATH for wodby user --- 5.3/Dockerfile | 4 ++-- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 0b2aea02..694355a9 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -203,8 +203,8 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Add composer bins to $PATH - su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ + # Make sure PATH is correct for drush ssh. + su-exec wodby echo "export PATH=${PATH}" > /home/wodby/.profile; \ \ # Configure sudoers { \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 7535b200..35c24a2f 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -228,8 +228,8 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Add composer bins to $PATH - su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ + # Make sure PATH is correct for drush ssh. + su-exec wodby echo "export PATH=${PATH}" > /home/wodby/.profile; \ \ # Configure sudoers { \ diff --git a/7/Dockerfile b/7/Dockerfile index 1f2fd060..8be2a51b 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -251,8 +251,8 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Add composer bins to $PATH - su-exec wodby echo "export PATH=/home/wodby/.composer/vendor/bin:${PATH}" > /home/wodby/.profile; \ + # Make sure PATH is correct for drush ssh. + su-exec wodby echo "export PATH=${PATH}" > /home/wodby/.profile; \ \ # Configure sudoers { \ From d70028b7c2657fc3fed8ddf317df975c9100056e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Mar 2018 18:36:30 +0700 Subject: [PATCH 126/559] Use ug=rwX,o=rX for files_chmod script --- 5.3/bin/files_chmod | 2 +- 5.6/bin/files_chmod | 2 +- 7/bin/files_chmod | 2 +- README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/5.3/bin/files_chmod b/5.3/bin/files_chmod index fd8217c1..f62a05e6 100755 --- a/5.3/bin/files_chmod +++ b/5.3/bin/files_chmod @@ -9,7 +9,7 @@ fi dir=$1 if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then - chmod -R 775 "${dir}" + chmod -R ug=rwX,o=rX "${dir}" else echo "Only dir/files under ${FILES_DIR} allowed" exit 1 diff --git a/5.6/bin/files_chmod b/5.6/bin/files_chmod index fd8217c1..f62a05e6 100755 --- a/5.6/bin/files_chmod +++ b/5.6/bin/files_chmod @@ -9,7 +9,7 @@ fi dir=$1 if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then - chmod -R 775 "${dir}" + chmod -R ug=rwX,o=rX "${dir}" else echo "Only dir/files under ${FILES_DIR} allowed" exit 1 diff --git a/7/bin/files_chmod b/7/bin/files_chmod index fd8217c1..f62a05e6 100755 --- a/7/bin/files_chmod +++ b/7/bin/files_chmod @@ -9,7 +9,7 @@ fi dir=$1 if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then - chmod -R 775 "${dir}" + chmod -R ug=rwX,o=rX "${dir}" else echo "Only dir/files under ${FILES_DIR} allowed" exit 1 diff --git a/README.md b/README.md index 59fcef8c..a1be9f37 100644 --- a/README.md +++ b/README.md @@ -405,7 +405,7 @@ Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM runs from `www Codebase volume `$APP_ROOT` (`/var/www/html`) owned by `wodby:wodby`. -Files volume `$FILES_DIR` (`/mnt/files`) owned by `www-data:www-data` with `775` mode. In case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo files_chmod [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `775`. +Files volume `$FILES_DIR` (`/mnt/files`) owned by `www-data:www-data` with `775` mode. In case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo files_chmod [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `ug=rwX,o=rX`. See https://github.com/wodby/php/issues/22 for more details. From 2424ec03c2439b73f9e5b717aa1329f5db5f5258 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 16 Mar 2018 14:07:01 +0700 Subject: [PATCH 127/559] Improve error reporting for not empty public storage dir --- 5.3/bin/files_link | 3 ++- 5.6/bin/files_link | 3 ++- 7/bin/files_link | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/5.3/bin/files_link b/5.3/bin/files_link index b64ceac0..01d9e968 100755 --- a/5.3/bin/files_link +++ b/5.3/bin/files_link @@ -15,7 +15,8 @@ if [[ -n "${app_public_dir}" ]]; then if [[ -d "${app_public_dir}" ]]; then if [[ ! -L "${app_public_dir}" ]]; then if [[ "$(ls -A "${app_public_dir}")" ]]; then - echo "Error: directory is not empty, it can not be under version control or must be empty." + echo "Error: directory ${app_public_dir} is not empty" + echo "It can not be under version control or must be empty." exit 1 # If dir is not symlink and empty, remove it and link. else diff --git a/5.6/bin/files_link b/5.6/bin/files_link index b64ceac0..01d9e968 100755 --- a/5.6/bin/files_link +++ b/5.6/bin/files_link @@ -15,7 +15,8 @@ if [[ -n "${app_public_dir}" ]]; then if [[ -d "${app_public_dir}" ]]; then if [[ ! -L "${app_public_dir}" ]]; then if [[ "$(ls -A "${app_public_dir}")" ]]; then - echo "Error: directory is not empty, it can not be under version control or must be empty." + echo "Error: directory ${app_public_dir} is not empty" + echo "It can not be under version control or must be empty." exit 1 # If dir is not symlink and empty, remove it and link. else diff --git a/7/bin/files_link b/7/bin/files_link index b64ceac0..01d9e968 100755 --- a/7/bin/files_link +++ b/7/bin/files_link @@ -15,7 +15,8 @@ if [[ -n "${app_public_dir}" ]]; then if [[ -d "${app_public_dir}" ]]; then if [[ ! -L "${app_public_dir}" ]]; then if [[ "$(ls -A "${app_public_dir}")" ]]; then - echo "Error: directory is not empty, it can not be under version control or must be empty." + echo "Error: directory ${app_public_dir} is not empty" + echo "It can not be under version control or must be empty." exit 1 # If dir is not symlink and empty, remove it and link. else From ac484a1c90a2f8572188aef9e77b1bce9f9e3502 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 19 Mar 2018 14:16:42 +0700 Subject: [PATCH 128/559] Improve public dir symlink error message --- 5.3/bin/files_link | 5 +++-- 5.6/bin/files_link | 5 +++-- 7/bin/files_link | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/5.3/bin/files_link b/5.3/bin/files_link index 01d9e968..037799db 100755 --- a/5.3/bin/files_link +++ b/5.3/bin/files_link @@ -15,8 +15,9 @@ if [[ -n "${app_public_dir}" ]]; then if [[ -d "${app_public_dir}" ]]; then if [[ ! -L "${app_public_dir}" ]]; then if [[ "$(ls -A "${app_public_dir}")" ]]; then - echo "Error: directory ${app_public_dir} is not empty" - echo "It can not be under version control or must be empty." + echo "Error: failed to symlink public storage directory to a persistent volume" + echo "Directory ${app_public_dir} must not exists or be empty" + echo "(use files import to migrate existing public files)" exit 1 # If dir is not symlink and empty, remove it and link. else diff --git a/5.6/bin/files_link b/5.6/bin/files_link index 01d9e968..037799db 100755 --- a/5.6/bin/files_link +++ b/5.6/bin/files_link @@ -15,8 +15,9 @@ if [[ -n "${app_public_dir}" ]]; then if [[ -d "${app_public_dir}" ]]; then if [[ ! -L "${app_public_dir}" ]]; then if [[ "$(ls -A "${app_public_dir}")" ]]; then - echo "Error: directory ${app_public_dir} is not empty" - echo "It can not be under version control or must be empty." + echo "Error: failed to symlink public storage directory to a persistent volume" + echo "Directory ${app_public_dir} must not exists or be empty" + echo "(use files import to migrate existing public files)" exit 1 # If dir is not symlink and empty, remove it and link. else diff --git a/7/bin/files_link b/7/bin/files_link index 01d9e968..037799db 100755 --- a/7/bin/files_link +++ b/7/bin/files_link @@ -15,8 +15,9 @@ if [[ -n "${app_public_dir}" ]]; then if [[ -d "${app_public_dir}" ]]; then if [[ ! -L "${app_public_dir}" ]]; then if [[ "$(ls -A "${app_public_dir}")" ]]; then - echo "Error: directory ${app_public_dir} is not empty" - echo "It can not be under version control or must be empty." + echo "Error: failed to symlink public storage directory to a persistent volume" + echo "Directory ${app_public_dir} must not exists or be empty" + echo "(use files import to migrate existing public files)" exit 1 # If dir is not symlink and empty, remove it and link. else From d54a7fedec018476e52f8c6a56241d3e9ea78151 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 22 Mar 2018 12:45:28 +0700 Subject: [PATCH 129/559] Update grpc extension to 1.10.0 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 8be2a51b..0cc69177 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -19,7 +19,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_AST_VER="0.1.6" \ EXT_DS_VER="1.2.4" \ EXT_GEOIP_VER="1.1.1" \ - EXT_GRPC_VER="1.9.0" \ + EXT_GRPC_VER="1.10.0" \ EXT_IMAGICK_VER="3.4.3" \ EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.4.0" \ diff --git a/README.md b/README.md index a1be9f37..9f29d221 100644 --- a/README.md +++ b/README.md @@ -303,7 +303,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | ftp | | | | | | gd | | | | | | [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.9.0 | 1.9.0 | 1.9.0 | - | +| [grpc] | 1.10.0 | 1.10.0 | 1.10.0 | - | | hash | | | | | | iconv | | | | | | [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | From 6908101ff09ec480e6501728b0470598730c4250 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 22 Mar 2018 14:55:14 +0700 Subject: [PATCH 130/559] Add env vars for session configuration --- 5.3/templates/docker-php.ini.tpl | 28 ++++++++++++++++++++++++ 5.3/templates/zz-www.conf.tpl | 3 --- 5.6/templates/docker-php.ini.tpl | 33 +++++++++++++++++++++++++++++ 5.6/templates/zz-www.conf.tpl | 1 - 7/templates/docker-php-7.0.ini.tpl | 34 ++++++++++++++++++++++++++++++ 7/templates/docker-php-7.1.ini.tpl | 33 +++++++++++++++++++++++++++++ 7/templates/docker-php-7.2.ini.tpl | 33 +++++++++++++++++++++++++++++ 7/templates/zz-www.conf.tpl | 1 - README.md | 12 +++++++---- 9 files changed, 169 insertions(+), 9 deletions(-) diff --git a/5.3/templates/docker-php.ini.tpl b/5.3/templates/docker-php.ini.tpl index ae9f9844..1b36243a 100644 --- a/5.3/templates/docker-php.ini.tpl +++ b/5.3/templates/docker-php.ini.tpl @@ -26,6 +26,34 @@ mysql.cache_size = {{ getenv "PHP_MYSQL_CACHE_SIZE" "2000" }} [MySQLi] mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} +[Session] +session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} +session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} +session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} +session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} +session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} +session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} +session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} +session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} +session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} +session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} +session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} +session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} +session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} +session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} +session.bug_compat_42 = {{ getenv "PHP_SESSION_BUG_COMPAT_42" "On" }} +session.bug_compat_warn = {{ getenv "PHP_SESSION_BUG_COMPAT_WARN" "On" }} +session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} +session.entropy_length = {{ getenv "PHP_SESSION_ENTROPY_LENGTH" "0" }} +session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "" }} +session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} +session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} +session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} +session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} +session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} +url_rewriter.tags = {{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }} + [Assertion] assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} diff --git a/5.3/templates/zz-www.conf.tpl b/5.3/templates/zz-www.conf.tpl index 5900ad9b..c9d676ec 100644 --- a/5.3/templates/zz-www.conf.tpl +++ b/5.3/templates/zz-www.conf.tpl @@ -30,9 +30,6 @@ php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} -php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -php_value[session.bug_compat_42] = {{ getenv "PHP_SESSION_BUG_COMPAT_42" "On" }} -php_value[session.bug_compat_warn] = {{ getenv "PHP_SESSION_BUG_COMPAT_WARN" "On" }} user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/5.6/templates/docker-php.ini.tpl b/5.6/templates/docker-php.ini.tpl index c944dc10..8c34dc89 100644 --- a/5.6/templates/docker-php.ini.tpl +++ b/5.6/templates/docker-php.ini.tpl @@ -26,6 +26,39 @@ mysql.cache_size = {{ getenv "PHP_MYSQL_CACHE_SIZE" "2000" }} [MySQLi] mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} +[Session] +session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} +session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} +session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} +session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} +session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} +session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} +session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} +session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} +session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} +session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} +session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} +session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} +session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} +session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} +session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} +session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} +session.entropy_length = {{ getenv "PHP_SESSION_ENTROPY_LENGTH" "32" }} +session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "" }} +session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} +session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} +session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} +session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} +session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} +url_rewriter.tags = {{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }} +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.MIN_FREQ" "1" }}" + [Assertion] zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} diff --git a/5.6/templates/zz-www.conf.tpl b/5.6/templates/zz-www.conf.tpl index ef8368e7..1c70723e 100644 --- a/5.6/templates/zz-www.conf.tpl +++ b/5.6/templates/zz-www.conf.tpl @@ -31,7 +31,6 @@ php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} -php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/7/templates/docker-php-7.0.ini.tpl b/7/templates/docker-php-7.0.ini.tpl index bb1e2000..14262eca 100644 --- a/7/templates/docker-php-7.0.ini.tpl +++ b/7/templates/docker-php-7.0.ini.tpl @@ -23,6 +23,40 @@ sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} [MySQLi] mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} +[Session] +session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} +session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} +session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} +session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} +session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} +session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} +session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} +session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} +session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} +session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} +session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} +session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} +session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} +session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} +session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} +session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} +session.entropy_length = {{ getenv "PHP_SESSION_ENTROPY_LENGTH" "32" }} +session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "" }} +session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} +session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} +session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} +session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} +session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} +url_rewriter.tags = {{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }} +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.MIN_FREQ" "1" }}" +session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} + [Assertion] zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} \ No newline at end of file diff --git a/7/templates/docker-php-7.1.ini.tpl b/7/templates/docker-php-7.1.ini.tpl index bb1e2000..bcce3f75 100644 --- a/7/templates/docker-php-7.1.ini.tpl +++ b/7/templates/docker-php-7.1.ini.tpl @@ -23,6 +23,39 @@ sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} [MySQLi] mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} +[Session] +session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} +session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} +session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} +session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} +session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} +session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} +session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} +session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} +session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} +session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} +session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} +session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} +session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} +session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} +session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} +session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} +session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} +session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} +session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} +session.sid_length = {{ getenv "PHP_SESSION_SID_LENGTH" "26" }} +session.trans_sid_tags = "{{ getenv "PHP_SESSION_TRANS_SID_TAGS" "a=href,area=href,frame=src,form=" }}" +session.trans_sid_hosts = {{ getenv "PHP_SESSION_TRANS_SID_HOSTS" "" }} +session.sid_bits_per_character = {{ getenv "PHP_SESSION_SID_BITS_PER_CHARACTER" "5" }} +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.MIN_FREQ" "1" }}" +session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} + [Assertion] zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} \ No newline at end of file diff --git a/7/templates/docker-php-7.2.ini.tpl b/7/templates/docker-php-7.2.ini.tpl index d2cc1423..f05aa5b2 100644 --- a/7/templates/docker-php-7.2.ini.tpl +++ b/7/templates/docker-php-7.2.ini.tpl @@ -22,6 +22,39 @@ sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} [MySQLi] mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} +[Session] +session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} +session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} +session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} +session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} +session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} +session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} +session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} +session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} +session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} +session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} +session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} +session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} +session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} +session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} +session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} +session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} +session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} +session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} +session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} +session.sid_length = {{ getenv "PHP_SESSION_SID_LENGTH" "26" }} +session.trans_sid_tags = "{{ getenv "PHP_SESSION_TRANS_SID_TAGS" "a=href,area=href,frame=src,form=" }}" +session.trans_sid_hosts = {{ getenv "PHP_SESSION_TRANS_SID_HOSTS" "" }} +session.sid_bits_per_character = {{ getenv "PHP_SESSION_SID_BITS_PER_CHARACTER" "5" }} +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.MIN_FREQ" "1" }}" +session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} + [Assertion] zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} \ No newline at end of file diff --git a/7/templates/zz-www.conf.tpl b/7/templates/zz-www.conf.tpl index 0698afcc..434fc6b0 100644 --- a/7/templates/zz-www.conf.tpl +++ b/7/templates/zz-www.conf.tpl @@ -30,7 +30,6 @@ php_value[max_file_uploads] = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} -php_value[session.auto_start] = {{ getenv "PHP_SESSION_AUTO_START" "0" }} user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/README.md b/README.md index 9f29d221..5cf4bdb1 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,11 @@ Supported tags and respective `Dockerfile` links: [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tpl +[7.2 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tpl +[7.1 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tpl +[7.0 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.0.ini.tpl +[5.6 sessions]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tpl + [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data [`PHP_APCU_ENABLE_CLI`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enable-cli @@ -121,9 +126,7 @@ Supported tags and respective `Dockerfile` links: [`PHP_XDEBUG_DEFAULT_ENABLE`]: https://xdebug.org/docs/all_settings [`PHP_UPLOAD_MAX_FILESIZE`]: http://php.net/upload-max-filesize [`PHP_TRACK_ERRORS`]: http://php.net/track-errors -[`PHP_SESSION_AUTO_START`]: http://php.net/session.auto-start -[`PHP_SESSION_BUG_COMPAT_42`]: http://php.net/session.bug-compat-42 -[`PHP_SESSION_BUG_COMPAT_WARN`]: http://php.net/session.bug-compat-warn +[`PHP_SESSION_SAVE_HANDLER`]: http://php.net/session.save-handler [`PHP_SENDMAIL_PATH`]: http://php.net/sendmail-path [`PHP_REALPATH_CACHE_SIZE`]: http://php.net/realpath-cache-size [`PHP_REALPATH_CACHE_TTL`]: http://php.net/realpath-cache-ttl @@ -218,7 +221,8 @@ The default configuration is not recommended to be used for production environme | [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | | [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | | [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_AUTO_START`] | `0` | `0` | `0` | `0` | +| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | +| _see all session options_ | [7.2 session] | [7.1 session] | [7.0 session] | [5.6 session] | | [`PHP_TRACK_ERRORS`] | - | `On` | `On` | `On` | | [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | | `PHP_XDEBUG` | - | | | | From df29187208ee161ee4e6057360dfe2d9b2e61d6e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 22 Mar 2018 15:14:36 +0700 Subject: [PATCH 131/559] Fix session configuration defaults --- 5.6/templates/docker-php.ini.tpl | 14 +++++++------- 7/templates/docker-php-7.0.ini.tpl | 14 +++++++------- 7/templates/docker-php-7.1.ini.tpl | 12 ++++++------ 7/templates/docker-php-7.2.ini.tpl | 12 ++++++------ 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/5.6/templates/docker-php.ini.tpl b/5.6/templates/docker-php.ini.tpl index 8c34dc89..6e8bfb67 100644 --- a/5.6/templates/docker-php.ini.tpl +++ b/5.6/templates/docker-php.ini.tpl @@ -45,19 +45,19 @@ session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} session.entropy_length = {{ getenv "PHP_SESSION_ENTROPY_LENGTH" "32" }} -session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "" }} +session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "/dev/urandom" }} session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} url_rewriter.tags = {{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }} -session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.ENABLED" "on" }} -session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.CLEANUP" "on" }} -session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.PREFIX" "upload_progress_" }}" -session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" -session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.FREQ" "1%" }}" -session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.MIN_FREQ" "1" }}" +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" [Assertion] zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} diff --git a/7/templates/docker-php-7.0.ini.tpl b/7/templates/docker-php-7.0.ini.tpl index 14262eca..7ffe7f13 100644 --- a/7/templates/docker-php-7.0.ini.tpl +++ b/7/templates/docker-php-7.0.ini.tpl @@ -42,19 +42,19 @@ session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} session.entropy_length = {{ getenv "PHP_SESSION_ENTROPY_LENGTH" "32" }} -session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "" }} +session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "/dev/urandom" }} session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} url_rewriter.tags = {{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }} -session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.ENABLED" "on" }} -session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.CLEANUP" "on" }} -session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.PREFIX" "upload_progress_" }}" -session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" -session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.FREQ" "1%" }}" -session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.MIN_FREQ" "1" }}" +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} [Assertion] diff --git a/7/templates/docker-php-7.1.ini.tpl b/7/templates/docker-php-7.1.ini.tpl index bcce3f75..f1a712d2 100644 --- a/7/templates/docker-php-7.1.ini.tpl +++ b/7/templates/docker-php-7.1.ini.tpl @@ -48,12 +48,12 @@ session.sid_length = {{ getenv "PHP_SESSION_SID_LENGTH" "26" }} session.trans_sid_tags = "{{ getenv "PHP_SESSION_TRANS_SID_TAGS" "a=href,area=href,frame=src,form=" }}" session.trans_sid_hosts = {{ getenv "PHP_SESSION_TRANS_SID_HOSTS" "" }} session.sid_bits_per_character = {{ getenv "PHP_SESSION_SID_BITS_PER_CHARACTER" "5" }} -session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.ENABLED" "on" }} -session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.CLEANUP" "on" }} -session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.PREFIX" "upload_progress_" }}" -session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" -session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.FREQ" "1%" }}" -session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.MIN_FREQ" "1" }}" +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} [Assertion] diff --git a/7/templates/docker-php-7.2.ini.tpl b/7/templates/docker-php-7.2.ini.tpl index f05aa5b2..a7041f20 100644 --- a/7/templates/docker-php-7.2.ini.tpl +++ b/7/templates/docker-php-7.2.ini.tpl @@ -47,12 +47,12 @@ session.sid_length = {{ getenv "PHP_SESSION_SID_LENGTH" "26" }} session.trans_sid_tags = "{{ getenv "PHP_SESSION_TRANS_SID_TAGS" "a=href,area=href,frame=src,form=" }}" session.trans_sid_hosts = {{ getenv "PHP_SESSION_TRANS_SID_HOSTS" "" }} session.sid_bits_per_character = {{ getenv "PHP_SESSION_SID_BITS_PER_CHARACTER" "5" }} -session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.ENABLED" "on" }} -session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS.CLEANUP" "on" }} -session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.PREFIX" "upload_progress_" }}" -session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" -session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.FREQ" "1%" }}" -session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS.MIN_FREQ" "1" }}" +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} [Assertion] From 533ad11fb8b8b5dd074fa34956b8832115b85e8b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 22 Mar 2018 15:38:45 +0700 Subject: [PATCH 132/559] Fix session configuration defaults --- 5.3/templates/docker-php.ini.tpl | 4 ++-- 5.6/templates/docker-php.ini.tpl | 4 ++-- 7/templates/docker-php-7.0.ini.tpl | 4 ++-- 7/templates/docker-php-7.1.ini.tpl | 2 +- 7/templates/docker-php-7.2.ini.tpl | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/5.3/templates/docker-php.ini.tpl b/5.3/templates/docker-php.ini.tpl index 1b36243a..1d0d0990 100644 --- a/5.3/templates/docker-php.ini.tpl +++ b/5.3/templates/docker-php.ini.tpl @@ -28,7 +28,7 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Session] session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} @@ -52,7 +52,7 @@ session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} -url_rewriter.tags = {{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }} +url_rewriter.tags = "{{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }}" [Assertion] assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} diff --git a/5.6/templates/docker-php.ini.tpl b/5.6/templates/docker-php.ini.tpl index 6e8bfb67..9df5a2b2 100644 --- a/5.6/templates/docker-php.ini.tpl +++ b/5.6/templates/docker-php.ini.tpl @@ -28,7 +28,7 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Session] session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} @@ -51,7 +51,7 @@ session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} -url_rewriter.tags = {{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }} +url_rewriter.tags = "{{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }}" session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" diff --git a/7/templates/docker-php-7.0.ini.tpl b/7/templates/docker-php-7.0.ini.tpl index 7ffe7f13..3c7b8215 100644 --- a/7/templates/docker-php-7.0.ini.tpl +++ b/7/templates/docker-php-7.0.ini.tpl @@ -25,7 +25,7 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Session] session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} @@ -48,7 +48,7 @@ session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} -url_rewriter.tags = {{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }} +url_rewriter.tags = "{{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }}" session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" diff --git a/7/templates/docker-php-7.1.ini.tpl b/7/templates/docker-php-7.1.ini.tpl index f1a712d2..dbd51fc2 100644 --- a/7/templates/docker-php-7.1.ini.tpl +++ b/7/templates/docker-php-7.1.ini.tpl @@ -25,7 +25,7 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Session] session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} diff --git a/7/templates/docker-php-7.2.ini.tpl b/7/templates/docker-php-7.2.ini.tpl index a7041f20..204177bb 100644 --- a/7/templates/docker-php-7.2.ini.tpl +++ b/7/templates/docker-php-7.2.ini.tpl @@ -24,7 +24,7 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Session] session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = {{ getenv "PHP_SESSION_SAVE_PATH" }} +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} From 2a5c02a7c4eb4c69a6c72662fc5788e3752e260d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 22 Mar 2018 15:43:54 +0700 Subject: [PATCH 133/559] Add process messages for volumes symlink --- 5.3/bin/files_link | 4 ++++ 5.6/bin/files_link | 4 ++++ 7/bin/files_link | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/5.3/bin/files_link b/5.3/bin/files_link index 037799db..548da8e9 100755 --- a/5.3/bin/files_link +++ b/5.3/bin/files_link @@ -21,11 +21,15 @@ if [[ -n "${app_public_dir}" ]]; then exit 1 # If dir is not symlink and empty, remove it and link. else + echo "Empty public storage dir detected: removing and symlinking" rm -rf "${app_public_dir}" ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi + else + echo "Symlink already in place" fi else + echo "No public storage dir detected: just symlinking" ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi fi diff --git a/5.6/bin/files_link b/5.6/bin/files_link index 037799db..548da8e9 100755 --- a/5.6/bin/files_link +++ b/5.6/bin/files_link @@ -21,11 +21,15 @@ if [[ -n "${app_public_dir}" ]]; then exit 1 # If dir is not symlink and empty, remove it and link. else + echo "Empty public storage dir detected: removing and symlinking" rm -rf "${app_public_dir}" ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi + else + echo "Symlink already in place" fi else + echo "No public storage dir detected: just symlinking" ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi fi diff --git a/7/bin/files_link b/7/bin/files_link index 037799db..548da8e9 100755 --- a/7/bin/files_link +++ b/7/bin/files_link @@ -21,11 +21,15 @@ if [[ -n "${app_public_dir}" ]]; then exit 1 # If dir is not symlink and empty, remove it and link. else + echo "Empty public storage dir detected: removing and symlinking" rm -rf "${app_public_dir}" ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi + else + echo "Symlink already in place" fi else + echo "No public storage dir detected: just symlinking" ln -sf "${FILES_DIR}/public" "${app_public_dir}" fi fi From 8dd9e856af747d1e3502101d60dfa0e0700399e3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 22 Mar 2018 17:36:34 +0700 Subject: [PATCH 134/559] Move global composer bin directory to the end of $PATH --- 5.3/Dockerfile | 2 +- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 694355a9..d5a9016f 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -26,7 +26,7 @@ ENV PHP_DEV="${PHP_DEV}" \ APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" \ - PATH="/home/wodby/.composer/vendor/bin:${PATH}" \ + PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ \ GIT_USER_EMAIL="wodby@example.com" \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 35c24a2f..e963a7be 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -48,7 +48,7 @@ ENV PHP_DEV="${PHP_DEV}" \ ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" \ - PATH="/home/wodby/.composer/vendor/bin:${PATH}" \ + PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ \ GIT_USER_EMAIL="wodby@example.com" \ diff --git a/7/Dockerfile b/7/Dockerfile index 0cc69177..892fc7b1 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -51,7 +51,7 @@ ENV PHP_DEV="${PHP_DEV}" \ ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" \ - PATH="/home/wodby/.composer/vendor/bin:${PATH}" \ + PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ \ GIT_USER_EMAIL="wodby@example.com" \ From b6be95f6129ee49c02e9f1c2685447a1828b2113 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 28 Mar 2018 17:52:18 +0700 Subject: [PATCH 135/559] Added jpegoptim https://github.com/wodby/docker4drupal/issues/255 --- 5.6/Dockerfile | 2 ++ 7/Dockerfile | 2 ++ 2 files changed, 4 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index e963a7be..4ea7a9bc 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -32,6 +32,7 @@ ENV PHP_DEV="${PHP_DEV}" \ GEOIP_VER="1.6.11-r0" \ ICU_LIBS_VER="59.1-r1" \ IMAGEMAGICK_VER="7.0.7.11-r1" \ + JPEGOPTIM_VER="1.4.4-r0" \ LIBBZ2_VER="1.0.6-r6" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ @@ -77,6 +78,7 @@ RUN set -xe; \ git \ "icu-libs=${ICU_LIBS_VER}" \ "imagemagick=${IMAGEMAGICK_VER}" \ + "jpegoptim=${JPEGOPTIM_VER}" \ less \ "libbz2=${LIBBZ2_VER}" \ "libjpeg-turbo=${LIBJPEG_TURBO_VER}" \ diff --git a/7/Dockerfile b/7/Dockerfile index 892fc7b1..2707164a 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -35,6 +35,7 @@ ENV PHP_DEV="${PHP_DEV}" \ GEOIP_VER="1.6.11-r0" \ ICU_LIBS_VER="59.1-r1" \ IMAGEMAGICK_VER="7.0.7.11-r1" \ + JPEGOPTIM_VER="1.4.4-r0" \ LIBBZ2_VER="1.0.6-r6" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ @@ -80,6 +81,7 @@ RUN set -xe; \ git \ "icu-libs=${ICU_LIBS_VER}" \ "imagemagick=${IMAGEMAGICK_VER}" \ + "jpegoptim=${JPEGOPTIM_VER}" \ less \ "libbz2=${LIBBZ2_VER}" \ "libjpeg-turbo=${LIBJPEG_TURBO_VER}" \ From a7af4056f45b894f4fce3c84c94f1696e4f6923e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 2 Apr 2018 16:11:19 +0700 Subject: [PATCH 136/559] Update PHP to 7.2.4, 7.1.16, 7.0.35, 5.6.35 --- .travis.yml | 10 +++++----- 5.6/Makefile | 2 +- 7/Makefile | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5da64f77..be5d4290 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,10 +6,10 @@ services: env: global: - LATEST_TAG=7.2 - - PHP72=7.2.3 - - PHP71=7.1.15 - - PHP70=7.0.28 - - PHP56=5.6.34 + - PHP72=7.2.4 + - PHP71=7.1.16 + - PHP70=7.0.29 + - PHP56=5.6.35 - PHP53=5.3.29 matrix: - TAG=7.2 PHP_VER="${PHP72}" EXTRA_TAG=7 @@ -40,4 +40,4 @@ script: - make test after_success: - - bash "${TRAVIS_BUILD_DIR}/travis_release" + - . "${TRAVIS_BUILD_DIR}/travis_release" diff --git a/5.6/Makefile b/5.6/Makefile index d5e58618..ad5cdd39 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 5.6.34 +PHP_VER ?= 5.6.35 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php diff --git a/7/Makefile b/7/Makefile index 0da60daf..334d0366 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.3 +PHP_VER ?= 7.2.4 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From bf30b6d6e478d79553be9037fb717e1174df0a4c Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 2 Apr 2018 17:03:13 +0700 Subject: [PATCH 137/559] Update scripts naming --- 5.3/Dockerfile | 2 +- 5.3/bin/actions.mk | 2 +- 5.3/bin/files_import | 2 +- 5.3/docker-entrypoint.sh | 4 ++-- 5.6/Dockerfile | 2 +- 5.6/bin/actions.mk | 2 +- 5.6/bin/files_import | 2 +- 5.6/docker-entrypoint.sh | 4 ++-- 7/Dockerfile | 2 +- 7/bin/actions.mk | 2 +- 7/bin/files_import | 2 +- 7/docker-entrypoint.sh | 4 ++-- 12 files changed, 15 insertions(+), 15 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index d5a9016f..1f747e26 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -216,7 +216,7 @@ RUN set -xe; \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/bin/files_chmod, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ - echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ + echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ echo -n '/usr/local/bin/init_volumes, ' ; \ echo -n '/usr/local/bin/migrate, ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ diff --git a/5.3/bin/actions.mk b/5.3/bin/actions.mk index a4153cd0..a0ababda 100644 --- a/5.3/bin/actions.mk +++ b/5.3/bin/actions.mk @@ -42,7 +42,7 @@ walter: test ! -f "$(APP_ROOT)/wodby.yml" || walter -c "$(APP_ROOT)/wodby.yml" check-ready: - wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) + wait_for "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) check-live: @echo "OK" diff --git a/5.3/bin/files_import b/5.3/bin/files_import index dcfd6720..faf188e8 100755 --- a/5.3/bin/files_import +++ b/5.3/bin/files_import @@ -9,7 +9,7 @@ fi source=$1 tmp_dir="/tmp/source" -get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" +get_archive "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index ef7ec096..aaeac80a 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -43,7 +43,7 @@ init_sshd() { } \ }' > "${ssh_dir}/environment" - sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" + sudo gen_ssh_keys "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { @@ -79,7 +79,7 @@ elif [[ "${@:1:3}" == "sudo -E crond" ]]; then init_crond fi -exec-init-scripts.sh +exec_init_scripts if [[ $1 == "make" ]]; then exec "${@}" -f /usr/local/bin/actions.mk diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 4ea7a9bc..cd0bc463 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -243,7 +243,7 @@ RUN set -xe; \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/bin/files_chmod, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ - echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ + echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ echo -n '/usr/local/bin/init_volumes, ' ; \ echo -n '/usr/local/bin/migrate, ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ diff --git a/5.6/bin/actions.mk b/5.6/bin/actions.mk index a4153cd0..a0ababda 100644 --- a/5.6/bin/actions.mk +++ b/5.6/bin/actions.mk @@ -42,7 +42,7 @@ walter: test ! -f "$(APP_ROOT)/wodby.yml" || walter -c "$(APP_ROOT)/wodby.yml" check-ready: - wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) + wait_for "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) check-live: @echo "OK" diff --git a/5.6/bin/files_import b/5.6/bin/files_import index dcfd6720..faf188e8 100755 --- a/5.6/bin/files_import +++ b/5.6/bin/files_import @@ -9,7 +9,7 @@ fi source=$1 tmp_dir="/tmp/source" -get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" +get_archive "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index f6bbc985..3dd3c550 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -43,7 +43,7 @@ init_sshd() { } \ }' > "${ssh_dir}/environment" - sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" + sudo gen_ssh_keys "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { @@ -89,7 +89,7 @@ elif [[ "${@:1:3}" == "sudo -E crond" ]]; then init_crond fi -exec-init-scripts.sh +exec_init_scripts if [[ $1 == "make" ]]; then exec "${@}" -f /usr/local/bin/actions.mk diff --git a/7/Dockerfile b/7/Dockerfile index 2707164a..3af50683 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -266,7 +266,7 @@ RUN set -xe; \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/bin/files_chmod, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ - echo -n '/usr/local/bin/gen-ssh-keys.sh, ' ; \ + echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ echo -n '/usr/local/bin/init_volumes, ' ; \ echo -n '/usr/local/bin/migrate, ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ diff --git a/7/bin/actions.mk b/7/bin/actions.mk index a4153cd0..a0ababda 100644 --- a/7/bin/actions.mk +++ b/7/bin/actions.mk @@ -42,7 +42,7 @@ walter: test ! -f "$(APP_ROOT)/wodby.yml" || walter -c "$(APP_ROOT)/wodby.yml" check-ready: - wait-for.sh "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) + wait_for "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) check-live: @echo "OK" diff --git a/7/bin/files_import b/7/bin/files_import index dcfd6720..faf188e8 100755 --- a/7/bin/files_import +++ b/7/bin/files_import @@ -9,7 +9,7 @@ fi source=$1 tmp_dir="/tmp/source" -get-archive.sh "${source}" "${tmp_dir}" "zip tgz tar.gz tar" +get_archive "${source}" "${tmp_dir}" "zip tgz tar.gz tar" # TODO: allow top level dir import only for wodby archives. if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 130bf1d5..bc1fc4a2 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -43,7 +43,7 @@ init_sshd() { } \ }' > "${ssh_dir}/environment" - sudo gen-ssh-keys.sh "rsa" "${SSHD_HOST_KEYS_DIR}" + sudo gen_ssh_keys "rsa" "${SSHD_HOST_KEYS_DIR}" } init_crond() { @@ -91,7 +91,7 @@ elif [[ "${@:1:3}" == "sudo -E crond" ]]; then init_crond fi -exec-init-scripts.sh +exec_init_scripts if [[ $1 == "make" ]]; then exec "${@}" -f /usr/local/bin/actions.mk From ec8194239c00c7ca08e452c8e1285db1e5342cbb Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 2 Apr 2018 17:39:47 +0700 Subject: [PATCH 138/559] Update PHP 7.1 orig configs --- 7/orig/php-7.1.ini-development | 4 ++-- 7/orig/php-7.1.ini-production | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/7/orig/php-7.1.ini-development b/7/orig/php-7.1.ini-development index e371ca5b..bad30176 100644 --- a/7/orig/php-7.1.ini-development +++ b/7/orig/php-7.1.ini-development @@ -884,7 +884,6 @@ default_socket_timeout = 60 ; default extension directory. ; ; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) ; extension folders as well as the separate PECL DLL download (PHP 5+). ; Be sure to appropriately set the extension_dir directive. @@ -904,6 +903,7 @@ default_socket_timeout = 60 ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client +;extension=php_odbc.dll ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll @@ -1049,7 +1049,7 @@ smtp_port = 25 ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On +mail.add_x_header = Off ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. diff --git a/7/orig/php-7.1.ini-production b/7/orig/php-7.1.ini-production index 0a28d3b6..2232d75a 100644 --- a/7/orig/php-7.1.ini-production +++ b/7/orig/php-7.1.ini-production @@ -884,7 +884,6 @@ default_socket_timeout = 60 ; default extension directory. ; ; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) ; extension folders as well as the separate PECL DLL download (PHP 5+). ; Be sure to appropriately set the extension_dir directive. @@ -904,6 +903,7 @@ default_socket_timeout = 60 ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client +;extension=php_odbc.dll ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll @@ -1049,7 +1049,7 @@ smtp_port = 25 ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On +mail.add_x_header = Off ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. From 3a2177b4597f0b0352d30e3ee9dbc8de22bc9cd1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 2 Apr 2018 18:50:36 +0700 Subject: [PATCH 139/559] Do not install phar twice --- 5.3/Dockerfile | 1 - 5.6/Dockerfile | 1 - 7/Dockerfile | 1 - 3 files changed, 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 1f747e26..d64677f2 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -143,7 +143,6 @@ RUN set -xe; \ pdo_mysql \ pdo_pgsql \ pgsql \ - phar \ soap \ sockets \ xmlrpc \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index cd0bc463..f9428cfa 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -153,7 +153,6 @@ RUN set -xe; \ pdo_mysql \ pdo_pgsql \ pgsql \ - phar \ soap \ sockets \ xmlrpc \ diff --git a/7/Dockerfile b/7/Dockerfile index 3af50683..23772e46 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -154,7 +154,6 @@ RUN set -xe; \ pdo_mysql \ pdo_pgsql \ pgsql \ - phar \ soap \ sockets \ xmlrpc \ From 3c1543ffa9a93569e63797a9ea1f1ff605b14bff Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 5 Apr 2018 10:37:54 +0700 Subject: [PATCH 140/559] Enable log_errors by default, log_errors_max_len set to unlimited --- 5.3/templates/docker-php.ini.tpl | 3 ++- 5.6/templates/docker-php.ini.tpl | 3 ++- 7/templates/docker-php-7.0.ini.tpl | 3 ++- 7/templates/docker-php-7.1.ini.tpl | 3 ++- 7/templates/docker-php-7.2.ini.tpl | 3 ++- README.md | 4 +++- 6 files changed, 13 insertions(+), 6 deletions(-) diff --git a/5.3/templates/docker-php.ini.tpl b/5.3/templates/docker-php.ini.tpl index 1d0d0990..3bd8ce37 100644 --- a/5.3/templates/docker-php.ini.tpl +++ b/5.3/templates/docker-php.ini.tpl @@ -7,7 +7,8 @@ realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "16k" }} realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "1024" }} +log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} +log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} error_log = /proc/self/fd/2 diff --git a/5.6/templates/docker-php.ini.tpl b/5.6/templates/docker-php.ini.tpl index 9df5a2b2..ca1c4272 100644 --- a/5.6/templates/docker-php.ini.tpl +++ b/5.6/templates/docker-php.ini.tpl @@ -7,7 +7,8 @@ realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "16k" }} realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "1024" }} +log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} +log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} error_log = /proc/self/fd/2 diff --git a/7/templates/docker-php-7.0.ini.tpl b/7/templates/docker-php-7.0.ini.tpl index 3c7b8215..45535952 100644 --- a/7/templates/docker-php-7.0.ini.tpl +++ b/7/templates/docker-php-7.0.ini.tpl @@ -7,7 +7,8 @@ realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "1024" }} +log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} +log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} error_log = /proc/self/fd/2 diff --git a/7/templates/docker-php-7.1.ini.tpl b/7/templates/docker-php-7.1.ini.tpl index dbd51fc2..2a457c01 100644 --- a/7/templates/docker-php-7.1.ini.tpl +++ b/7/templates/docker-php-7.1.ini.tpl @@ -7,7 +7,8 @@ realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "1024" }} +log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} +log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} error_log = /proc/self/fd/2 diff --git a/7/templates/docker-php-7.2.ini.tpl b/7/templates/docker-php-7.2.ini.tpl index 204177bb..20731d43 100644 --- a/7/templates/docker-php-7.2.ini.tpl +++ b/7/templates/docker-php-7.2.ini.tpl @@ -7,7 +7,8 @@ realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "1024" }} +log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} +log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} error_log = /proc/self/fd/2 [Date] diff --git a/README.md b/README.md index 5cf4bdb1..0bd4be35 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,7 @@ Supported tags and respective `Dockerfile` links: [`PHP_ERROR_REPORTING`]: http://php.net/error-reporting [`PHP_EXPOSE`]: http://php.net/expose-php [`PHP_GEOIP_CUSTOM_DIR`]: http://php.net/manual/en/geoip.configuration.php#ini.geoip.custom-directory +[`PHP_LOG_ERRORS`]: http://php.net/log-errors [`PHP_LOG_ERRORS_MAX_LEN`]: http://php.net/log-errors-max-len [`PHP_MAX_EXECUTION_TIME`]: http://php.net/max-execution-time [`PHP_MAX_FILE_UPLOADS`]: http://php.net/manual/en/ini.core.php#ini.max-file-uploads @@ -186,7 +187,8 @@ The default configuration is not recommended to be used for production environme | [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_GEOIP_CUSTOM_DIR`] | | | | | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `1024` | `1024` | `1024` | `1024` | +| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | | [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | | [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | | [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | From b566b770b3b5eb3a614034ff5701a12cc57bd16f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 9 Apr 2018 20:48:13 +0700 Subject: [PATCH 141/559] Install missing iconv lib #25 --- 5.3/Dockerfile | 6 +++++- 5.6/Dockerfile | 6 +++++- 7/Dockerfile | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index d64677f2..722e03f7 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -30,7 +30,9 @@ ENV PHP_DEV="${PHP_DEV}" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ \ GIT_USER_EMAIL="wodby@example.com" \ - GIT_USER_NAME="wodby" + GIT_USER_NAME="wodby" \ + \ + LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" RUN set -xe; \ \ @@ -101,6 +103,8 @@ RUN set -xe; \ postgresql-dev \ yaml-dev; \ \ + apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ + \ # Temporary install additional packages to keep client bins. apk add --update --no-cache -t .bins-only \ postgresql \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index f9428cfa..5a7cd136 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -44,7 +44,9 @@ ENV PHP_DEV="${PHP_DEV}" \ MARIADB_CLIENT_VER="10.1.28-r1" \ POSTGRESQL_CLIENT_VER="10.3-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ - YAML_VER="0.1.7-r0" + YAML_VER="0.1.7-r0" \ + \ + LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ @@ -127,6 +129,8 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ + apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ + \ # Install redis-cli. apk add --update --no-cache redis; \ mkdir -p /tmp/pkgs-bins; \ diff --git a/7/Dockerfile b/7/Dockerfile index 23772e46..bac62168 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -47,7 +47,9 @@ ENV PHP_DEV="${PHP_DEV}" \ MARIADB_CLIENT_VER="10.1.28-r1" \ POSTGRESQL_CLIENT_VER="10.3-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ - YAML_VER="0.1.7-r0" + YAML_VER="0.1.7-r0" \ + \ + LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ @@ -130,6 +132,8 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ + apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ + \ # Install redis-cli. apk add --update --no-cache redis; \ mkdir -p /tmp/pkgs-bins; \ From 89cdcc64b5f06417f7e9824714079aa7ca84bca6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 10 Apr 2018 16:16:40 +0700 Subject: [PATCH 142/559] Add LD_PRELOAD for iconv to allowed FPM env vars #25 --- 5.3/templates/zz-www.conf.tpl | 1 + 5.6/templates/zz-www.conf.tpl | 1 + 7/templates/zz-www.conf.tpl | 1 + 3 files changed, 3 insertions(+) diff --git a/5.3/templates/zz-www.conf.tpl b/5.3/templates/zz-www.conf.tpl index c9d676ec..96b8175a 100644 --- a/5.3/templates/zz-www.conf.tpl +++ b/5.3/templates/zz-www.conf.tpl @@ -34,6 +34,7 @@ php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_PO user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} +env[LD_PRELOAD] = {{ getenv "LD_PRELOAD" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} diff --git a/5.6/templates/zz-www.conf.tpl b/5.6/templates/zz-www.conf.tpl index 1c70723e..3e426c4a 100644 --- a/5.6/templates/zz-www.conf.tpl +++ b/5.6/templates/zz-www.conf.tpl @@ -35,6 +35,7 @@ php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_PO user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} +env[LD_PRELOAD] = {{ getenv "LD_PRELOAD" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} diff --git a/7/templates/zz-www.conf.tpl b/7/templates/zz-www.conf.tpl index 434fc6b0..9766de52 100644 --- a/7/templates/zz-www.conf.tpl +++ b/7/templates/zz-www.conf.tpl @@ -34,6 +34,7 @@ php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} +env[LD_PRELOAD] = {{ getenv "LD_PRELOAD" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} From d3391ac1a0185037299d1c140bd8cc4ef5f0d558 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 12 Apr 2018 03:12:45 +0700 Subject: [PATCH 143/559] Update mariadb-client package --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 5a7cd136..5c12b878 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -41,7 +41,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBMCRYPT_VER="2.5.8-r7" \ LIBPNG_VER="1.6.34-r1" \ LIBXSLT_VER="1.1.31-r0" \ - MARIADB_CLIENT_VER="10.1.28-r1" \ + MARIADB_CLIENT_VER="10.1.32-r0" \ POSTGRESQL_CLIENT_VER="10.3-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" \ diff --git a/7/Dockerfile b/7/Dockerfile index bac62168..0da90edb 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -44,7 +44,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBMCRYPT_VER="2.5.8-r7" \ LIBPNG_VER="1.6.34-r1" \ LIBXSLT_VER="1.1.31-r0" \ - MARIADB_CLIENT_VER="10.1.28-r1" \ + MARIADB_CLIENT_VER="10.1.32-r0" \ POSTGRESQL_CLIENT_VER="10.3-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" \ From 16743d64edf8934666dfc4cf3e74510c9e1d7fc0 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 12 Apr 2018 03:20:26 +0700 Subject: [PATCH 144/559] Run php-fpm with LD_PRELOAD for iconv lib #25 --- 5.3/Dockerfile | 5 ++--- 5.3/templates/zz-www.conf.tpl | 1 - 5.6/Dockerfile | 5 ++--- 5.6/templates/zz-www.conf.tpl | 1 - 7/Dockerfile | 6 +++--- 7/templates/zz-www.conf.tpl | 1 - 6 files changed, 7 insertions(+), 12 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 722e03f7..5a2a7bee 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -103,8 +103,7 @@ RUN set -xe; \ postgresql-dev \ yaml-dev; \ \ - apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ - \ + apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ # Temporary install additional packages to keep client bins. apk add --update --no-cache -t .bins-only \ postgresql \ @@ -288,4 +287,4 @@ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["sudo", "-E", "php-fpm"] +CMD ["sudo", "-E", "LD_PRELOAD=/usr/lib/preloadable_libiconv.so", "php-fpm"] diff --git a/5.3/templates/zz-www.conf.tpl b/5.3/templates/zz-www.conf.tpl index 96b8175a..c9d676ec 100644 --- a/5.3/templates/zz-www.conf.tpl +++ b/5.3/templates/zz-www.conf.tpl @@ -34,7 +34,6 @@ php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_PO user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} -env[LD_PRELOAD] = {{ getenv "LD_PRELOAD" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 5c12b878..05f12eb5 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -129,8 +129,7 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ - apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ - \ + apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ # Install redis-cli. apk add --update --no-cache redis; \ mkdir -p /tmp/pkgs-bins; \ @@ -315,4 +314,4 @@ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["sudo", "-E", "php-fpm"] +CMD ["sudo", "-E", "LD_PRELOAD=/usr/lib/preloadable_libiconv.so", "php-fpm"] diff --git a/5.6/templates/zz-www.conf.tpl b/5.6/templates/zz-www.conf.tpl index 3e426c4a..1c70723e 100644 --- a/5.6/templates/zz-www.conf.tpl +++ b/5.6/templates/zz-www.conf.tpl @@ -35,7 +35,6 @@ php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_PO user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} -env[LD_PRELOAD] = {{ getenv "LD_PRELOAD" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} diff --git a/7/Dockerfile b/7/Dockerfile index 0da90edb..55eae799 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -132,7 +132,7 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ - apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ + apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ # Install redis-cli. apk add --update --no-cache redis; \ @@ -328,7 +328,7 @@ RUN set -xe; \ \ if [[ -z "${PHP_DEV}" ]]; then \ rm -rf /usr/src/php.tar.xz; \ - fi; + fi USER wodby @@ -340,4 +340,4 @@ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["sudo", "-E", "php-fpm"] +CMD ["sudo", "-E", "LD_PRELOAD=/usr/lib/preloadable_libiconv.so", "php-fpm"] diff --git a/7/templates/zz-www.conf.tpl b/7/templates/zz-www.conf.tpl index 9766de52..434fc6b0 100644 --- a/7/templates/zz-www.conf.tpl +++ b/7/templates/zz-www.conf.tpl @@ -34,7 +34,6 @@ php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} -env[LD_PRELOAD] = {{ getenv "LD_PRELOAD" }} {{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} From daab1422f63ac8367fd94fb2b88e533ecba79875 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 12 Apr 2018 03:28:35 +0700 Subject: [PATCH 145/559] Run php-fpm with LD_PRELOAD for iconv lib #25 --- 5.3/Dockerfile | 3 ++- 5.6/Dockerfile | 3 ++- 7/Dockerfile | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 5a2a7bee..795428f0 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -103,7 +103,8 @@ RUN set -xe; \ postgresql-dev \ yaml-dev; \ \ - apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ + apk add -U -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv; \ + \ # Temporary install additional packages to keep client bins. apk add --update --no-cache -t .bins-only \ postgresql \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 05f12eb5..e53d771a 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -129,7 +129,8 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ - apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; \ + apk add -U -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv; \ + \ # Install redis-cli. apk add --update --no-cache redis; \ mkdir -p /tmp/pkgs-bins; \ diff --git a/7/Dockerfile b/7/Dockerfile index 55eae799..464be8ae 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -132,7 +132,7 @@ RUN set -xe; \ rabbitmq-c-dev \ yaml-dev; \ \ - apk add gnu-libiconv --update-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted; + apk add -U -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv; \ \ # Install redis-cli. apk add --update --no-cache redis; \ From 53c3f024132c743476aec81d8d34d4fa6b30ff45 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 11:19:46 +0700 Subject: [PATCH 146/559] Add pthreads extension to 5.6, 7.0, 7.1 --- 5.6/Dockerfile | 3 +++ 5.6/test/php_modules | 1 + 7/Dockerfile | 6 +++++- 7/test/php_modules/7.0 | 1 + 7/test/php_modules/7.1 | 1 + README.md | 2 ++ 6 files changed, 13 insertions(+), 1 deletion(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index e53d771a..4a519aad 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -22,6 +22,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MEMCACHED_VER="2.2.0" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="1.2.3" \ + EXT_PTHREADS_VER="2.0.10" \ EXT_REDIS_VER="3.1.6" \ EXT_UPLOADPROGRESS_VER="1.0.3.1" \ EXT_XDEBUG_VER="2.5.5" \ @@ -196,6 +197,7 @@ RUN set -xe; \ "memcached-${EXT_MEMCACHED_VER}" \ "mongodb-${EXT_MONGODB_VER}" \ "oauth-${EXT_OAUTH_VER}" \ + "pthreads-${EXT_PTHREADS_VER}" \ "redis-${EXT_REDIS_VER}" \ "uploadprogress-${EXT_UPLOADPROGRESS_VER}" \ "xdebug-${EXT_XDEBUG_VER}" \ @@ -210,6 +212,7 @@ RUN set -xe; \ memcached \ mongodb \ oauth \ + pthreads \ redis \ uploadprogress \ xdebug \ diff --git a/5.6/test/php_modules b/5.6/test/php_modules index 24925386..a2ef9d19 100644 --- a/5.6/test/php_modules +++ b/5.6/test/php_modules @@ -46,6 +46,7 @@ pdo_sqlite pgsql Phar posix +pthreads readline redis Reflection diff --git a/7/Dockerfile b/7/Dockerfile index 464be8ae..b0374c63 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -24,6 +24,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="2.0.2" \ + EXT_PTHREADS_VER="3.1.6" \ EXT_REDIS_VER="3.1.6" \ EXT_XDEBUG_VER="2.6.0" \ EXT_YAML_VER="2.0.2" \ @@ -176,11 +177,14 @@ RUN set -xe; \ # PECL extensions pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ \ - # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ + # mcrypt moved to pecl in PHP 7.2 pecl install mcrypt-${PHP72_EXT_MCRYPT_VER}; \ docker-php-ext-enable mcrypt; \ else \ + # + pecl install "pthreads-${EXT_PTHREADS_VER}"; \ + docker-php-ext-enable pthreads; \ docker-php-ext-install mcrypt; \ fi; \ \ diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index 212c20f5..5a70d138 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -45,6 +45,7 @@ pdo_sqlite pgsql Phar posix +pthreads readline redis Reflection diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index 212c20f5..5a70d138 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -45,6 +45,7 @@ pdo_sqlite pgsql Phar posix +pthreads readline redis Reflection diff --git a/README.md b/README.md index 0bd4be35..a196ef6b 100644 --- a/README.md +++ b/README.md @@ -276,6 +276,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag [mongodb]: http://pecl.php.net/package/mongodb [newrelic]: http://download.newrelic.com/php_agent/release [OAuth]: http://pecl.php.net/package/oauth +[pthreads]: http://pecl.php.net/package/pthreads [redis]: http://pecl.php.net/package/redis [uploadprogress]: https://pecl.php.net/package/uploadprogress [uploadprogress]: https://pecl.php.net/package/uploadprogress @@ -338,6 +339,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | pgsql | | | | | | Phar | | | | | | posix | | | | | +| [pthreads] | 3.1.6 | 3.1.6 | 3.1.6 | 2.0.10 | | readline | | | | | | [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | | Reflection | | | | | From 6c69a822f169d9a3a861b30407f18660ad1bcf29 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 11:29:43 +0700 Subject: [PATCH 147/559] Fix ext listing: pthreads not installed for 7.2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a196ef6b..4164916c 100644 --- a/README.md +++ b/README.md @@ -339,7 +339,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | pgsql | | | | | | Phar | | | | | | posix | | | | | -| [pthreads] | 3.1.6 | 3.1.6 | 3.1.6 | 2.0.10 | +| [pthreads] | - | 3.1.6 | 3.1.6 | 2.0.10 | | readline | | | | | | [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | | Reflection | | | | | From bbf3bf311fab7245f6e07097d7b01649a31ccb08 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 11:30:06 +0700 Subject: [PATCH 148/559] Install gmp extension https://github.com/wodby/drupal-php/issues/54 --- 5.6/Dockerfile | 1 + 5.6/test/php_modules | 1 + 7/Dockerfile | 3 +++ 7/test/php_modules/7.0 | 1 + 7/test/php_modules/7.1 | 1 + 7/test/php_modules/7.2 | 1 + 6 files changed, 8 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 4a519aad..3762c472 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -147,6 +147,7 @@ RUN set -xe; \ bz2 \ calendar \ exif \ + gmp \ imap \ intl \ ldap \ diff --git a/5.6/test/php_modules b/5.6/test/php_modules index a2ef9d19..a4b1a166 100644 --- a/5.6/test/php_modules +++ b/5.6/test/php_modules @@ -18,6 +18,7 @@ filter ftp gd geoip +gmp grpc hash iconv diff --git a/7/Dockerfile b/7/Dockerfile index b0374c63..1f0596a6 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -34,6 +34,7 @@ ENV PHP_DEV="${PHP_DEV}" \ C_CLIENT_VER="2007f-r7" \ FREETYPE_VER="2.8.1-r2" \ GEOIP_VER="1.6.11-r0" \ + GMP_VER="6.1.2-r1" \ ICU_LIBS_VER="59.1-r1" \ IMAGEMAGICK_VER="7.0.7.11-r1" \ JPEGOPTIM_VER="1.4.4-r0" \ @@ -82,6 +83,7 @@ RUN set -xe; \ "freetype=${FREETYPE_VER}" \ "geoip=${GEOIP_VER}" \ git \ + "gmp=${GMP_VER}" \ "icu-libs=${ICU_LIBS_VER}" \ "imagemagick=${IMAGEMAGICK_VER}" \ "jpegoptim=${JPEGOPTIM_VER}" \ @@ -150,6 +152,7 @@ RUN set -xe; \ bz2 \ calendar \ exif \ + gmp \ imap \ intl \ ldap \ diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index 5a70d138..4d8e21ac 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -18,6 +18,7 @@ filter ftp gd geoip +gmp grpc hash iconv diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index 5a70d138..4d8e21ac 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -18,6 +18,7 @@ filter ftp gd geoip +gmp grpc hash iconv diff --git a/7/test/php_modules/7.2 b/7/test/php_modules/7.2 index 3201f1fa..570ec464 100644 --- a/7/test/php_modules/7.2 +++ b/7/test/php_modules/7.2 @@ -18,6 +18,7 @@ filter ftp gd geoip +gmp grpc hash iconv From 55e035dd8e438d3739a7cbd1653edebefdaff9e5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 11:34:49 +0700 Subject: [PATCH 149/559] Update scripts names to standard --- .travis.yml | 2 +- 5.3/Makefile | 4 ++-- 5.3/{compare_orig_configs => compare_orig_configs.sh} | 0 5.3/test/docker-compose.yml | 2 +- 5.3/test/{run => run.sh} | 2 +- 5.3/test/{tests => tests.sh} | 0 5.6/Makefile | 4 ++-- 5.6/{compare_orig_configs => compare_orig_configs.sh} | 0 5.6/test/docker-compose.yml | 2 +- 5.6/test/{run => run.sh} | 2 +- 5.6/test/{tests => tests.sh} | 0 7/Makefile | 4 ++-- 7/{compare_orig_configs => compare_orig_configs.sh} | 0 7/test/docker-compose.yml | 2 +- 7/test/{run => run.sh} | 2 +- 7/test/{tests => tests.sh} | 0 travis_release => release.sh | 0 17 files changed, 13 insertions(+), 13 deletions(-) rename 5.3/{compare_orig_configs => compare_orig_configs.sh} (100%) rename 5.3/test/{run => run.sh} (98%) rename 5.3/test/{tests => tests.sh} (100%) rename 5.6/{compare_orig_configs => compare_orig_configs.sh} (100%) rename 5.6/test/{run => run.sh} (98%) rename 5.6/test/{tests => tests.sh} (100%) rename 7/{compare_orig_configs => compare_orig_configs.sh} (100%) rename 7/test/{run => run.sh} (98%) rename 7/test/{tests => tests.sh} (100%) rename travis_release => release.sh (100%) diff --git a/.travis.yml b/.travis.yml index be5d4290..4f506957 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,4 +40,4 @@ script: - make test after_success: - - . "${TRAVIS_BUILD_DIR}/travis_release" + - . "${TRAVIS_BUILD_DIR}/travis_release.sh" diff --git a/5.3/Makefile b/5.3/Makefile index da87c41c..446cf95f 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -50,7 +50,7 @@ build: ./ test: - cd ./test && IMAGE=$(REPO):$(TAG) ./run + cd ./test && IMAGE=$(REPO):$(TAG) ./run.sh push: docker push $(REPO):$(TAG) @@ -74,6 +74,6 @@ clean: -docker rm -f $(NAME) compare-orig-configs: - ./compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + ./compare_orig_configs.sh $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/5.3/compare_orig_configs b/5.3/compare_orig_configs.sh similarity index 100% rename from 5.3/compare_orig_configs rename to 5.3/compare_orig_configs.sh diff --git a/5.3/test/docker-compose.yml b/5.3/test/docker-compose.yml index 072804ba..992a27db 100644 --- a/5.3/test/docker-compose.yml +++ b/5.3/test/docker-compose.yml @@ -72,7 +72,7 @@ services: 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ -----END RSA PRIVATE KEY----- volumes: - - ./tests:/usr/local/bin/tests + - ./tests.sh:/usr/local/bin/tests.sh - ./php_modules:/home/wodby/php_modules depends_on: - sshd diff --git a/5.3/test/run b/5.3/test/run.sh similarity index 98% rename from 5.3/test/run rename to 5.3/test/run.sh index de1d48d1..0635abcc 100755 --- a/5.3/test/run +++ b/5.3/test/run.sh @@ -42,7 +42,7 @@ run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 # PHP tools -docker_exec php tests +docker_exec php tests.sh # SSH echo -n "Testing ssh... " diff --git a/5.3/test/tests b/5.3/test/tests.sh similarity index 100% rename from 5.3/test/tests rename to 5.3/test/tests.sh diff --git a/5.6/Makefile b/5.6/Makefile index ad5cdd39..665414a9 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -50,7 +50,7 @@ build: ./ test: - cd ./test && IMAGE=$(REPO):$(TAG) ./run + cd ./test && IMAGE=$(REPO):$(TAG) ./run.sh push: docker push $(REPO):$(TAG) @@ -74,6 +74,6 @@ clean: -docker rm -f $(NAME) compare-orig-configs: - ./compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + ./compare_orig_configs.sh $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/5.6/compare_orig_configs b/5.6/compare_orig_configs.sh similarity index 100% rename from 5.6/compare_orig_configs rename to 5.6/compare_orig_configs.sh diff --git a/5.6/test/docker-compose.yml b/5.6/test/docker-compose.yml index af3a0c3d..52795c56 100644 --- a/5.6/test/docker-compose.yml +++ b/5.6/test/docker-compose.yml @@ -72,7 +72,7 @@ services: 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ -----END RSA PRIVATE KEY----- volumes: - - ./tests:/usr/local/bin/tests + - ./tests.sh:/usr/local/bin/tests.sh - ./php_modules:/home/wodby/php_modules depends_on: - sshd diff --git a/5.6/test/run b/5.6/test/run.sh similarity index 98% rename from 5.6/test/run rename to 5.6/test/run.sh index de1d48d1..0635abcc 100755 --- a/5.6/test/run +++ b/5.6/test/run.sh @@ -42,7 +42,7 @@ run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 # PHP tools -docker_exec php tests +docker_exec php tests.sh # SSH echo -n "Testing ssh... " diff --git a/5.6/test/tests b/5.6/test/tests.sh similarity index 100% rename from 5.6/test/tests rename to 5.6/test/tests.sh diff --git a/7/Makefile b/7/Makefile index 334d0366..f69bcba2 100644 --- a/7/Makefile +++ b/7/Makefile @@ -50,7 +50,7 @@ build: ./ test: - cd ./test && IMAGE=$(REPO):$(TAG) ./run + cd ./test && IMAGE=$(REPO):$(TAG) ./run.sh push: docker push $(REPO):$(TAG) @@ -74,6 +74,6 @@ clean: -docker rm -f $(NAME) compare-orig-configs: - ./compare_orig_configs $(PHP_VER) $(PHP_VER_MINOR) + ./compare_orig_configs.sh $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/7/compare_orig_configs b/7/compare_orig_configs.sh similarity index 100% rename from 7/compare_orig_configs rename to 7/compare_orig_configs.sh diff --git a/7/test/docker-compose.yml b/7/test/docker-compose.yml index d9b2f68c..8852bf7c 100644 --- a/7/test/docker-compose.yml +++ b/7/test/docker-compose.yml @@ -73,7 +73,7 @@ services: 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ -----END RSA PRIVATE KEY----- volumes: - - ./tests:/usr/local/bin/tests + - ./tests.sh:/usr/local/bin/tests.sh - ./php_modules:/home/wodby/php_modules depends_on: - sshd diff --git a/7/test/run b/7/test/run.sh similarity index 98% rename from 7/test/run rename to 7/test/run.sh index de1d48d1..0635abcc 100755 --- a/7/test/run +++ b/7/test/run.sh @@ -42,7 +42,7 @@ run_action php check-ready max_try=10 run_action php migrate from=4.4.0 to=5.0.0 # PHP tools -docker_exec php tests +docker_exec php tests.sh # SSH echo -n "Testing ssh... " diff --git a/7/test/tests b/7/test/tests.sh similarity index 100% rename from 7/test/tests rename to 7/test/tests.sh diff --git a/travis_release b/release.sh similarity index 100% rename from travis_release rename to release.sh From ddd4ed85fe85f5ea132d72cd8a65f8d1076adb75 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 11:48:16 +0700 Subject: [PATCH 150/559] Add files_chown helper script --- 5.3/Dockerfile | 1 + 5.3/bin/files_chown | 16 ++++++++++++++++ 5.6/Dockerfile | 1 + 5.6/bin/files_chown | 16 ++++++++++++++++ 7/Dockerfile | 1 + 7/bin/files_chown | 16 ++++++++++++++++ README.md | 10 +++++++--- 7 files changed, 58 insertions(+), 3 deletions(-) create mode 100755 5.3/bin/files_chown create mode 100755 5.6/bin/files_chown create mode 100755 7/bin/files_chown diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 795428f0..27e3f7f0 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -218,6 +218,7 @@ RUN set -xe; \ else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/bin/files_chmod, ' ; \ + echo -n '/usr/local/bin/files_chown, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ echo -n '/usr/local/bin/init_volumes, ' ; \ diff --git a/5.3/bin/files_chown b/5.3/bin/files_chown new file mode 100755 index 00000000..c99b147c --- /dev/null +++ b/5.3/bin/files_chown @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +dir=$1 + +if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then + chown -R www-data:www-data "${dir}" +else + echo "Only dir/files under ${FILES_DIR} allowed" + exit 1 +fi diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 3762c472..c66051d1 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -249,6 +249,7 @@ RUN set -xe; \ else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/bin/files_chmod, ' ; \ + echo -n '/usr/local/bin/files_chown, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ echo -n '/usr/local/bin/init_volumes, ' ; \ diff --git a/5.6/bin/files_chown b/5.6/bin/files_chown new file mode 100755 index 00000000..c99b147c --- /dev/null +++ b/5.6/bin/files_chown @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +dir=$1 + +if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then + chown -R www-data:www-data "${dir}" +else + echo "Only dir/files under ${FILES_DIR} allowed" + exit 1 +fi diff --git a/7/Dockerfile b/7/Dockerfile index 1f0596a6..8064ae70 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -275,6 +275,7 @@ RUN set -xe; \ else \ echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ echo -n '/usr/local/bin/files_chmod, ' ; \ + echo -n '/usr/local/bin/files_chown, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ echo -n '/usr/local/bin/init_volumes, ' ; \ diff --git a/7/bin/files_chown b/7/bin/files_chown new file mode 100755 index 00000000..c99b147c --- /dev/null +++ b/7/bin/files_chown @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -e + +if [[ -n "${DEBUG}" ]]; then + set -x +fi + +dir=$1 + +if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then + chown -R www-data:www-data "${dir}" +else + echo "Only dir/files under ${FILES_DIR} allowed" + exit 1 +fi diff --git a/README.md b/README.md index 4164916c..445bdd27 100644 --- a/README.md +++ b/README.md @@ -411,12 +411,16 @@ Include all changes from `-dev` images and additionally: Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM runs from `www-data:www-data` user (UID/GID `82`) by default. User `wodby` is a part of `www-data` group. -Codebase volume `$APP_ROOT` (`/var/www/html`) owned by `wodby:wodby`. - -Files volume `$FILES_DIR` (`/mnt/files`) owned by `www-data:www-data` with `775` mode. In case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo files_chmod [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `ug=rwX,o=rX`. +Codebase volume `$APP_ROOT` (`/var/www/html`) owned by `wodby:wodby`. Files volume `$FILES_DIR` (`/mnt/files`) owned by `www-data:www-data` with `775` mode. See https://github.com/wodby/php/issues/22 for more details. +#### Helper scripts + +* `files_chmod` – in case you need write access for `wodby` user to a file/dir generated by `www-data` on this volume run `sudo files_chmod [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change the mode to `ug=rwX,o=rX` + +* `files_chown` – in case you manually uploaded files under `wodby` user to files volume and want to change the ownership of those files to `www-data` run `sudo files_chown [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change ownership to `www-data:www-data` + ## Complete PHP stack See [wodby/docker4php](https://github.com/wodby/docker4php) for the complete PHP stack. From efe6b80e7fe5b362d67a9032051f9428e63eb679 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 11:49:52 +0700 Subject: [PATCH 151/559] Remove pthreads extension since it requires --enable-maintainer-zts --- 5.6/Dockerfile | 3 --- 5.6/test/php_modules | 1 - 7/Dockerfile | 6 +----- 7/test/php_modules/7.0 | 1 - 7/test/php_modules/7.1 | 1 - README.md | 2 -- 6 files changed, 1 insertion(+), 13 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index c66051d1..997e7e15 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -22,7 +22,6 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MEMCACHED_VER="2.2.0" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="1.2.3" \ - EXT_PTHREADS_VER="2.0.10" \ EXT_REDIS_VER="3.1.6" \ EXT_UPLOADPROGRESS_VER="1.0.3.1" \ EXT_XDEBUG_VER="2.5.5" \ @@ -198,7 +197,6 @@ RUN set -xe; \ "memcached-${EXT_MEMCACHED_VER}" \ "mongodb-${EXT_MONGODB_VER}" \ "oauth-${EXT_OAUTH_VER}" \ - "pthreads-${EXT_PTHREADS_VER}" \ "redis-${EXT_REDIS_VER}" \ "uploadprogress-${EXT_UPLOADPROGRESS_VER}" \ "xdebug-${EXT_XDEBUG_VER}" \ @@ -213,7 +211,6 @@ RUN set -xe; \ memcached \ mongodb \ oauth \ - pthreads \ redis \ uploadprogress \ xdebug \ diff --git a/5.6/test/php_modules b/5.6/test/php_modules index a4b1a166..ea593e8e 100644 --- a/5.6/test/php_modules +++ b/5.6/test/php_modules @@ -47,7 +47,6 @@ pdo_sqlite pgsql Phar posix -pthreads readline redis Reflection diff --git a/7/Dockerfile b/7/Dockerfile index 8064ae70..a3fbf3b7 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -24,7 +24,6 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="2.0.2" \ - EXT_PTHREADS_VER="3.1.6" \ EXT_REDIS_VER="3.1.6" \ EXT_XDEBUG_VER="2.6.0" \ EXT_YAML_VER="2.0.2" \ @@ -180,14 +179,11 @@ RUN set -xe; \ # PECL extensions pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ \ + # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ - # mcrypt moved to pecl in PHP 7.2 pecl install mcrypt-${PHP72_EXT_MCRYPT_VER}; \ docker-php-ext-enable mcrypt; \ else \ - # - pecl install "pthreads-${EXT_PTHREADS_VER}"; \ - docker-php-ext-enable pthreads; \ docker-php-ext-install mcrypt; \ fi; \ \ diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index 4d8e21ac..b9a853fc 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -46,7 +46,6 @@ pdo_sqlite pgsql Phar posix -pthreads readline redis Reflection diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index 4d8e21ac..b9a853fc 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -46,7 +46,6 @@ pdo_sqlite pgsql Phar posix -pthreads readline redis Reflection diff --git a/README.md b/README.md index 445bdd27..120927a0 100644 --- a/README.md +++ b/README.md @@ -276,7 +276,6 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag [mongodb]: http://pecl.php.net/package/mongodb [newrelic]: http://download.newrelic.com/php_agent/release [OAuth]: http://pecl.php.net/package/oauth -[pthreads]: http://pecl.php.net/package/pthreads [redis]: http://pecl.php.net/package/redis [uploadprogress]: https://pecl.php.net/package/uploadprogress [uploadprogress]: https://pecl.php.net/package/uploadprogress @@ -339,7 +338,6 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | pgsql | | | | | | Phar | | | | | | posix | | | | | -| [pthreads] | - | 3.1.6 | 3.1.6 | 2.0.10 | | readline | | | | | | [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | | Reflection | | | | | From bbac0ece4739fdf8cb1de9dab8c591a76193446b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 12:05:24 +0700 Subject: [PATCH 152/559] Add gmp-dev to build dependencies --- 5.6/Dockerfile | 1 + 7/Dockerfile | 1 + 2 files changed, 2 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 997e7e15..72f778b6 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -113,6 +113,7 @@ RUN set -xe; \ bzip2-dev \ freetype-dev \ geoip-dev \ + gmp-dev \ icu-dev \ imagemagick-dev \ imap-dev \ diff --git a/7/Dockerfile b/7/Dockerfile index a3fbf3b7..27e91dd0 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -118,6 +118,7 @@ RUN set -xe; \ bzip2-dev \ freetype-dev \ geoip-dev \ + gmp-dev \ icu-dev \ imagemagick-dev \ imap-dev \ From f62e0cc02a9acfea8dff1299391ba9ee7bfee686 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 12:47:26 +0700 Subject: [PATCH 153/559] Fix release script name --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4f506957..44fc11b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,4 +40,4 @@ script: - make test after_success: - - . "${TRAVIS_BUILD_DIR}/travis_release.sh" + - . "${TRAVIS_BUILD_DIR}/release.sh" From 80001f344d354a4d04a4f33f1438141982d14a2a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 15:51:10 +0700 Subject: [PATCH 154/559] Cleanup --- 7/Dockerfile | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 27e91dd0..6fd24874 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -203,6 +203,7 @@ RUN set -xe; \ pecl install \ "amqp-${EXT_AMQP_VER}" \ "apcu-${EXT_APCU_VER}" \ + "ast-${EXT_AST_VER}" \ "ds-${EXT_DS_VER}" \ "geoip-${EXT_GEOIP_VER}" \ "grpc-${EXT_GRPC_VER}" \ @@ -217,6 +218,7 @@ RUN set -xe; \ docker-php-ext-enable \ amqp \ apcu \ + ast \ ds \ imagick \ geoip \ @@ -239,16 +241,8 @@ RUN set -xe; \ mkdir -p /usr/src/php/ext/uploadprogress; \ up_url="https://github.com/wodby/pecl-php-uploadprogress/archive/latest.tar.gz"; \ wget -qO- "${up_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress; \ - docker-php-ext-configure uploadprogress; \ docker-php-ext-install uploadprogress; \ \ - # AST - mkdir -p /usr/src/php/ext/ast; \ - ast_url="https://github.com/nikic/php-ast/archive/v${EXT_AST_VER}.tar.gz"; \ - wget -qO- "${ast_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/ast; \ - docker-php-ext-configure ast; \ - docker-php-ext-install ast; \ - \ # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ From a02d8b678209cc4c4149cf8576f5c6413b1331b1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 16:51:07 +0700 Subject: [PATCH 155/559] Add igbinary extension --- 5.6/Dockerfile | 3 +++ 5.6/docker-entrypoint.sh | 1 + 5.6/templates/docker-php-ext-igbinary.ini.tpl | 3 +++ 5.6/test/php_modules | 1 + 7/Dockerfile | 3 +++ 7/docker-entrypoint.sh | 1 + 7/templates/docker-php-ext-igbinary.ini.tpl | 3 +++ 7/test/php_modules/7.0 | 1 + 7/test/php_modules/7.1 | 1 + 7/test/php_modules/7.2 | 1 + README.md | 3 +++ 11 files changed, 21 insertions(+) create mode 100644 5.6/templates/docker-php-ext-igbinary.ini.tpl create mode 100644 7/templates/docker-php-ext-igbinary.ini.tpl diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 72f778b6..a7c781bc 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -18,6 +18,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_APCU_VER="4.0.11" \ EXT_GEOIP_VER="1.1.1" \ EXT_GRPC_VER="1.8.5" \ + EXT_IGBINARY_VER="2.0.5" \ EXT_IMAGICK_VER="3.4.3" \ EXT_MEMCACHED_VER="2.2.0" \ EXT_MONGODB_VER="1.4.0" \ @@ -194,6 +195,7 @@ RUN set -xe; \ "apcu-${EXT_APCU_VER}" \ "geoip-${EXT_GEOIP_VER}" \ "grpc-${EXT_GRPC_VER}" \ + "igbinary-${EXT_IGBINARY_VER}" \ "imagick-${EXT_IMAGICK_VER}" \ "memcached-${EXT_MEMCACHED_VER}" \ "mongodb-${EXT_MONGODB_VER}" \ @@ -206,6 +208,7 @@ RUN set -xe; \ docker-php-ext-enable \ amqp \ apcu \ + igbinary \ imagick \ geoip \ grpc \ diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 3dd3c550..e55d000a 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -66,6 +66,7 @@ process_templates() { _gotpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" _gotpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" _gotpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + _gotpl "docker-php-ext-igbinary.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" diff --git a/5.6/templates/docker-php-ext-igbinary.ini.tpl b/5.6/templates/docker-php-ext-igbinary.ini.tpl new file mode 100644 index 00000000..fa14b623 --- /dev/null +++ b/5.6/templates/docker-php-ext-igbinary.ini.tpl @@ -0,0 +1,3 @@ +[igbinary] +extension = igbinary.so +igbinary.compact_strings = {{ getenv "PHP_IGBINARY_COMPACT_STRINGS" "On" }} \ No newline at end of file diff --git a/5.6/test/php_modules b/5.6/test/php_modules index ea593e8e..8ea1c6e4 100644 --- a/5.6/test/php_modules +++ b/5.6/test/php_modules @@ -22,6 +22,7 @@ gmp grpc hash iconv +igbinary imagick imap intl diff --git a/7/Dockerfile b/7/Dockerfile index 6fd24874..ac6b8d1f 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -20,6 +20,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_DS_VER="1.2.4" \ EXT_GEOIP_VER="1.1.1" \ EXT_GRPC_VER="1.10.0" \ + EXT_IGBINARY_VER="2.0.5" \ EXT_IMAGICK_VER="3.4.3" \ EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.4.0" \ @@ -207,6 +208,7 @@ RUN set -xe; \ "ds-${EXT_DS_VER}" \ "geoip-${EXT_GEOIP_VER}" \ "grpc-${EXT_GRPC_VER}" \ + "igbinary-${EXT_IGBINARY_VER}" \ "imagick-${EXT_IMAGICK_VER}" \ "memcached-${EXT_MEMCACHED_VER}" \ "mongodb-${EXT_MONGODB_VER}" \ @@ -220,6 +222,7 @@ RUN set -xe; \ apcu \ ast \ ds \ + igbinary \ imagick \ geoip \ grpc \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index bc1fc4a2..a526dffa 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -68,6 +68,7 @@ process_templates() { _gotpl "docker-php-${php_ver_minor}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" _gotpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" _gotpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + _gotpl "docker-php-ext-igbinary.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" diff --git a/7/templates/docker-php-ext-igbinary.ini.tpl b/7/templates/docker-php-ext-igbinary.ini.tpl new file mode 100644 index 00000000..fa14b623 --- /dev/null +++ b/7/templates/docker-php-ext-igbinary.ini.tpl @@ -0,0 +1,3 @@ +[igbinary] +extension = igbinary.so +igbinary.compact_strings = {{ getenv "PHP_IGBINARY_COMPACT_STRINGS" "On" }} \ No newline at end of file diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index b9a853fc..515412d3 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -22,6 +22,7 @@ gmp grpc hash iconv +igbinary imagick imap intl diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index b9a853fc..515412d3 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -22,6 +22,7 @@ gmp grpc hash iconv +igbinary imagick imap intl diff --git a/7/test/php_modules/7.2 b/7/test/php_modules/7.2 index 570ec464..6693d732 100644 --- a/7/test/php_modules/7.2 +++ b/7/test/php_modules/7.2 @@ -22,6 +22,7 @@ gmp grpc hash iconv +igbinary imagick imap intl diff --git a/README.md b/README.md index 120927a0..49ccd5f7 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_GEOIP_CUSTOM_DIR`] | | | | | +| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | | [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | | [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | | [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | @@ -270,6 +271,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag [ds]: https://pecl.php.net/package/ds [geoip]: https://pecl.php.net/package/geoip [grpc]: https://pecl.php.net/package/grpc +[igbinary]: https://pecl.php.net/package/igbinary [imagick]: https://pecl.php.net/package/imagick [memcached]: http://pecl.php.net/package/memcached [mongo]: http://pecl.php.net/package/mongo @@ -312,6 +314,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | [grpc] | 1.10.0 | 1.10.0 | 1.10.0 | - | | hash | | | | | | iconv | | | | | +| [igbinary] | 2.0.5 | 2.0.5 | 2.0.5 | 2.0.5 | | [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | | imap | | | | | | intl | | | | | From e7b39f0932f75b67a4cab7fce95649bff3998735 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 17:01:42 +0700 Subject: [PATCH 156/559] Update apcu to 5.0.11, add apc.serializer configuration to PHP 7.x --- 7/Dockerfile | 2 +- 7/templates/docker-php-ext-apcu.ini.tpl | 1 + README.md | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index ac6b8d1f..59332271 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -15,7 +15,7 @@ ENV PHP_DEV="${PHP_DEV}" \ WALTER_VER="1.3.0" \ \ EXT_AMQP_VER="1.9.3" \ - EXT_APCU_VER="5.1.10" \ + EXT_APCU_VER="5.1.11" \ EXT_AST_VER="0.1.6" \ EXT_DS_VER="1.2.4" \ EXT_GEOIP_VER="1.1.1" \ diff --git a/7/templates/docker-php-ext-apcu.ini.tpl b/7/templates/docker-php-ext-apcu.ini.tpl index 4f9eeb0f..3e703b2b 100644 --- a/7/templates/docker-php-ext-apcu.ini.tpl +++ b/7/templates/docker-php-ext-apcu.ini.tpl @@ -11,3 +11,4 @@ apc.enable_cli = {{ getenv "PHP_APCU_ENABLE_CLI" "0" }} apc.use_request_time = {{ getenv "PHP_APCU_USE_REQUEST_TIME" "1" }} apc.coredump_unmap = {{ getenv "PHP_APCU_COREDUMP_UNMAP" "0" }} apc.preload_path = {{ getenv "PHP_APCU_PRELOAD_PATH" "NULL" }} +apc.serializer = {{ getenv "PHP_APCU_SERIALIZER" "default" }} \ No newline at end of file diff --git a/README.md b/README.md index 49ccd5f7..13a89700 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,7 @@ Supported tags and respective `Dockerfile` links: [`PHP_APCU_COREDUMP_UNMAP`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.coredump-unmap [`PHP_APCU_GC_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.gc-ttl [`PHP_APCU_PRELOAD_PATH`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.preload-path +[`PHP_APCU_SERIALIZER`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.serializer [`PHP_APCU_SHM_SEGMENTS`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.shm-segments [`PHP_APCU_SHM_SIZE`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.shm-size [`PHP_APCU_SLAM_DEFENSE`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.slam-defense @@ -157,6 +158,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | | [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | | [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | +| [`PHP_APCU_SERIALIZER`] | `default` | `default` | `default` | - | | [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | | [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | | [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | @@ -292,7 +294,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | ---------------- | -------- | -------- | -------- | -------- | | [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | | apc | - | - | - | - | -| [apcu] | 5.1.10 | 5.1.10 | 5.1.10 | 4.0.11 | +| [apcu] | 5.1.11 | 5.1.11 | 5.1.11 | 4.0.11 | | [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | | [blackfire] | latest | latest | latest | latest | | bcmath | | | | | From b0ad89b79b653099560ca185effe8ad2fa32aed1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 17:24:36 +0700 Subject: [PATCH 157/559] Use wodby app and environment name in bash PS1 --- 5.3/Dockerfile | 1 - 5.3/docker-entrypoint.sh | 11 +++++++++++ 5.6/Dockerfile | 1 - 5.6/docker-entrypoint.sh | 11 +++++++++++ 7/Dockerfile | 1 - 7/docker-entrypoint.sh | 11 +++++++++++ 6 files changed, 33 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 27e3f7f0..8e1710a9 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -46,7 +46,6 @@ RUN set -xe; \ adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ - echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ apk add --update --no-cache -t .php-rundeps \ bzip2 \ diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index aaeac80a..733ac813 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -67,8 +67,19 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } +init_shell() { + local host="php" + + if [[ -n "${WODBY_APP_NAME}" && -n "${WODBY_ENVIRONMENT_NAME}" ]]; then + host="${WODBY_APP_NAME}.${WODBY_ENVIRONMENT_NAME}" + fi + + echo "PS1='\u@${host}:\w \$ '" >> ~/.bashrc +} + sudo init_volumes +init_shell init_ssh_client init_git process_templates diff --git a/5.6/Dockerfile b/5.6/Dockerfile index a7c781bc..6f8b7fb9 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -70,7 +70,6 @@ RUN set -xe; \ adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ - echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ apk add --update --no-cache -t .php-rundeps \ "c-client=${C_CLIENT_VER}" \ diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index e55d000a..52c17b84 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -78,8 +78,19 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } +init_shell() { + local host="php" + + if [[ -n "${WODBY_APP_NAME}" && -n "${WODBY_ENVIRONMENT_NAME}" ]]; then + host="${WODBY_APP_NAME}.${WODBY_ENVIRONMENT_NAME}" + fi + + echo "PS1='\u@${host}:\w \$ '" >> ~/.bashrc +} + sudo init_volumes +init_shell init_ssh_client init_git process_templates diff --git a/7/Dockerfile b/7/Dockerfile index 59332271..08244e16 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -74,7 +74,6 @@ RUN set -xe; \ adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ - echo "PS1='\w\$ '" >> /home/wodby/.bashrc; \ \ apk add --update --no-cache -t .php-rundeps \ "c-client=${C_CLIENT_VER}" \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index a526dffa..7616707d 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -80,8 +80,19 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } +init_shell() { + local host="php" + + if [[ -n "${WODBY_APP_NAME}" && -n "${WODBY_ENVIRONMENT_NAME}" ]]; then + host="${WODBY_APP_NAME}.${WODBY_ENVIRONMENT_NAME}" + fi + + echo "PS1='\u@${host}:\w \$ '" >> ~/.bashrc +} + sudo init_volumes +init_shell init_ssh_client init_git process_templates From 7bf2a3ad1c462a3d7b28888dc2ac1069f20b6b65 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 18:10:03 +0700 Subject: [PATCH 158/559] Do not set apc.serializer unless instructed --- 5.6/templates/docker-php-ext-apcu.ini.tpl | 8 ++++++++ 7/templates/docker-php-ext-apcu.ini.tpl | 9 ++++++++- README.md | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/5.6/templates/docker-php-ext-apcu.ini.tpl b/5.6/templates/docker-php-ext-apcu.ini.tpl index 4f9eeb0f..5479d0e2 100644 --- a/5.6/templates/docker-php-ext-apcu.ini.tpl +++ b/5.6/templates/docker-php-ext-apcu.ini.tpl @@ -11,3 +11,11 @@ apc.enable_cli = {{ getenv "PHP_APCU_ENABLE_CLI" "0" }} apc.use_request_time = {{ getenv "PHP_APCU_USE_REQUEST_TIME" "1" }} apc.coredump_unmap = {{ getenv "PHP_APCU_COREDUMP_UNMAP" "0" }} apc.preload_path = {{ getenv "PHP_APCU_PRELOAD_PATH" "NULL" }} + +{{ if getenv "PHP_APCU_SERIALIZER" }} +; Default value of serializer is "php" when it's not set +; Despite the segfault bug was resolved, avoid using "default" for safety +; https://github.com/krakjoe/apcu/issues/260 +; https://github.com/krakjoe/apcu/issues/248 +apc.serializer = {{ getenv "PHP_APCU_SERIALIZER" }} +{{ end }} diff --git a/7/templates/docker-php-ext-apcu.ini.tpl b/7/templates/docker-php-ext-apcu.ini.tpl index 3e703b2b..5479d0e2 100644 --- a/7/templates/docker-php-ext-apcu.ini.tpl +++ b/7/templates/docker-php-ext-apcu.ini.tpl @@ -11,4 +11,11 @@ apc.enable_cli = {{ getenv "PHP_APCU_ENABLE_CLI" "0" }} apc.use_request_time = {{ getenv "PHP_APCU_USE_REQUEST_TIME" "1" }} apc.coredump_unmap = {{ getenv "PHP_APCU_COREDUMP_UNMAP" "0" }} apc.preload_path = {{ getenv "PHP_APCU_PRELOAD_PATH" "NULL" }} -apc.serializer = {{ getenv "PHP_APCU_SERIALIZER" "default" }} \ No newline at end of file + +{{ if getenv "PHP_APCU_SERIALIZER" }} +; Default value of serializer is "php" when it's not set +; Despite the segfault bug was resolved, avoid using "default" for safety +; https://github.com/krakjoe/apcu/issues/260 +; https://github.com/krakjoe/apcu/issues/248 +apc.serializer = {{ getenv "PHP_APCU_SERIALIZER" }} +{{ end }} diff --git a/README.md b/README.md index 13a89700..2195582e 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | | [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | | [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | -| [`PHP_APCU_SERIALIZER`] | `default` | `default` | `default` | - | +| [`PHP_APCU_SERIALIZER`] | | | | | | [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | | [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | | [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | From bba9628fa235244b60a1e4f0664d01af2d5eb071 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 18:25:32 +0700 Subject: [PATCH 159/559] Use env vars directly for bash prompt host --- 5.3/.bashrc | 1 + 5.3/Dockerfile | 1 + 5.3/docker-entrypoint.sh | 11 ----------- 5.6/.bashrc | 1 + 5.6/Dockerfile | 1 + 5.6/docker-entrypoint.sh | 11 ----------- 7/.bashrc | 1 + 7/Dockerfile | 1 + 7/docker-entrypoint.sh | 11 ----------- 9 files changed, 6 insertions(+), 33 deletions(-) create mode 100644 5.3/.bashrc create mode 100644 5.6/.bashrc create mode 100644 7/.bashrc diff --git a/5.3/.bashrc b/5.3/.bashrc new file mode 100644 index 00000000..bb744319 --- /dev/null +++ b/5.3/.bashrc @@ -0,0 +1 @@ +PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 8e1710a9..f502acd8 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -283,6 +283,7 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 +COPY --chown wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 733ac813..aaeac80a 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -67,19 +67,8 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -init_shell() { - local host="php" - - if [[ -n "${WODBY_APP_NAME}" && -n "${WODBY_ENVIRONMENT_NAME}" ]]; then - host="${WODBY_APP_NAME}.${WODBY_ENVIRONMENT_NAME}" - fi - - echo "PS1='\u@${host}:\w \$ '" >> ~/.bashrc -} - sudo init_volumes -init_shell init_ssh_client init_git process_templates diff --git a/5.6/.bashrc b/5.6/.bashrc new file mode 100644 index 00000000..bb744319 --- /dev/null +++ b/5.6/.bashrc @@ -0,0 +1 @@ +PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 6f8b7fb9..ab91af07 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -315,6 +315,7 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 +COPY --chown wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 52c17b84..e55d000a 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -78,19 +78,8 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -init_shell() { - local host="php" - - if [[ -n "${WODBY_APP_NAME}" && -n "${WODBY_ENVIRONMENT_NAME}" ]]; then - host="${WODBY_APP_NAME}.${WODBY_ENVIRONMENT_NAME}" - fi - - echo "PS1='\u@${host}:\w \$ '" >> ~/.bashrc -} - sudo init_volumes -init_shell init_ssh_client init_git process_templates diff --git a/7/.bashrc b/7/.bashrc new file mode 100644 index 00000000..bb744319 --- /dev/null +++ b/7/.bashrc @@ -0,0 +1 @@ +PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/7/Dockerfile b/7/Dockerfile index 08244e16..df9e8932 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -336,6 +336,7 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 +COPY --chown wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 7616707d..a526dffa 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -80,19 +80,8 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -init_shell() { - local host="php" - - if [[ -n "${WODBY_APP_NAME}" && -n "${WODBY_ENVIRONMENT_NAME}" ]]; then - host="${WODBY_APP_NAME}.${WODBY_ENVIRONMENT_NAME}" - fi - - echo "PS1='\u@${host}:\w \$ '" >> ~/.bashrc -} - sudo init_volumes -init_shell init_ssh_client init_git process_templates From 393ebcf6fbc67c6eccf77d84cb989bce8264d2f4 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 18 Apr 2018 19:43:09 +0700 Subject: [PATCH 160/559] Fix Dockerfile syntax --- 5.3/Dockerfile | 2 +- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index f502acd8..72c57e91 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -283,7 +283,7 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 -COPY --chown wodby:wodby .bashrc /home/wodby/ +COPY --chown=wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index ab91af07..44d71ef4 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -315,7 +315,7 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 -COPY --chown wodby:wodby .bashrc /home/wodby/ +COPY --chown=wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ diff --git a/7/Dockerfile b/7/Dockerfile index df9e8932..0ae36afe 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -336,7 +336,7 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 -COPY --chown wodby:wodby .bashrc /home/wodby/ +COPY --chown=wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ From c657fe4b0e279b83ac6fe3498205e2b45bd6fbab Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 19 Apr 2018 17:09:25 +0700 Subject: [PATCH 161/559] Update scripts' names to standard --- .travis.yml | 2 +- 5.3/Makefile | 4 ++-- 5.3/{compare_orig_configs.sh => check-configs.sh} | 0 5.6/Makefile | 4 ++-- 5.6/{compare_orig_configs.sh => check-configs.sh} | 0 7/Makefile | 4 ++-- 7/{compare_orig_configs.sh => check-configs.sh} | 0 7 files changed, 7 insertions(+), 7 deletions(-) rename 5.3/{compare_orig_configs.sh => check-configs.sh} (100%) rename 5.6/{compare_orig_configs.sh => check-configs.sh} (100%) rename 7/{compare_orig_configs.sh => check-configs.sh} (100%) diff --git a/.travis.yml b/.travis.yml index 44fc11b9..d76f41ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,7 @@ env: script: - set -e - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - - make compare-orig-configs + - make check-configs - travis_retry make - make test diff --git a/5.3/Makefile b/5.3/Makefile index 446cf95f..d7043896 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -73,7 +73,7 @@ logs: clean: -docker rm -f $(NAME) -compare-orig-configs: - ./compare_orig_configs.sh $(PHP_VER) $(PHP_VER_MINOR) +check-configs: + ./check-configs.sh $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/5.3/compare_orig_configs.sh b/5.3/check-configs.sh similarity index 100% rename from 5.3/compare_orig_configs.sh rename to 5.3/check-configs.sh diff --git a/5.6/Makefile b/5.6/Makefile index 665414a9..e0d15d38 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -73,7 +73,7 @@ logs: clean: -docker rm -f $(NAME) -compare-orig-configs: - ./compare_orig_configs.sh $(PHP_VER) $(PHP_VER_MINOR) +check-configs: + ./check-configs.sh $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/5.6/compare_orig_configs.sh b/5.6/check-configs.sh similarity index 100% rename from 5.6/compare_orig_configs.sh rename to 5.6/check-configs.sh diff --git a/7/Makefile b/7/Makefile index f69bcba2..937d8f03 100644 --- a/7/Makefile +++ b/7/Makefile @@ -73,7 +73,7 @@ logs: clean: -docker rm -f $(NAME) -compare-orig-configs: - ./compare_orig_configs.sh $(PHP_VER) $(PHP_VER_MINOR) +check-configs: + ./check-configs.sh $(PHP_VER) $(PHP_VER_MINOR) release: build push diff --git a/7/compare_orig_configs.sh b/7/check-configs.sh similarity index 100% rename from 7/compare_orig_configs.sh rename to 7/check-configs.sh From f1345d863014905b8d839d01dc26f34bc4a0c153 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 19 Apr 2018 17:12:46 +0700 Subject: [PATCH 162/559] Move out all shell settings to a single file --- 5.3/.bashrc | 1 - 5.3/.shrc | 1 + 5.3/Dockerfile | 7 ++++++- 5.6/.bashrc | 1 - 5.6/.shrc | 1 + 5.6/Dockerfile | 7 ++++++- 7/.bashrc | 1 - 7/.shrc | 1 + 7/Dockerfile | 8 ++++++-- 9 files changed, 21 insertions(+), 7 deletions(-) delete mode 100644 5.3/.bashrc create mode 100644 5.3/.shrc delete mode 100644 5.6/.bashrc create mode 100644 5.6/.shrc delete mode 100644 7/.bashrc create mode 100644 7/.shrc diff --git a/5.3/.bashrc b/5.3/.bashrc deleted file mode 100644 index bb744319..00000000 --- a/5.3/.bashrc +++ /dev/null @@ -1 +0,0 @@ -PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/5.3/.shrc b/5.3/.shrc new file mode 100644 index 00000000..c9993228 --- /dev/null +++ b/5.3/.shrc @@ -0,0 +1 @@ +export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 72c57e91..6bf7dc39 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -28,12 +28,15 @@ ENV PHP_DEV="${PHP_DEV}" \ FILES_DIR="/mnt/files" \ PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ + ENV="/home/wodby/.shrc" \ \ GIT_USER_EMAIL="wodby@example.com" \ GIT_USER_NAME="wodby" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" +COPY --chown=wodby:wodby .shrc /home/wodby/ + RUN set -xe; \ \ # Delete existing user/group if uid/gid occupied. @@ -206,7 +209,9 @@ RUN set -xe; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ # Make sure PATH is correct for drush ssh. - su-exec wodby echo "export PATH=${PATH}" > /home/wodby/.profile; \ + su-exec wodby echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + # Make sure bash uses the same settings as ash. + cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ # Configure sudoers { \ diff --git a/5.6/.bashrc b/5.6/.bashrc deleted file mode 100644 index bb744319..00000000 --- a/5.6/.bashrc +++ /dev/null @@ -1 +0,0 @@ -PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/5.6/.shrc b/5.6/.shrc new file mode 100644 index 00000000..c9993228 --- /dev/null +++ b/5.6/.shrc @@ -0,0 +1 @@ +export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 44d71ef4..d3c2056c 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -54,10 +54,13 @@ ENV APP_ROOT="/var/www/html" \ FILES_DIR="/mnt/files" \ PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ + ENV="/home/wodby/.shrc" \ \ GIT_USER_EMAIL="wodby@example.com" \ GIT_USER_NAME="wodby" +COPY --chown=wodby:wodby .shrc /home/wodby/ + RUN set -xe; \ \ # Delete existing user/group if uid/gid occupied. @@ -238,7 +241,9 @@ RUN set -xe; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ # Make sure PATH is correct for drush ssh. - su-exec wodby echo "export PATH=${PATH}" > /home/wodby/.profile; \ + su-exec wodby echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + # Make sure bash uses the same settings as ash. + cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ # Configure sudoers { \ diff --git a/7/.bashrc b/7/.bashrc deleted file mode 100644 index bb744319..00000000 --- a/7/.bashrc +++ /dev/null @@ -1 +0,0 @@ -PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/7/.shrc b/7/.shrc new file mode 100644 index 00000000..c9993228 --- /dev/null +++ b/7/.shrc @@ -0,0 +1 @@ +export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/7/Dockerfile b/7/Dockerfile index 0ae36afe..529dd617 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -58,10 +58,13 @@ ENV APP_ROOT="/var/www/html" \ FILES_DIR="/mnt/files" \ PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ + ENV="/home/wodby/.shrc" \ \ GIT_USER_EMAIL="wodby@example.com" \ GIT_USER_NAME="wodby" +COPY --chown=wodby:wodby .shrc /home/wodby/ + RUN set -xe; \ \ # Delete existing user/group if uid/gid occupied. @@ -257,7 +260,9 @@ RUN set -xe; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ # Make sure PATH is correct for drush ssh. - su-exec wodby echo "export PATH=${PATH}" > /home/wodby/.profile; \ + su-exec wodby echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + # Make sure bash uses the same settings as ash. + cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ # Configure sudoers { \ @@ -336,7 +341,6 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 -COPY --chown=wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ From 61d1244bf1a156e39fb2de5038f2b64adb251300 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 19 Apr 2018 17:22:44 +0700 Subject: [PATCH 163/559] Fix ownership --- 5.3/Dockerfile | 6 +++--- 5.6/Dockerfile | 6 +++--- 7/Dockerfile | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 6bf7dc39..c6e12e41 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -35,7 +35,7 @@ ENV PHP_DEV="${PHP_DEV}" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" -COPY --chown=wodby:wodby .shrc /home/wodby/ +COPY .shrc /home/wodby/ RUN set -xe; \ \ @@ -208,8 +208,8 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Make sure PATH is correct for drush ssh. - su-exec wodby echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + # Make sure PATH is the same for ssh sessions. + echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index d3c2056c..48e11d59 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -59,7 +59,7 @@ ENV APP_ROOT="/var/www/html" \ GIT_USER_EMAIL="wodby@example.com" \ GIT_USER_NAME="wodby" -COPY --chown=wodby:wodby .shrc /home/wodby/ +COPY .shrc /home/wodby/ RUN set -xe; \ \ @@ -240,8 +240,8 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Make sure PATH is correct for drush ssh. - su-exec wodby echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + # Make sure PATH is the same for ssh sessions. + echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ diff --git a/7/Dockerfile b/7/Dockerfile index 529dd617..bc4dbc46 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -63,7 +63,7 @@ ENV APP_ROOT="/var/www/html" \ GIT_USER_EMAIL="wodby@example.com" \ GIT_USER_NAME="wodby" -COPY --chown=wodby:wodby .shrc /home/wodby/ +COPY .shrc /home/wodby/ RUN set -xe; \ \ @@ -259,8 +259,8 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Make sure PATH is correct for drush ssh. - su-exec wodby echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + # Make sure PATH is the same for ssh sessions. + echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ From 8b14714c4e94f928c2dcfa3b89052a706366aaf1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 19 Apr 2018 17:38:32 +0700 Subject: [PATCH 164/559] Generate .shrc completely in Dockerfile --- 5.3/.shrc | 1 - 5.3/Dockerfile | 11 ++++++----- 5.6/.shrc | 1 - 5.6/Dockerfile | 11 ++++++----- 7/.shrc | 1 - 7/Dockerfile | 10 ++++++---- 6 files changed, 18 insertions(+), 17 deletions(-) delete mode 100644 5.3/.shrc delete mode 100644 5.6/.shrc delete mode 100644 7/.shrc diff --git a/5.3/.shrc b/5.3/.shrc deleted file mode 100644 index c9993228..00000000 --- a/5.3/.shrc +++ /dev/null @@ -1 +0,0 @@ -export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/5.3/Dockerfile b/5.3/Dockerfile index c6e12e41..dbe59b4e 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -35,8 +35,6 @@ ENV PHP_DEV="${PHP_DEV}" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" -COPY .shrc /home/wodby/ - RUN set -xe; \ \ # Delete existing user/group if uid/gid occupied. @@ -208,8 +206,12 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Make sure PATH is the same for ssh sessions. - echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + { \ + echo 'export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ "'; \ + # Make sure PATH is the same for ssh sessions. + echo "export PATH=${PATH}"; \ + } | tee /home/wodby/.shrc; \ + \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ @@ -288,7 +290,6 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 -COPY --chown=wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ diff --git a/5.6/.shrc b/5.6/.shrc deleted file mode 100644 index c9993228..00000000 --- a/5.6/.shrc +++ /dev/null @@ -1 +0,0 @@ -export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 48e11d59..960a60ca 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -59,8 +59,6 @@ ENV APP_ROOT="/var/www/html" \ GIT_USER_EMAIL="wodby@example.com" \ GIT_USER_NAME="wodby" -COPY .shrc /home/wodby/ - RUN set -xe; \ \ # Delete existing user/group if uid/gid occupied. @@ -240,8 +238,12 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Make sure PATH is the same for ssh sessions. - echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + { \ + echo 'export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ "'; \ + # Make sure PATH is the same for ssh sessions. + echo "export PATH=${PATH}"; \ + } | tee /home/wodby/.shrc; \ + \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ @@ -320,7 +322,6 @@ USER wodby WORKDIR ${APP_ROOT} EXPOSE 9000 -COPY --chown=wodby:wodby .bashrc /home/wodby/ COPY templates /etc/gotpl/ COPY docker-entrypoint.sh / COPY bin /usr/local/bin/ diff --git a/7/.shrc b/7/.shrc deleted file mode 100644 index c9993228..00000000 --- a/7/.shrc +++ /dev/null @@ -1 +0,0 @@ -export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ " \ No newline at end of file diff --git a/7/Dockerfile b/7/Dockerfile index bc4dbc46..6593b60e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -63,8 +63,6 @@ ENV APP_ROOT="/var/www/html" \ GIT_USER_EMAIL="wodby@example.com" \ GIT_USER_NAME="wodby" -COPY .shrc /home/wodby/ - RUN set -xe; \ \ # Delete existing user/group if uid/gid occupied. @@ -259,8 +257,12 @@ RUN set -xe; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ - # Make sure PATH is the same for ssh sessions. - echo "export PATH=${PATH}" >> /home/wodby/.shrc; \ + { \ + echo 'export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ "'; \ + # Make sure PATH is the same for ssh sessions. + echo "export PATH=${PATH}"; \ + } | tee /home/wodby/.shrc; \ + \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ \ From 26ae1924bba5af4a73a921f155520c05b363b085 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 27 Apr 2018 14:32:42 +0700 Subject: [PATCH 165/559] Update PHP to 7.2.5, 7.1.17, 7.0.30, 5.6.36 --- .travis.yml | 8 ++++---- 5.6/Makefile | 2 +- 7/Makefile | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index d76f41ed..8cf847fe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,10 +6,10 @@ services: env: global: - LATEST_TAG=7.2 - - PHP72=7.2.4 - - PHP71=7.1.16 - - PHP70=7.0.29 - - PHP56=5.6.35 + - PHP72=7.2.5 + - PHP71=7.1.17 + - PHP70=7.0.30 + - PHP56=5.6.36 - PHP53=5.3.29 matrix: - TAG=7.2 PHP_VER="${PHP72}" EXTRA_TAG=7 diff --git a/5.6/Makefile b/5.6/Makefile index e0d15d38..5efe2285 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 5.6.35 +PHP_VER ?= 5.6.36 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php diff --git a/7/Makefile b/7/Makefile index 937d8f03..5a493dc9 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.4 +PHP_VER ?= 7.2.5 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 125dcadfee173191144705049e25d4bc189d6a69 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 27 Apr 2018 14:44:13 +0700 Subject: [PATCH 166/559] Update PHP 7.2 original configs --- 7/orig/php-7.2.ini-development | 4 ++-- 7/orig/php-7.2.ini-production | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index 83ed0fad..57500369 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -878,7 +878,6 @@ default_socket_timeout = 60 ; ; Notes for Windows environments : ; -; - ODBC support is built in, so no dll is needed for it. ; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) ; extension folders as well as the separate PECL DLL download (PHP 5+). ; Be sure to appropriately set the extension_dir directive. @@ -897,6 +896,7 @@ default_socket_timeout = 60 ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql @@ -1042,7 +1042,7 @@ smtp_port = 25 ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On +mail.add_x_header = Off ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index a8fb5c93..9733ec4d 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -885,7 +885,6 @@ default_socket_timeout = 60 ; ; Notes for Windows environments : ; -; - ODBC support is built in, so no dll is needed for it. ; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) ; extension folders as well as the separate PECL DLL download (PHP 5+). ; Be sure to appropriately set the extension_dir directive. @@ -904,6 +903,7 @@ default_socket_timeout = 60 ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql @@ -1049,7 +1049,7 @@ smtp_port = 25 ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On +mail.add_x_header = Off ; The path to a log file that will log all mail() calls. Log entries include ; the full path of the script, line number, To address and headers. From b4b271f5e5b3bd9c56f3c2238aebd3c85c193f6a Mon Sep 17 00:00:00 2001 From: Pavel Prischepa Date: Mon, 7 May 2018 16:02:48 +0700 Subject: [PATCH 167/559] Fixed a typo [no-ci] --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2195582e..d5bf5599 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ Supported tags and respective `Dockerfile` links: [`PHP_FPM_PM_MIN_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers [`PHP_FPM_PM_STATUS_PATH`]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`]: http://php.net/manual/en/install.fpm.configuration.php#request-slowlog-timeout -[`PHP_FPM_START_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers +[`PHP_FPM_PM_START_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers [`PHP_FPM_USER`]: http://php.net/manual/en/install.fpm.configuration.php#user [`PHP_FPM_GROUP`]: http://php.net/manual/en/install.fpm.configuration.php#group @@ -185,7 +185,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | | [`PHP_FPM_PM_STATUS_PATH`] | | | | | | [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | -| [`PHP_FPM_START_SERVERS`] | `2` | `2` | `2` | `2` | +| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | | [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_GEOIP_CUSTOM_DIR`] | | | | | From ae1805011facc115df4643b8f966a12be663c259 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 14 May 2018 18:45:14 +0700 Subject: [PATCH 168/559] Replace bitbucket test git repository --- 5.3/test/run.sh | 2 +- 5.6/test/run.sh | 2 +- 7/test/run.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.3/test/run.sh b/5.3/test/run.sh index 0635abcc..224e4b29 100755 --- a/5.3/test/run.sh +++ b/5.3/test/run.sh @@ -6,7 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -git_url=git@bitbucket.org:wodby/php-git-test.git +git_url=https://github.com/wodby/blank.git wait_for_cron() { executed=0 diff --git a/5.6/test/run.sh b/5.6/test/run.sh index 0635abcc..224e4b29 100755 --- a/5.6/test/run.sh +++ b/5.6/test/run.sh @@ -6,7 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -git_url=git@bitbucket.org:wodby/php-git-test.git +git_url=https://github.com/wodby/blank.git wait_for_cron() { executed=0 diff --git a/7/test/run.sh b/7/test/run.sh index 0635abcc..224e4b29 100755 --- a/7/test/run.sh +++ b/7/test/run.sh @@ -6,7 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -git_url=git@bitbucket.org:wodby/php-git-test.git +git_url=https://github.com/wodby/blank.git wait_for_cron() { executed=0 From e576a29d2f00c7b8f19dc373a804a2350d6a7ad5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 14 May 2018 19:01:24 +0700 Subject: [PATCH 169/559] Do not rely on third-party repos for tests --- 5.3/test/run.sh | 2 +- 5.6/test/run.sh | 2 +- 7/test/run.sh | 2 +- index.php | 4 ++++ script.sh | 5 +++++ wodby.yml | 12 ++++++++++++ 6 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 index.php create mode 100644 script.sh create mode 100644 wodby.yml diff --git a/5.3/test/run.sh b/5.3/test/run.sh index 224e4b29..1f239562 100755 --- a/5.3/test/run.sh +++ b/5.3/test/run.sh @@ -6,7 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -git_url=https://github.com/wodby/blank.git +git_url=https://github.com/wodby/php.git wait_for_cron() { executed=0 diff --git a/5.6/test/run.sh b/5.6/test/run.sh index 224e4b29..1f239562 100755 --- a/5.6/test/run.sh +++ b/5.6/test/run.sh @@ -6,7 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -git_url=https://github.com/wodby/blank.git +git_url=https://github.com/wodby/php.git wait_for_cron() { executed=0 diff --git a/7/test/run.sh b/7/test/run.sh index 224e4b29..1f239562 100755 --- a/7/test/run.sh +++ b/7/test/run.sh @@ -6,7 +6,7 @@ if [[ -n "${DEBUG}" ]]; then set -x fi -git_url=https://github.com/wodby/blank.git +git_url=https://github.com/wodby/php.git wait_for_cron() { executed=0 diff --git a/index.php b/index.php new file mode 100644 index 00000000..82755a36 --- /dev/null +++ b/index.php @@ -0,0 +1,4 @@ + "${PWD}/walter-command-stage" + directory: $PWD + only_if: test "${WALTER_VER}" = "1.3.0" + - name: Run shell script + type: command + command: sh script.sh + directory: $PWD \ No newline at end of file From f8a5c836fd774583da5dba77647d15d6be36c6e1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 14 May 2018 19:02:26 +0700 Subject: [PATCH 170/559] Update postgresql client to 10.4 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 960a60ca..0d8ed811 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -43,7 +43,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBPNG_VER="1.6.34-r1" \ LIBXSLT_VER="1.1.31-r0" \ MARIADB_CLIENT_VER="10.1.32-r0" \ - POSTGRESQL_CLIENT_VER="10.3-r0" \ + POSTGRESQL_CLIENT_VER="10.4-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" \ \ diff --git a/7/Dockerfile b/7/Dockerfile index 6593b60e..33c653a0 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -47,7 +47,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBPNG_VER="1.6.34-r1" \ LIBXSLT_VER="1.1.31-r0" \ MARIADB_CLIENT_VER="10.1.32-r0" \ - POSTGRESQL_CLIENT_VER="10.3-r0" \ + POSTGRESQL_CLIENT_VER="10.4-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ YAML_VER="0.1.7-r0" \ \ From 585a802556e019abc45853a07a2a67af51e05cc3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 22 May 2018 12:59:53 +0700 Subject: [PATCH 171/559] Update jpegoptim to 1.4.6 #27 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 0d8ed811..a7f1405e 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -33,7 +33,7 @@ ENV PHP_DEV="${PHP_DEV}" \ GEOIP_VER="1.6.11-r0" \ ICU_LIBS_VER="59.1-r1" \ IMAGEMAGICK_VER="7.0.7.11-r1" \ - JPEGOPTIM_VER="1.4.4-r0" \ + JPEGOPTIM_VER="1.4.6-r0" \ LIBBZ2_VER="1.0.6-r6" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ diff --git a/7/Dockerfile b/7/Dockerfile index 33c653a0..7e0cf046 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -37,7 +37,7 @@ ENV PHP_DEV="${PHP_DEV}" \ GMP_VER="6.1.2-r1" \ ICU_LIBS_VER="59.1-r1" \ IMAGEMAGICK_VER="7.0.7.11-r1" \ - JPEGOPTIM_VER="1.4.4-r0" \ + JPEGOPTIM_VER="1.4.6-r0" \ LIBBZ2_VER="1.0.6-r6" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ From 44a09d5b3ec6878347e01f274ddaeade67def15a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 22 May 2018 13:18:25 +0700 Subject: [PATCH 172/559] Rollback jpegoptim to 1.4.4 #27 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index a7f1405e..0d8ed811 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -33,7 +33,7 @@ ENV PHP_DEV="${PHP_DEV}" \ GEOIP_VER="1.6.11-r0" \ ICU_LIBS_VER="59.1-r1" \ IMAGEMAGICK_VER="7.0.7.11-r1" \ - JPEGOPTIM_VER="1.4.6-r0" \ + JPEGOPTIM_VER="1.4.4-r0" \ LIBBZ2_VER="1.0.6-r6" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ diff --git a/7/Dockerfile b/7/Dockerfile index 7e0cf046..33c653a0 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -37,7 +37,7 @@ ENV PHP_DEV="${PHP_DEV}" \ GMP_VER="6.1.2-r1" \ ICU_LIBS_VER="59.1-r1" \ IMAGEMAGICK_VER="7.0.7.11-r1" \ - JPEGOPTIM_VER="1.4.6-r0" \ + JPEGOPTIM_VER="1.4.4-r0" \ LIBBZ2_VER="1.0.6-r6" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ From 8a28b602c2e5a89cc07b8a4a469502214ad1aead Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Jun 2018 13:18:16 +0700 Subject: [PATCH 173/559] Make auto_prepend_file and auto_append_file configurable --- 5.3/templates/docker-php.ini.tpl | 2 ++ 5.6/templates/docker-php.ini.tpl | 2 ++ 7/templates/docker-php-7.0.ini.tpl | 2 ++ 7/templates/docker-php-7.1.ini.tpl | 2 ++ 7/templates/docker-php-7.2.ini.tpl | 2 ++ README.md | 4 ++++ 6 files changed, 14 insertions(+) diff --git a/5.3/templates/docker-php.ini.tpl b/5.3/templates/docker-php.ini.tpl index 3bd8ce37..f16bba8c 100644 --- a/5.3/templates/docker-php.ini.tpl +++ b/5.3/templates/docker-php.ini.tpl @@ -11,6 +11,8 @@ log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} error_log = /proc/self/fd/2 +auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} +auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} [Date] date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} diff --git a/5.6/templates/docker-php.ini.tpl b/5.6/templates/docker-php.ini.tpl index ca1c4272..b1c8daa1 100644 --- a/5.6/templates/docker-php.ini.tpl +++ b/5.6/templates/docker-php.ini.tpl @@ -11,6 +11,8 @@ log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} error_log = /proc/self/fd/2 +auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} +auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} [Date] date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} diff --git a/7/templates/docker-php-7.0.ini.tpl b/7/templates/docker-php-7.0.ini.tpl index 45535952..317c8b19 100644 --- a/7/templates/docker-php-7.0.ini.tpl +++ b/7/templates/docker-php-7.0.ini.tpl @@ -11,6 +11,8 @@ log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} error_log = /proc/self/fd/2 +auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} +auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} [Date] date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} diff --git a/7/templates/docker-php-7.1.ini.tpl b/7/templates/docker-php-7.1.ini.tpl index 2a457c01..9c546669 100644 --- a/7/templates/docker-php-7.1.ini.tpl +++ b/7/templates/docker-php-7.1.ini.tpl @@ -11,6 +11,8 @@ log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} error_log = /proc/self/fd/2 +auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} +auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} [Date] date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} diff --git a/7/templates/docker-php-7.2.ini.tpl b/7/templates/docker-php-7.2.ini.tpl index 20731d43..56b9a00e 100644 --- a/7/templates/docker-php-7.2.ini.tpl +++ b/7/templates/docker-php-7.2.ini.tpl @@ -10,6 +10,8 @@ error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} error_log = /proc/self/fd/2 +auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} +auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} [Date] date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} diff --git a/README.md b/README.md index d5bf5599..5520c0ae 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,8 @@ Supported tags and respective `Dockerfile` links: [`PHP_APCU_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.ttl [`PHP_APCU_USE_REQUEST_TIME`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.use-request-time [`PHP_ASSERT_ACTIVE`]: http://php.net/assert.active +[`PHP_AUTO_PREPEND_FILE`]: http://php.net/auto-prepend-file +[`PHP_AUTO_APPEND_FILE`]: http://php.net/auto-append-file [`PHP_DATE_TIMEZONE`]: http://php.net/date.timezone [`PHP_DEFAULT_SOCKET_TIMEOUT`]: http://php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout [`PHP_DISPLAY_ERRORS`]: http://php.net/display-errors @@ -165,6 +167,8 @@ The default configuration is not recommended to be used for production environme | [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | | [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | | [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | +| [`PHP_AUTO_PREPEND_FILE`] | | | | | +| [`PHP_AUTO_APPEND_FILE`] | | | | | | `PHP_BLACKFIRE` | | | | | | `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | | `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | From f43cb52138b73f5518c1bb58eccbd0a1316f7065 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Jun 2018 13:25:58 +0700 Subject: [PATCH 174/559] Update PHP extensions: GRPC 1.12.0, igbinary 2.0.6, mongodb 1.4.4 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5520c0ae..70ac6fcb 100644 --- a/README.md +++ b/README.md @@ -317,10 +317,10 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | ftp | | | | | | gd | | | | | | [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.10.0 | 1.10.0 | 1.10.0 | - | +| [grpc] | 1.12.0 | 1.12.0 | 1.12.0 | - | | hash | | | | | | iconv | | | | | -| [igbinary] | 2.0.5 | 2.0.5 | 2.0.5 | 2.0.5 | +| [igbinary] | 2.0.6 | 2.0.6 | 2.0.6 | 2.0.6 | | [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | | imap | | | | | | intl | | | | | @@ -331,7 +331,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | mcrypt | [1.0.1] | | | | | [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | | [mongo] | - | - | - | - | -| [mongodb] | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 | +| [mongodb] | 1.4.4 | 1.4.4 | 1.4.4 | 1.4.4 | | mysql | - | - | - | | | mysqli | | | | | | mysqlnd | | | | | From 8395b648bd43d4a9072c6f29e730bfcb1a7b6f9d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Jun 2018 13:29:20 +0700 Subject: [PATCH 175/559] Simplify build tags logic --- .travis.yml | 39 +++++++++++++++++++-------------------- release.sh | 20 ++++++++------------ 2 files changed, 27 insertions(+), 32 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8cf847fe..5eb6c2e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,32 +5,31 @@ services: env: global: - - LATEST_TAG=7.2 - PHP72=7.2.5 - PHP71=7.1.17 - PHP70=7.0.30 - PHP56=5.6.36 - PHP53=5.3.29 matrix: - - TAG=7.2 PHP_VER="${PHP72}" EXTRA_TAG=7 - - TAG=7.1 PHP_VER="${PHP71}" - - TAG=7.0 PHP_VER="${PHP70}" - - TAG=5.6 PHP_VER="${PHP56}" EXTRA_TAG=5 - - TAG=5.3 PHP_VER="${PHP53}" - - TAG=7.2-dev PHP_VER="${PHP72}" PHP_DEV=1 EXTRA_TAG=7-dev - - TAG=7.1-dev PHP_VER="${PHP71}" PHP_DEV=1 - - TAG=7.0-dev PHP_VER="${PHP70}" PHP_DEV=1 - - TAG=5.6-dev PHP_VER="${PHP56}" PHP_DEV=1 EXTRA_TAG=5-dev - - TAG=5.3-dev PHP_VER="${PHP53}" PHP_DEV=1 - - TAG=7.2-dev-macos PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 EXTRA_TAG=7-dev-macos - - TAG=7.1-dev-macos PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 - - TAG=7.0-dev-macos PHP_VER="${PHP70}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 - - TAG=5.6-dev-macos PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 EXTRA_TAG=5-dev-macos - - TAG=5.3-dev-macos PHP_VER="${PHP53}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 - - TAG=7.2-debug PHP_VER="${PHP72}" PHP_DEBUG=1 EXTRA_TAG=7-debug - - TAG=7.1-debug PHP_VER="${PHP71}" PHP_DEBUG=1 - - TAG=7.0-debug PHP_VER="${PHP70}" PHP_DEBUG=1 - - TAG=5.6-debug PHP_VER="${PHP56}" PHP_DEBUG=1 EXTRA_TAG=5-debug + - PHP_VER="${PHP72}" TAGS=7.2,7,latest + - PHP_VER="${PHP71}" TAGS=7.1 + - PHP_VER="${PHP70}" TAGS=7.0 + - PHP_VER="${PHP56}" TAGS=5.6,5 + - PHP_VER="${PHP53}" TAGS=5.3 + - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev,7-dev + - PHP_VER="${PHP71}" PHP_DEV=1 TAGS=7.1-dev + - PHP_VER="${PHP70}" PHP_DEV=1 TAGS=7.0-dev + - PHP_VER="${PHP56}" PHP_DEV=1 TAGS=5.6-dev,5-dev + - PHP_VER="${PHP53}" PHP_DEV=1 TAGS=5.3-dev + - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos,7-dev-macos + - PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.1-dev-macos + - PHP_VER="${PHP70}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.0-dev-macos + - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos + - PHP_VER="${PHP53}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.3-dev-macos + - PHP_VER="${PHP72}" PHP_DEBUG=1 TAGS=7.2-debug,7-debug + - PHP_VER="${PHP71}" PHP_DEBUG=1 TAGS=7.1-debug + - PHP_VER="${PHP70}" PHP_DEBUG=1 TAGS=7.0-debug + - PHP_VER="${PHP56}" PHP_DEBUG=1 TAGS=5.6-debug,5-debug script: - set -e diff --git a/release.sh b/release.sh index 085f2104..3e14c627 100755 --- a/release.sh +++ b/release.sh @@ -3,19 +3,15 @@ set -e if [[ "${TRAVIS_PULL_REQUEST}" == "false" && ("${TRAVIS_BRANCH}" == "master" || -n "${TRAVIS_TAG}") ]]; then - docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" + docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}" - if [[ -n "${TRAVIS_TAG}" ]]; then - export STABILITY_TAG="${TRAVIS_TAG}" - fi + if [[ -n "${TRAVIS_TAG}" ]]; then + export STABILITY_TAG="${TRAVIS_TAG}" + fi - make release + IFS=',' read -ra tags <<< "${TAGS}" - if [[ -n "${EXTRA_TAG}" ]]; then - make release TAG="${EXTRA_TAG}" - fi - - if [[ "${TAG}" == "${LATEST_TAG}" ]]; then - make release TAG="latest" - fi + for tag in "${tags[@]}"; do + make release TAG="${tag}"; + done fi From adba4bf4890331213218e3e2dd6e7d6c765c855e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Jun 2018 14:06:17 +0700 Subject: [PATCH 176/559] Try building tideways xhprof extension (cherry picked from commit 1072636) --- 7/Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/7/Dockerfile b/7/Dockerfile index 33c653a0..82cd0bef 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -246,6 +246,12 @@ RUN set -xe; \ wget -qO- "${up_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress; \ docker-php-ext-install uploadprogress; \ \ + # Tideways xhprof + mkdir -p /usr/src/php/ext/tideways_xhprof; \ + tideways_xhprof_url="https://github.com/tideways/php-xhprof-extension/archive/v4.1.6.tar.gz"; \ + wget -qO- "${tideways_xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/tideways_xhprof; \ + docker-php-ext-install tideways_xhprof; \ + \ # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ From d92d1ce10c49e98926011b3c6032c6d408f4251b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Jun 2018 15:14:02 +0700 Subject: [PATCH 177/559] Add tideways xhprof extension https://github.com/wodby/drupal-php/issues/49 (cherry picked from commit 4bf0c48) --- 7/Dockerfile | 9 +++++---- 7/docker-entrypoint.sh | 1 + 7/templates/docker-php-ext-tideways.ini.tpl | 4 ++++ 7/test/docker-compose.yml | 1 + 7/test/php_modules/7.0 | 1 + 7/test/php_modules/7.1 | 1 + 7/test/php_modules/7.2 | 1 + README.md | 7 ++++--- 8 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 7/templates/docker-php-ext-tideways.ini.tpl diff --git a/7/Dockerfile b/7/Dockerfile index 82cd0bef..3a2f65fe 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -26,6 +26,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="2.0.2" \ EXT_REDIS_VER="3.1.6" \ + EXT_TIDEWAYS_XHPROF_VER="4.1.6" \ EXT_XDEBUG_VER="2.6.0" \ EXT_YAML_VER="2.0.2" \ \ @@ -247,10 +248,10 @@ RUN set -xe; \ docker-php-ext-install uploadprogress; \ \ # Tideways xhprof - mkdir -p /usr/src/php/ext/tideways_xhprof; \ - tideways_xhprof_url="https://github.com/tideways/php-xhprof-extension/archive/v4.1.6.tar.gz"; \ - wget -qO- "${tideways_xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/tideways_xhprof; \ - docker-php-ext-install tideways_xhprof; \ + mkdir -p /usr/src/php/ext/xhprof; \ + xhprof_url="https://github.com/tideways/php-xhprof-extension/archive/v${EXT_TIDEWAYS_XHPROF_VER}.tar.gz"; \ + wget -qO- "${xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/xhprof; \ + docker-php-ext-install xhprof; \ \ # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index a526dffa..6f17e128 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -71,6 +71,7 @@ process_templates() { _gotpl "docker-php-ext-igbinary.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + _gotpl "docker-php-ext-tideways.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways.ini" _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" _gotpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" } diff --git a/7/templates/docker-php-ext-tideways.ini.tpl b/7/templates/docker-php-ext-tideways.ini.tpl new file mode 100644 index 00000000..d730e403 --- /dev/null +++ b/7/templates/docker-php-ext-tideways.ini.tpl @@ -0,0 +1,4 @@ +{{ if getenv "PHP_XHPROF" }} +[xhprof] +extension = tideways.so +{{ end }} \ No newline at end of file diff --git a/7/test/docker-compose.yml b/7/test/docker-compose.yml index 8852bf7c..612f4984 100644 --- a/7/test/docker-compose.yml +++ b/7/test/docker-compose.yml @@ -19,6 +19,7 @@ services: environment: SSH_DISABLE_STRICT_KEY_CHECKING: 1 PHP_XDEBUG: 1 + PHP_XHPROF: 1 PHP_BLACKFIRE: 1 SSH_PRIVATE_KEY: |- -----BEGIN RSA PRIVATE KEY----- diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index 515412d3..cb76dcb4 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -57,6 +57,7 @@ sockets SPL sqlite3 standard +tideways tokenizer uploadprogress xdebug diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index 515412d3..cb76dcb4 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -57,6 +57,7 @@ sockets SPL sqlite3 standard +tideways tokenizer uploadprogress xdebug diff --git a/7/test/php_modules/7.2 b/7/test/php_modules/7.2 index 6693d732..7d3f750d 100644 --- a/7/test/php_modules/7.2 +++ b/7/test/php_modules/7.2 @@ -58,6 +58,7 @@ sodium SPL sqlite3 standard +tideways tokenizer uploadprogress xdebug diff --git a/README.md b/README.md index 70ac6fcb..80e14343 100644 --- a/README.md +++ b/README.md @@ -232,6 +232,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | | [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | | _see all session options_ | [7.2 session] | [7.1 session] | [7.0 session] | [5.6 session] | +| `PHP_XHPROF` | | | | - | | [`PHP_TRACK_ERRORS`] | - | `On` | `On` | `On` | | [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | | `PHP_XDEBUG` | - | | | | @@ -293,6 +294,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag [7.0.5]: https://pecl.php.net/package/ZendOpcache [1.0.1]: https://pecl.php.net/package/mcrypt [blackfire]: https://blackfire.io/dashboard/mine/profiles +[tideways]: https://github.com/tideways/php-xhprof-extension | Extension | 7.2 | 7.1 | 7.0 | 5.6 | | ---------------- | -------- | -------- | -------- | -------- | @@ -330,7 +332,6 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | mbstring | | | | | | mcrypt | [1.0.1] | | | | | [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | -| [mongo] | - | - | - | - | | [mongodb] | 1.4.4 | 1.4.4 | 1.4.4 | 1.4.4 | | mysql | - | - | - | | | mysqli | | | | | @@ -356,9 +357,9 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | sockets | | | | | | sodium | | - | - | - | | SPL | | | | | -| SQLite | - | - | - | - | | sqlite3 | | | | | | standard | | | | | +| [tideways] | 4.1.6 | 4.1.6 | 4.1.6 | | | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | | [xdebug] | 2.6.0 | 2.6.0 | 2.6.0 | 2.5.5 | @@ -378,7 +379,7 @@ Legend: > - "-" - Not exists in this version > Some extensions may not be available in [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images -Extensions xdebug and blackfire disabled by default. +Extensions xdebug, blackfire and xhprof disabled by default. ## Tools From 533c498947e91b11054850cfe2939f5861f4f684 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Jun 2018 16:35:24 +0700 Subject: [PATCH 178/559] --with-mhash lists mhash as an extension in 5.6 for some reason --- 5.6/test/php_modules | 1 + 1 file changed, 1 insertion(+) diff --git a/5.6/test/php_modules b/5.6/test/php_modules index 8ea1c6e4..ecfd2776 100644 --- a/5.6/test/php_modules +++ b/5.6/test/php_modules @@ -32,6 +32,7 @@ libxml mbstring mcrypt memcached +mhash mongodb mysql mysqli From a75502ebf0cbc386a7ea40e39dcddd83494c5645 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 11 Jun 2018 14:40:15 +0700 Subject: [PATCH 179/559] Add tidy extension --- 5.6/Dockerfile | 4 ++++ 5.6/test/php_modules | 1 + 7/Dockerfile | 4 ++++ 7/test/php_modules/7.0 | 1 + 7/test/php_modules/7.1 | 1 + 7/test/php_modules/7.2 | 1 + README.md | 1 + 7 files changed, 13 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 0d8ed811..6ce54774 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -45,6 +45,7 @@ ENV PHP_DEV="${PHP_DEV}" \ MARIADB_CLIENT_VER="10.1.32-r0" \ POSTGRESQL_CLIENT_VER="10.4-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ + TIDYHTML_VER="5.4.0-r0" \ YAML_VER="0.1.7-r0" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" @@ -103,6 +104,7 @@ RUN set -xe; \ rsync \ su-exec \ sudo \ + "tidyhtml=${TIDYHTML_VER}" \ tig \ tmux \ "yaml=${YAML_VER}"; \ @@ -129,6 +131,7 @@ RUN set -xe; \ pcre-dev \ postgresql-dev \ rabbitmq-c-dev \ + tidyhtml-dev \ yaml-dev; \ \ apk add -U -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv; \ @@ -162,6 +165,7 @@ RUN set -xe; \ pgsql \ soap \ sockets \ + tidy \ xmlrpc \ xsl \ zip; \ diff --git a/5.6/test/php_modules b/5.6/test/php_modules index ecfd2776..ddfefdda 100644 --- a/5.6/test/php_modules +++ b/5.6/test/php_modules @@ -59,6 +59,7 @@ sockets SPL sqlite3 standard +tidy tokenizer uploadprogress xdebug diff --git a/7/Dockerfile b/7/Dockerfile index 3a2f65fe..c2db4373 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -50,6 +50,7 @@ ENV PHP_DEV="${PHP_DEV}" \ MARIADB_CLIENT_VER="10.1.32-r0" \ POSTGRESQL_CLIENT_VER="10.4-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ + TIDYHTML_VER="5.4.0-r0" \ YAML_VER="0.1.7-r0" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" @@ -109,6 +110,7 @@ RUN set -xe; \ rsync \ su-exec \ sudo \ + "tidyhtml=${TIDYHTML_VER}" \ tig \ tmux \ "yaml=${YAML_VER}"; \ @@ -135,6 +137,7 @@ RUN set -xe; \ pcre-dev \ postgresql-dev \ rabbitmq-c-dev \ + tidyhtml-dev \ yaml-dev; \ \ apk add -U -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv; \ @@ -166,6 +169,7 @@ RUN set -xe; \ pgsql \ soap \ sockets \ + tidy \ xmlrpc \ xsl \ zip; \ diff --git a/7/test/php_modules/7.0 b/7/test/php_modules/7.0 index cb76dcb4..00c40510 100644 --- a/7/test/php_modules/7.0 +++ b/7/test/php_modules/7.0 @@ -58,6 +58,7 @@ SPL sqlite3 standard tideways +tidy tokenizer uploadprogress xdebug diff --git a/7/test/php_modules/7.1 b/7/test/php_modules/7.1 index cb76dcb4..00c40510 100644 --- a/7/test/php_modules/7.1 +++ b/7/test/php_modules/7.1 @@ -58,6 +58,7 @@ SPL sqlite3 standard tideways +tidy tokenizer uploadprogress xdebug diff --git a/7/test/php_modules/7.2 b/7/test/php_modules/7.2 index 7d3f750d..38812452 100644 --- a/7/test/php_modules/7.2 +++ b/7/test/php_modules/7.2 @@ -59,6 +59,7 @@ SPL sqlite3 standard tideways +tidy tokenizer uploadprogress xdebug diff --git a/README.md b/README.md index 80e14343..57ba032d 100644 --- a/README.md +++ b/README.md @@ -360,6 +360,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | sqlite3 | | | | | | standard | | | | | | [tideways] | 4.1.6 | 4.1.6 | 4.1.6 | | +| tidy | | | | | | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | | [xdebug] | 2.6.0 | 2.6.0 | 2.6.0 | 2.5.5 | From 12e62305bd797c381670dffebe80d0a31664edee Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 11 Jun 2018 15:11:50 +0700 Subject: [PATCH 180/559] Fix for tidy extension installation --- 5.6/Dockerfile | 6 +++++- 7/Dockerfile | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 6ce54774..9533d63e 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -104,7 +104,7 @@ RUN set -xe; \ rsync \ su-exec \ sudo \ - "tidyhtml=${TIDYHTML_VER}" \ + "tidyhtml-libs=${TIDYHTML_VER}" \ tig \ tmux \ "yaml=${YAML_VER}"; \ @@ -146,6 +146,10 @@ RUN set -xe; \ \ docker-php-source extract; \ \ + # Fix for tidy extension. + cd /usr/src/php; \ + sed -i 's/buffio.h/tidybuffio.h/' ext/tidy/*.c; \ + \ docker-php-ext-install \ bcmath \ bz2 \ diff --git a/7/Dockerfile b/7/Dockerfile index c2db4373..e97cf4fa 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -110,7 +110,7 @@ RUN set -xe; \ rsync \ su-exec \ sudo \ - "tidyhtml=${TIDYHTML_VER}" \ + "tidyhtml-libs=${TIDYHTML_VER}" \ tig \ tmux \ "yaml=${YAML_VER}"; \ @@ -152,6 +152,10 @@ RUN set -xe; \ \ docker-php-source extract; \ \ + # Fix for tidy extension. + cd /usr/src/php; \ + sed -i 's/buffio.h/tidybuffio.h/' ext/tidy/*.c; \ + \ docker-php-ext-install \ bcmath \ bz2 \ From de90fd6e5035c2a3be1de7c9d567254036e17c72 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 11 Jun 2018 15:35:08 +0700 Subject: [PATCH 181/559] Fix for tidy should apply only to 7.0 --- 7/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index e97cf4fa..9597eb5c 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -153,8 +153,10 @@ RUN set -xe; \ docker-php-source extract; \ \ # Fix for tidy extension. - cd /usr/src/php; \ - sed -i 's/buffio.h/tidybuffio.h/' ext/tidy/*.c; \ + if [[ "${PHP_VERSION:0:3}" == "7.0" ]]; then \ + cd /usr/src/php; \ + sed -i 's/buffio.h/tidybuffio.h/' ext/tidy/*.c; \ + fi; \ \ docker-php-ext-install \ bcmath \ From 01ad2de3d6f31173958f8222090f5ff41fd2f730 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 25 Jun 2018 17:31:29 +0700 Subject: [PATCH 182/559] Update description [skip ci] --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 57ba032d..4bcad934 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ ## Docker Images -!!! For better reliability we release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We **STRONGLY RECOMMEND** using images only with stability tags. +❗For better reliability we release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We strongly recommend using images only with stability tags. About images: @@ -430,9 +430,11 @@ See https://github.com/wodby/php/issues/22 for more details. * `files_chown` – in case you manually uploaded files under `wodby` user to files volume and want to change the ownership of those files to `www-data` run `sudo files_chown [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change ownership to `www-data:www-data` -## Complete PHP stack +## Complete PHP stacks -See [wodby/docker4php](https://github.com/wodby/docker4php) for the complete PHP stack. +* [wodby/docker4php](https://github.com/wodby/docker4php) +* [wodby/docker4drupal](https://github.com/wodby/docker4drupal) +* [wodby/docker4wordpress](https://github.com/wodby/docker4wordpress) ## Images based on `wodby/php` From 68b66cbb92ad3365230bccc203a44e8d66cef7d9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 29 Jun 2018 13:33:47 +0700 Subject: [PATCH 183/559] Update PHP to 7.2.7, 7.1.19 --- .travis.yml | 4 ++-- 7/Makefile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5eb6c2e7..ecb1af5f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,8 @@ services: env: global: - - PHP72=7.2.5 - - PHP71=7.1.17 + - PHP72=7.2.7 + - PHP71=7.1.19 - PHP70=7.0.30 - PHP56=5.6.36 - PHP53=5.3.29 diff --git a/7/Makefile b/7/Makefile index 5a493dc9..b62b55c5 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.5 +PHP_VER ?= 7.2.7 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 6508310eb9016aa79cf4e8ba741e5c9aa0b4fa1e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 29 Jun 2018 13:56:59 +0700 Subject: [PATCH 184/559] Update orig configs --- 7/orig/php-7.1.ini-development | 4 ++++ 7/orig/php-7.1.ini-production | 4 ++++ 7/orig/php-7.2.ini-development | 4 ++++ 7/orig/php-7.2.ini-production | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/7/orig/php-7.1.ini-development b/7/orig/php-7.1.ini-development index bad30176..9e7094c4 100644 --- a/7/orig/php-7.1.ini-development +++ b/7/orig/php-7.1.ini-development @@ -1905,6 +1905,10 @@ ldap.max_links = -1 ; Prevent name collisions in chroot'ed environment. ;opcache.validate_root=0 +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. diff --git a/7/orig/php-7.1.ini-production b/7/orig/php-7.1.ini-production index 2232d75a..dafddeda 100644 --- a/7/orig/php-7.1.ini-production +++ b/7/orig/php-7.1.ini-production @@ -1905,6 +1905,10 @@ ldap.max_links = -1 ; Prevent name collisions in chroot'ed environment. ;opcache.validate_root=0 +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index 57500369..8dbdba32 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -1879,6 +1879,10 @@ ldap.max_links = -1 ; Prevent name collisions in chroot'ed environment. ;opcache.validate_root=0 +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index 9733ec4d..bcb08282 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -1886,6 +1886,10 @@ ldap.max_links = -1 ; Prevent name collisions in chroot'ed environment. ;opcache.validate_root=0 +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + [curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. From 2d188655dd807d4d652f794115f739c5d9fd16b5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 29 Jun 2018 16:30:36 +0700 Subject: [PATCH 185/559] Update alpine pkg of freetype lib --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 9533d63e..c68eb898 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -29,7 +29,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_YAML_VER="1.3.1" \ \ C_CLIENT_VER="2007f-r7" \ - FREETYPE_VER="2.8.1-r2" \ + FREETYPE_VER="2.8.1-r3" \ GEOIP_VER="1.6.11-r0" \ ICU_LIBS_VER="59.1-r1" \ IMAGEMAGICK_VER="7.0.7.11-r1" \ diff --git a/7/Dockerfile b/7/Dockerfile index 9597eb5c..f77f4232 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -33,7 +33,7 @@ ENV PHP_DEV="${PHP_DEV}" \ PHP72_EXT_MCRYPT_VER="1.0.1" \ \ C_CLIENT_VER="2007f-r7" \ - FREETYPE_VER="2.8.1-r2" \ + FREETYPE_VER="2.8.1-r3" \ GEOIP_VER="1.6.11-r0" \ GMP_VER="6.1.2-r1" \ ICU_LIBS_VER="59.1-r1" \ From e1fee1507113185cd6f6a7a51941dcf2d6ba3f79 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 27 Jul 2018 12:25:15 +0700 Subject: [PATCH 186/559] Update PHP to 7.2.8, 7.1.20, 7.0.31, 5.6.37 --- .travis.yml | 8 ++++---- 5.6/Makefile | 2 +- 7/Makefile | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index ecb1af5f..982a9210 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,10 +5,10 @@ services: env: global: - - PHP72=7.2.7 - - PHP71=7.1.19 - - PHP70=7.0.30 - - PHP56=5.6.36 + - PHP72=7.2.8 + - PHP71=7.1.20 + - PHP70=7.0.31 + - PHP56=5.6.37 - PHP53=5.3.29 matrix: - PHP_VER="${PHP72}" TAGS=7.2,7,latest diff --git a/5.6/Makefile b/5.6/Makefile index 5efe2285..69f2f501 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 5.6.36 +PHP_VER ?= 5.6.37 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php diff --git a/7/Makefile b/7/Makefile index b62b55c5..d640aed4 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.7 +PHP_VER ?= 7.2.8 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 652fc44e9a7706546019366f84c46db6d2ba59a5 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Tue, 31 Jul 2018 13:32:43 +0000 Subject: [PATCH 187/559] Update PHP to: 7.1.9 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 982a9210..84826f56 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP72=7.2.8 - - PHP71=7.1.20 + - PHP71=7.1.9 - PHP70=7.0.31 - PHP56=5.6.37 - PHP53=5.3.29 From e2748b86936e9854b0ba761d8a3f386ea9cd3480 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Tue, 31 Jul 2018 13:42:12 +0000 Subject: [PATCH 188/559] Updating PHP to 7.1.20 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 84826f56..982a9210 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP72=7.2.8 - - PHP71=7.1.9 + - PHP71=7.1.20 - PHP70=7.0.31 - PHP56=5.6.37 - PHP53=5.3.29 From 7a6a8abe1ac87d77796b86195f25eeea2cbd15e3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 2 Aug 2018 15:55:50 +0700 Subject: [PATCH 189/559] Add $APP_ROOT/bin to $PATH --- 5.3/Dockerfile | 5 +++-- 5.6/Dockerfile | 5 +++-- 7/Dockerfile | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index dbe59b4e..fa3e2152 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -25,8 +25,9 @@ ENV PHP_DEV="${PHP_DEV}" \ \ APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ - FILES_DIR="/mnt/files" \ - PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ + FILES_DIR="/mnt/files" + +ENV PATH="${PATH}:${APP_ROOT}/bin:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ ENV="/home/wodby/.shrc" \ \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index c68eb898..3807bbaa 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -52,8 +52,9 @@ ENV PHP_DEV="${PHP_DEV}" \ ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ - FILES_DIR="/mnt/files" \ - PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ + FILES_DIR="/mnt/files" + +ENV PATH="${PATH}:${APP_ROOT}/bin:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ ENV="/home/wodby/.shrc" \ \ diff --git a/7/Dockerfile b/7/Dockerfile index f77f4232..518ca523 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -57,8 +57,9 @@ ENV PHP_DEV="${PHP_DEV}" \ ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ - FILES_DIR="/mnt/files" \ - PATH="${PATH}:/home/wodby/.composer/vendor/bin" \ + FILES_DIR="/mnt/files" + +ENV PATH="${PATH}:${APP_ROOT}/bin:/home/wodby/.composer/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ ENV="/home/wodby/.shrc" \ \ From 3ccc21a9e2cc53f9a6a4547c899a7e2d6fa858bd Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 2 Aug 2018 15:58:53 +0700 Subject: [PATCH 190/559] Add $APP_ROOT/vendor/bin to $PATH --- 5.3/Dockerfile | 2 +- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index fa3e2152..2d0e0d60 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -27,7 +27,7 @@ ENV PHP_DEV="${PHP_DEV}" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" -ENV PATH="${PATH}:${APP_ROOT}/bin:/home/wodby/.composer/vendor/bin" \ +ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ ENV="/home/wodby/.shrc" \ \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 3807bbaa..9147da2e 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -54,7 +54,7 @@ ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" -ENV PATH="${PATH}:${APP_ROOT}/bin:/home/wodby/.composer/vendor/bin" \ +ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ ENV="/home/wodby/.shrc" \ \ diff --git a/7/Dockerfile b/7/Dockerfile index 518ca523..4bd03371 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -59,7 +59,7 @@ ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" -ENV PATH="${PATH}:${APP_ROOT}/bin:/home/wodby/.composer/vendor/bin" \ +ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ ENV="/home/wodby/.shrc" \ \ From 62f2378113a48f1f42a6a17707a2485ea0edcdde Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 6 Aug 2018 18:18:58 +0700 Subject: [PATCH 191/559] Add support for ssh key, crontab, authorized keys via bind mounts. Document SSHD/Crond. Rename .tpl to .tmpl --- 5.3/Dockerfile | 3 +- 5.3/bin/files_sync | 2 +- 5.3/bin/{init_volumes => init_container} | 10 +++ 5.3/docker-entrypoint.sh | 29 ++++---- ...thorized_keys.tpl => authorized_keys.tmpl} | 0 5.3/templates/{crontab.tpl => crontab.tmpl} | 0 ...ni.tpl => docker-php-ext-opcache.ini.tmpl} | 0 ...ini.tpl => docker-php-ext-xdebug.ini.tmpl} | 0 ...docker-php.ini.tpl => docker-php.ini.tmpl} | 0 5.3/templates/{env.tpl => env.tmpl} | 0 5.3/templates/{id_rsa.tpl => id_rsa.tmpl} | 0 .../{ssh_config.tpl => ssh_config.tmpl} | 0 .../{sshd_config.tpl => sshd_config.tmpl} | 0 .../{zz-www.conf.tpl => zz-www.conf.tmpl} | 0 5.3/test/authorized_keys | 1 + 5.3/test/crontab | 2 + 5.3/test/docker-compose.yml | 71 +++---------------- 5.3/test/id_rsa | 51 +++++++++++++ 5.3/test/run.sh | 2 +- 5.6/Dockerfile | 3 +- 5.6/bin/files_sync | 2 +- 5.6/bin/{init_volumes => init_container} | 10 +++ 5.6/docker-entrypoint.sh | 39 +++++----- ...thorized_keys.tpl => authorized_keys.tmpl} | 0 5.6/templates/{crontab.tpl => crontab.tmpl} | 0 ...u.ini.tpl => docker-php-ext-apcu.ini.tmpl} | 0 ....tpl => docker-php-ext-blackfire.ini.tmpl} | 0 ....ini.tpl => docker-php-ext-geoip.ini.tmpl} | 0 ...i.tpl => docker-php-ext-igbinary.ini.tmpl} | 0 ...i.tpl => docker-php-ext-newrelic.ini.tmpl} | 0 ...ni.tpl => docker-php-ext-opcache.ini.tmpl} | 0 ...ini.tpl => docker-php-ext-xdebug.ini.tmpl} | 0 ...docker-php.ini.tpl => docker-php.ini.tmpl} | 0 5.6/templates/{id_rsa.tpl => id_rsa.tmpl} | 0 .../{ssh_config.tpl => ssh_config.tmpl} | 0 .../{sshd_config.tpl => sshd_config.tmpl} | 0 ...ttings.php.tpl => wodby.settings.php.tmpl} | 0 .../{zz-www.conf.tpl => zz-www.conf.tmpl} | 0 5.6/test/authorized_keys | 1 + 5.6/test/crontab | 2 + 5.6/test/docker-compose.yml | 70 +++--------------- 5.6/test/id_rsa | 51 +++++++++++++ 5.6/test/run.sh | 2 +- 7/Dockerfile | 3 +- 7/bin/files_sync | 2 +- 7/bin/{init_volumes => init_container} | 10 +++ 7/docker-entrypoint.sh | 41 ++++++----- ...thorized_keys.tpl => authorized_keys.tmpl} | 0 7/templates/{crontab.tpl => crontab.tmpl} | 0 ...hp-7.0.ini.tpl => docker-php-7.0.ini.tmpl} | 0 ...hp-7.1.ini.tpl => docker-php-7.1.ini.tmpl} | 0 ...hp-7.2.ini.tpl => docker-php-7.2.ini.tmpl} | 0 ...u.ini.tpl => docker-php-ext-apcu.ini.tmpl} | 0 ....tpl => docker-php-ext-blackfire.ini.tmpl} | 0 ....ini.tpl => docker-php-ext-geoip.ini.tmpl} | 0 ...i.tpl => docker-php-ext-igbinary.ini.tmpl} | 0 ...i.tpl => docker-php-ext-newrelic.ini.tmpl} | 0 ...pl => docker-php-ext-opcache-7.0.ini.tmpl} | 0 ...pl => docker-php-ext-opcache-7.1.ini.tmpl} | 0 ...pl => docker-php-ext-opcache-7.2.ini.tmpl} | 0 ...i.tpl => docker-php-ext-tideways.ini.tmpl} | 0 ...ini.tpl => docker-php-ext-xdebug.ini.tmpl} | 0 7/templates/{id_rsa.tpl => id_rsa.tmpl} | 0 .../{ssh_config.tpl => ssh_config.tmpl} | 0 .../{sshd_config.tpl => sshd_config.tmpl} | 0 ...ttings.php.tpl => wodby.settings.php.tmpl} | 0 .../{zz-www.conf.tpl => zz-www.conf.tmpl} | 0 7/test/authorized_keys | 1 + 7/test/crontab | 2 + 7/test/docker-compose.yml | 70 +++--------------- 7/test/id_rsa | 51 +++++++++++++ 7/test/run.sh | 2 +- README.md | 15 ++++ 73 files changed, 309 insertions(+), 239 deletions(-) rename 5.3/bin/{init_volumes => init_container} (61%) rename 5.3/templates/{authorized_keys.tpl => authorized_keys.tmpl} (100%) rename 5.3/templates/{crontab.tpl => crontab.tmpl} (100%) rename 5.3/templates/{docker-php-ext-opcache.ini.tpl => docker-php-ext-opcache.ini.tmpl} (100%) rename 5.3/templates/{docker-php-ext-xdebug.ini.tpl => docker-php-ext-xdebug.ini.tmpl} (100%) rename 5.3/templates/{docker-php.ini.tpl => docker-php.ini.tmpl} (100%) rename 5.3/templates/{env.tpl => env.tmpl} (100%) rename 5.3/templates/{id_rsa.tpl => id_rsa.tmpl} (100%) rename 5.3/templates/{ssh_config.tpl => ssh_config.tmpl} (100%) rename 5.3/templates/{sshd_config.tpl => sshd_config.tmpl} (100%) rename 5.3/templates/{zz-www.conf.tpl => zz-www.conf.tmpl} (100%) create mode 100644 5.3/test/authorized_keys create mode 100644 5.3/test/crontab create mode 100644 5.3/test/id_rsa rename 5.6/bin/{init_volumes => init_container} (61%) rename 5.6/templates/{authorized_keys.tpl => authorized_keys.tmpl} (100%) rename 5.6/templates/{crontab.tpl => crontab.tmpl} (100%) rename 5.6/templates/{docker-php-ext-apcu.ini.tpl => docker-php-ext-apcu.ini.tmpl} (100%) rename 5.6/templates/{docker-php-ext-blackfire.ini.tpl => docker-php-ext-blackfire.ini.tmpl} (100%) rename 5.6/templates/{docker-php-ext-geoip.ini.tpl => docker-php-ext-geoip.ini.tmpl} (100%) rename 5.6/templates/{docker-php-ext-igbinary.ini.tpl => docker-php-ext-igbinary.ini.tmpl} (100%) rename 5.6/templates/{docker-php-ext-newrelic.ini.tpl => docker-php-ext-newrelic.ini.tmpl} (100%) rename 5.6/templates/{docker-php-ext-opcache.ini.tpl => docker-php-ext-opcache.ini.tmpl} (100%) rename 5.6/templates/{docker-php-ext-xdebug.ini.tpl => docker-php-ext-xdebug.ini.tmpl} (100%) rename 5.6/templates/{docker-php.ini.tpl => docker-php.ini.tmpl} (100%) rename 5.6/templates/{id_rsa.tpl => id_rsa.tmpl} (100%) rename 5.6/templates/{ssh_config.tpl => ssh_config.tmpl} (100%) rename 5.6/templates/{sshd_config.tpl => sshd_config.tmpl} (100%) rename 5.6/templates/{wodby.settings.php.tpl => wodby.settings.php.tmpl} (100%) rename 5.6/templates/{zz-www.conf.tpl => zz-www.conf.tmpl} (100%) create mode 100644 5.6/test/authorized_keys create mode 100644 5.6/test/crontab create mode 100644 5.6/test/id_rsa rename 7/bin/{init_volumes => init_container} (61%) rename 7/templates/{authorized_keys.tpl => authorized_keys.tmpl} (100%) rename 7/templates/{crontab.tpl => crontab.tmpl} (100%) rename 7/templates/{docker-php-7.0.ini.tpl => docker-php-7.0.ini.tmpl} (100%) rename 7/templates/{docker-php-7.1.ini.tpl => docker-php-7.1.ini.tmpl} (100%) rename 7/templates/{docker-php-7.2.ini.tpl => docker-php-7.2.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-apcu.ini.tpl => docker-php-ext-apcu.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-blackfire.ini.tpl => docker-php-ext-blackfire.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-geoip.ini.tpl => docker-php-ext-geoip.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-igbinary.ini.tpl => docker-php-ext-igbinary.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-newrelic.ini.tpl => docker-php-ext-newrelic.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-opcache-7.0.ini.tpl => docker-php-ext-opcache-7.0.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-opcache-7.1.ini.tpl => docker-php-ext-opcache-7.1.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-opcache-7.2.ini.tpl => docker-php-ext-opcache-7.2.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-tideways.ini.tpl => docker-php-ext-tideways.ini.tmpl} (100%) rename 7/templates/{docker-php-ext-xdebug.ini.tpl => docker-php-ext-xdebug.ini.tmpl} (100%) rename 7/templates/{id_rsa.tpl => id_rsa.tmpl} (100%) rename 7/templates/{ssh_config.tpl => ssh_config.tmpl} (100%) rename 7/templates/{sshd_config.tpl => sshd_config.tmpl} (100%) rename 7/templates/{wodby.settings.php.tpl => wodby.settings.php.tmpl} (100%) rename 7/templates/{zz-www.conf.tpl => zz-www.conf.tmpl} (100%) create mode 100644 7/test/authorized_keys create mode 100644 7/test/crontab create mode 100644 7/test/id_rsa diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 2d0e0d60..2608d481 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -228,7 +228,7 @@ RUN set -xe; \ echo -n '/usr/local/bin/files_chown, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ - echo -n '/usr/local/bin/init_volumes, ' ; \ + echo -n '/usr/local/bin/init_container, ' ; \ echo -n '/usr/local/bin/migrate, ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ @@ -265,6 +265,7 @@ RUN set -xe; \ \ # Crontab rm /etc/crontabs/root; \ + # deprecated: remove in favor of bind mounts. touch /etc/crontabs/www-data; \ chown root:www-data /etc/crontabs/www-data; \ chmod 660 /etc/crontabs/www-data; \ diff --git a/5.3/bin/files_sync b/5.3/bin/files_sync index 47c3ba13..c54ad257 100755 --- a/5.3/bin/files_sync +++ b/5.3/bin/files_sync @@ -12,7 +12,7 @@ to=$2 if [[ "${to}" == "${FILES_DIR}" || "${to}" =~ ^"${FILES_DIR}/" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. - init_volumes + init_container else echo "Invalid destination. Must be under ${FILES_DIR}" exit 1 diff --git a/5.3/bin/init_volumes b/5.3/bin/init_container similarity index 61% rename from 5.3/bin/init_volumes rename to 5.3/bin/init_container index 6ab13de0..df439192 100755 --- a/5.3/bin/init_volumes +++ b/5.3/bin/init_container @@ -25,3 +25,13 @@ for dir in "${dirs[@]}"; do chown www-data:www-data "${dir}" chmod 775 "${dir}" done + +if [[ -f /etc/crontabs/www-data && -z "${CRONTAB}" ]]; then + chown root:www-data /etc/crontabs/www-data + chmod 660 /etc/crontabs/www-data +fi + +if [[ -f /home/wodby/.ssh/id_rsa ]]; then + chown wodby:wodby /home/wodby/.ssh/id_rsa + chmod 600 /home/wodby/.ssh/id_rsa +fi diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index aaeac80a..5c4e621d 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -14,21 +14,21 @@ _gotpl() { fi } +# @deprecated will be removed in favor of bind mounts (config maps). init_ssh_client() { - _gotpl "ssh_config.tpl" "${ssh_dir}/config" - if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - _gotpl "id_rsa.tpl" "${ssh_dir}/id_rsa" + _gotpl "id_rsa.tmpl" "${ssh_dir}/id_rsa" chmod -f 600 "${ssh_dir}/id_rsa" unset SSH_PRIVATE_KEY fi } init_sshd() { - _gotpl "sshd_config.tpl" "/etc/ssh/sshd_config" + _gotpl "sshd_config.tmpl" "/etc/ssh/sshd_config" + # @deprecated will be removed in favor of bind mounts (config maps). if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - _gotpl "authorized_keys.tpl" "${ssh_dir}/authorized_keys" + _gotpl "authorized_keys.tmpl" "${ssh_dir}/authorized_keys" unset SSH_PUBLIC_KEYS fi @@ -46,8 +46,11 @@ init_sshd() { sudo gen_ssh_keys "rsa" "${SSHD_HOST_KEYS_DIR}" } +# @deprecated will be removed in favor of bind mounts (config maps). init_crond() { - _gotpl "crontab.tpl" "/etc/crontabs/www-data" + if [[ -n "${CRONTAB}" ]]; then + _gotpl "crontab.tmpl" "/etc/crontabs/www-data" + fi } process_templates() { @@ -55,11 +58,13 @@ process_templates() { export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" fi - _gotpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - _gotpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - _gotpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" + _gotpl "docker-php.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" + _gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" + _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" + + _gotpl "ssh_config.tmpl" "${ssh_dir}/config" } init_git() { @@ -67,7 +72,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init_volumes +sudo init_container init_ssh_client init_git diff --git a/5.3/templates/authorized_keys.tpl b/5.3/templates/authorized_keys.tmpl similarity index 100% rename from 5.3/templates/authorized_keys.tpl rename to 5.3/templates/authorized_keys.tmpl diff --git a/5.3/templates/crontab.tpl b/5.3/templates/crontab.tmpl similarity index 100% rename from 5.3/templates/crontab.tpl rename to 5.3/templates/crontab.tmpl diff --git a/5.3/templates/docker-php-ext-opcache.ini.tpl b/5.3/templates/docker-php-ext-opcache.ini.tmpl similarity index 100% rename from 5.3/templates/docker-php-ext-opcache.ini.tpl rename to 5.3/templates/docker-php-ext-opcache.ini.tmpl diff --git a/5.3/templates/docker-php-ext-xdebug.ini.tpl b/5.3/templates/docker-php-ext-xdebug.ini.tmpl similarity index 100% rename from 5.3/templates/docker-php-ext-xdebug.ini.tpl rename to 5.3/templates/docker-php-ext-xdebug.ini.tmpl diff --git a/5.3/templates/docker-php.ini.tpl b/5.3/templates/docker-php.ini.tmpl similarity index 100% rename from 5.3/templates/docker-php.ini.tpl rename to 5.3/templates/docker-php.ini.tmpl diff --git a/5.3/templates/env.tpl b/5.3/templates/env.tmpl similarity index 100% rename from 5.3/templates/env.tpl rename to 5.3/templates/env.tmpl diff --git a/5.3/templates/id_rsa.tpl b/5.3/templates/id_rsa.tmpl similarity index 100% rename from 5.3/templates/id_rsa.tpl rename to 5.3/templates/id_rsa.tmpl diff --git a/5.3/templates/ssh_config.tpl b/5.3/templates/ssh_config.tmpl similarity index 100% rename from 5.3/templates/ssh_config.tpl rename to 5.3/templates/ssh_config.tmpl diff --git a/5.3/templates/sshd_config.tpl b/5.3/templates/sshd_config.tmpl similarity index 100% rename from 5.3/templates/sshd_config.tpl rename to 5.3/templates/sshd_config.tmpl diff --git a/5.3/templates/zz-www.conf.tpl b/5.3/templates/zz-www.conf.tmpl similarity index 100% rename from 5.3/templates/zz-www.conf.tpl rename to 5.3/templates/zz-www.conf.tmpl diff --git a/5.3/test/authorized_keys b/5.3/test/authorized_keys new file mode 100644 index 00000000..f7db54d3 --- /dev/null +++ b/5.3/test/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiTBsUnuHP6oi0hMYWVsy2pqiZx1c7Ku5ieAj4Y4qfkxaLWRAs7wxbce86YUoPefZ2jhlkm5wws37N+AWQaTXunisYR+5AMcYOa+3tQIDY27EiklIOvjmkEI2hObSfpJ42GYSD4+RMk1yDK5trMQ8npYVnlJUyD79sSfhyXiT6OmHoYGw2jJPdjKBrhPNeN3g7vHsJdPeTrz3/P9iC2LAiTyNe125Nzd4oAffSXEOmweZvZJSNtAWkFEw2grWDSlSKHVX+ZJMsFJ2nA2Cd1h3kIOMoRidN0obfN79xSPL8A5xf/hYB/FvKxxTpLit5uB1edrDwQMfJF3br8sQsy0TBj5jX/hJFLQsX09el3sj7+TLbU8+0NgJwnzxuq2d/vpa7aAYWcDsKY5L4OYGDXIn1kd9Y5MUvmC+j+ZbuXc2tP2BpxkZMKZj52DRZKkY06rDauowWH8OIeTvH3rs3KSEiS62aF/pFVkYMaSwBfPMJORpqJIM0G3+Ktq5hdhhh93GihiNSh9vjwC9McxnNxMZX0MiWMa6JnGVE8VFQenOM9QzFLvHkX8qDGWcBRq60dlzwMSYwkM0H85l39Zs2SOHaBK46XaqTVxShc2t6b+HLGycgB8iX1XcjLZKdR5mJ22Kqqb9947JYzzjgUjxUiBFqxi86xgp4m1DUHeYAocSx2Q== admin@example.com diff --git a/5.3/test/crontab b/5.3/test/crontab new file mode 100644 index 00000000..dfe88cdb --- /dev/null +++ b/5.3/test/crontab @@ -0,0 +1,2 @@ +# min hour day month weekday command +*/1 * * * * echo "test" > /mnt/files/cron diff --git a/5.3/test/docker-compose.yml b/5.3/test/docker-compose.yml index 992a27db..5d712e53 100644 --- a/5.3/test/docker-compose.yml +++ b/5.3/test/docker-compose.yml @@ -2,88 +2,35 @@ version: "2" services: nginx: - image: wodby/php-nginx + image: wodby/nginx + environment: + NGINX_BACKEND_HOST: php + NGINX_VHOST_PRESET: php depends_on: - php sshd: image: $IMAGE command: sudo /usr/sbin/sshd -De - environment: - DEBUG: 1 - SSH_PUBLIC_KEYS: |- - ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4mQ9wfvufRcDQ4LsoCYEyDL4LNsvP8dWKWMQKrnJ8k09IQm7mnvyzid8zxNJpQYxX12foC0+BttjejWVj67vf1if7rDHb\/e0oX7yQp4ji3QTjDNPDaOR\/eTOCNv1C5Lfj3n7D1G7O2dOiw8lAoSalGy6nltuTYY9EXbkl1dXaCG7qbQRVJEJdZ6x2oJ8FubJO6wjZvj9P759ziLVmWAqtzUgIQVlbv0nqSoq16Ug381sfnRvsHO1fXGhdgHGQ0WP720p5cBHxG+62HJROah5b7gahXidC2Lo6kdnLb5FOzZjRJO1aDiKgry\/GoNNijs6D5xwLtn44HoHMe0eyUw7lQCrWZwvNmdfvIecr+ZJNwT8cbZ2Cf5y0SqD4JZpcolR5FKuQluaVMdOvJCa8A\/BzvRqIeNLmZuHFRvruu2VTIHHZFR2CFgH9F+G\/KyBnmQwV\/FgqN6sy1MAuFmyizL7sJHVL3tSaMPSs423A+SLWYkXLxpUPjo2J5W2ImZYq97AQaHcArvrhKS2MwbBFGwaxglcq5t8Ss6Df3fEZUWGLHJSdOv\/fn\/+CNOiI7hjj3v5mHaxxnC27MOHmJlrqmCA3OXuQ9mZG\/hSfj2vPKF+xFUarqqsp4zVsDH71bY2Q+zHpyncIFnyhaiEba9gbvmUVOfUyYglkJ6TGF5xAhpDFpQ== admin@wodby.com"] + volumes: + - ./authorized_keys:/home/wodby/.ssh/authorized_keys php: image: $IMAGE environment: SSH_DISABLE_STRICT_KEY_CHECKING: 1 PHP_XDEBUG: 1 - SSH_PRIVATE_KEY: |- - -----BEGIN RSA PRIVATE KEY----- - MIIJKQIBAAKCAgEAuJkPcH77n0XA0OC7KAmBMgy+CzbLz/HViljECq5yfJNPSEJu - 5p78s4nfM8TSaUGMV9dn6AtPgbbY3o1lY+u739Yn+6wx2/3tKF+8kKeI4t0E4wzT - w2jkf3kzgjb9QuS3495+w9RuztnTosPJQKEmpRsup5bbk2GPRF25JdXV2ghu6m0E - VSRCXWesdqCfBbmyTusI2b4/T++fc4i1ZlgKrc1ICEFZW79J6kqKtelIN/NbH50b - 7BztX1xoXYBxkNFj+9tKeXAR8RvuthyUTmoeW+4GoV4nQti6OpHZy2+RTs2Y0STt - Wg4ioK8vxqDTYo7Og+ccC7Z+OB6BzHtHslMO5UAq1mcLzZnX7yHnK/mSTcE/HG2d - gn+ctEqg+CWaXKJUeRSrkJbmlTHTryQmvAPwc70aiHjS5mbhxUb67rtlUyBx2RUd - ghYB/RfhvysgZ5kMFfxYKjerMtTALhZsosy+7CR1S97UmjD0rONtwPki1mJFy8aV - D46NieVtiJmWKvewEGh3AK764SktjMGwRRsGsYJXKubfErOg393xGVFhixyUnTr/ - 35//gjToiO4Y497+Zh2scZwtuzDh5iZa6pggNzl7kPZmRv4Un49rzyhfsRVGq6qr - KeM1bAx+9W2NkPsx6cp3CBZ8oWohG2vYG75lFTn1MmIJZCekxhecQIaQxaUCAwEA - AQKCAgBe5+J2NfLr2hLd0Qyn8usHbmGupkd266Cb9jMkQrf9sEbMocseqpLFQ5cL - qJ99GgQrjUWQmXARAo7RLOT50FLRK+t2ivs/XXe2kDIENP49lOBUU130U1NW7ls7 - EUZ4Q9r/Pn7x85/cnUUfo4Uuwyt5K1Z7NyZAyaG8xmrQNvYxmLBduhrGI1QzbX/P - pZjcerJfvJraR+OJF2tlHN4WdiFXZfkotWBZuSkpWZWjHQLSMT2iLUYTyHOJ2ZqW - p9i7WcwLypypfqLa0T+TRXJCNnDRVrj18dBBn+dvAVl2LDAK0c1FibS13hqTfj4T - 4s+LFly6l/FlXDfcZmLZXHBqECXReoyY02mo6jNOdzwYHKElPQeAnzc8IRIBG3s4 - EU+OA2EFZzQp2qSNlVAfTe/masQZkBOYTU/cpWg5yfIReFEWc1FzILTyXESJu0U2 - GmAYu1b7miFWsglIapUxCdlfdoEer+yDpjG4T151CYB11sUfpgcfOhAsStNfykmc - AaxRzklKFnjD5R8Au0BqZLyHu7FApV0BQqwZkevomsAAVWfVSxVGobnSzhW2mIIV - 4FyAKWHG8pm0By/eJkgKjJK3rIAjeAq/bJpNoUeKwjdvuysfMM9Q/LEjUQ5RRU09 - r/kAquTDUHne5d4yEjzmDmlaBN/zrMYuY1bG5H9Qs05p86W/aQKCAQEA82TOCRys - XCud62XTyHYxOqQbG/vDa1qdiamiE4iGBJgFUG0Xvqzy3YeSvqdifRxzst2auj7p - OSHk6w5/4Q2iezew/UCzRcG+INwtNwOUJ7wvHPyqskbp3w7e4OkrcN6lzReFZqls - pB5a9U8yn3qK/qrpHtyyBds951qI0olDyiPdW0M+8IKrIa70cUb6PYpk5enGVgyI - h+fBK9PTCzr9Gsk5XTpkNRcvgF1Czig+ZXk4KpD19W/JtqHSpCOu5XZx1RpCBBtY - +1BJcTzE0jgOAywFuUHVdYaSXZa+Nlyc+mgjqZoeNfgy8rvcGrM7VYAt+wlPpSeI - eiQBgeltfDWD7wKCAQEAwiisBfaSvN+odjs05vYEYPH43Vs2pp76ZxjUqTU0H2hL - Cmun2ogh/QgDy1wIUQBeZznm4mSQWn5vZNBmz786Fh2tPFi4QQaYCvtJmGfeV5aR - wOnb+cpCVeI2MG9iBnUPlWp7Zdj7Lwdt2EG5QNIMfF4zKuScuY2E05eIZCuWPdwA - 9/9zaWH3QR9luCEcHzLuspmu56uH5CvMBtsDdqs42BAm/DRn5FjAAWIHunIjoRrt - 8WaHe1/jPPcOHAvVLeK1iq/Ahe9f48JQqh5PeMtWFyUqRB68D5RcqCgHlVpfFk84 - UFMvgVLo2Sv1LtZAWlop168Io6YTsbXpt9HAxl+rqwKCAQEAs3EFSch+9nEdu1fW - XLturfohFm918qba8IxEtrv3elmNyW60i9o8L8DtGmyTewPH9P3WPit1jK6FdBq7 - gvOnb8puTTgvM2WUQ+uv1hhoWScvYOKTAl6vu8jd3tlpMoyjlmIZ8sdEFndeve6G - tvcElJ7ywdMZ2KF7sR6ZMwcKGHR6lPct5umfO3UeOImIomhu3OaOWBBjdDcTvrkr - peL2iZIDHc2X5WBToAKh5xXacrt9AjzfaPTitSf3ARZhskCxydfTBe4XmyjlDHwt - 64JyKjqBecSkmEH/lMo3MCL1hNPUPw0l6soy3axMqM6tFusqeyKxOmS8BLiY9+td - 0a4utwKCAQBIXrigEGRpmkRErZTuccz4BblpaNJaEO/s9chuubIP8uPlonMSdaOV - mSMw7cD70FNfzqlMwYc889u5jCSGUxTnoXAtCjTDqB2MGlY4RJ8PrsPtUD36QXWw - ZX0lWJ8FISUJ4ILWV6ZoxTAgZ38RtjmJMeOInWX9k85qwBTKoaSCsjp6NfFi2m07 - DOTxWQYOawGl+LrFB57DYb/O3lvQI8owXvTpFO+UobAP0+ZljJ3TMyJ11G2zgu5E - jyHnOlHfpJ1ecFwmkC8ByjAe+OVOdRxFzEiQ05PtirNuylzpQqImwqiO6DLQ1YKN - UGE3cAzUoL7v8gIaXZEBsHjJV5mvV4G5AoIBAQCd89YTMEVVHr2HPxWmQb1BJ+4D - u0u9Aj9Gb6f3qxfQPa9+A081rdnb2DEXCRrjPAguxP/JxXmBMQjs/PfcCnHRHFWU - nEnXfUAprudh2xX6j3tgNyOwJT3fBlRg8TRQ5HorpzaCxzCIoMgbwBmB05VzxDAq - y7zXXF+i0+QLHdAKMIQmps0S+qn+ji3ViooJyrAGuZTmeIXQP7b8wgft5m16C5Nc - Hl/7LjnsiAiu6HMNqIjrJmHNmdYlmfqFBepvWpnykUgvEMSigyy0K7858Lcl+FH3 - 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ - -----END RSA PRIVATE KEY----- volumes: - ./tests.sh:/usr/local/bin/tests.sh - ./php_modules:/home/wodby/php_modules + - ./id_rsa:/home/wodby/.ssh/id_rsa depends_on: - sshd crond: image: $IMAGE command: sudo -E crond -f -d 0 - environment: - CRONTAB_ENV: test - CRONTAB: |- - # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /mnt/files/cron + volumes: + - ./crontab:/etc/crontabs/www-data depends_on: - sshd diff --git a/5.3/test/id_rsa b/5.3/test/id_rsa new file mode 100644 index 00000000..f7e7825b --- /dev/null +++ b/5.3/test/id_rsa @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIJKQIBAAKCAgEAokwbFJ7hz+qItITGFlbMtqaomcdXOyruYngI+GOKn5MWi1kQ +LO8MW3HvOmFKD3n2do4ZZJucMLN+zfgFkGk17p4rGEfuQDHGDmvt7UCA2NuxIpJS +Dr45pBCNoTm0n6SeNhmEg+PkTJNcgyubazEPJ6WFZ5SVMg+/bEn4cl4k+jph6GBs +NoyT3Yyga4TzXjd4O7x7CXT3k689/z/YgtiwIk8jXtduTc3eKAH30lxDpsHmb2SU +jbQFpBRMNoK1g0pUih1V/mSTLBSdpwNgndYd5CDjKEYnTdKG3ze/cUjy/AOcX/4W +AfxbyscU6S4rebgdXnaw8EDHyRd26/LELMtEwY+Y1/4SRS0LF9PXpd7I+/ky21PP +tDYCcJ88bqtnf76Wu2gGFnA7CmOS+DmBg1yJ9ZHfWOTFL5gvo/mW7l3NrT9gacZG +TCmY+dg0WSpGNOqw2rqMFh/DiHk7x967NykhIkutmhf6RVZGDGksAXzzCTkaaiSD +NBt/irauYXYYYfdxooYjUofb48AvTHMZzcTGV9DIljGuiZxlRPFRUHpzjPUMxS7x +5F/KgxlnAUautHZc8DEmMJDNB/OZd/WbNkjh2gSuOl2qk1cUoXNrem/hyxsnIAfI +l9V3Iy2SnUeZidtiqqm/feOyWM844FI8VIgRasYvOsYKeJtQ1B3mAKHEsdkCAwEA +AQKCAgEAgUJj/xRbfKCqqDtnGLug54fsmC1viCw1GC/J1SpSaa1YMzuH6oGpMduY +UMLTnWfhp6KdDsfwqckLoTd8Fvv0fEt0vy3qzy3VM/85y8+nzw+KEKLAwAU5GzYj +1tiCxvLxHt1L8U87sNFcyQueCM1V6Jmnmkt4WBq6tqBjQ5M/mBuPhufkx71Gtxkd +WwTUX6GGHO2MgIer9u+HTReodO3nuiuVXB/wNf9UhECtA9l/9/xOb0GIHyPVqkyQ +Non7zskQc7/RkX7AyEbTGQVTmeHChMK8qILXIuAdkwJvcuZKv/SQQtO263X2FZZh +TSX8ckD1Axs86NxvQfVyPZFoNNTfuJTVJGaRoa5cwNQtCAKtQ9BmasAarlre02Jb +xplj6N4elzYFPr7iQzZ0ae2weWs3oAriAG3e2Z6WZTbIbwnqTCMbVQlXBh+VggRK +ja5VS3bkJDoX6C6dWjcFPkGhCSyKjjKJ3Ixw47EoZN+k+jlWNEOmpGpz/Q8DzctK +mmA50zgmdHsj41W/saZ4dRBHbo3bdNY7Z9Fmk+wNTZD7KMfv6Hr/ajiERDewkvDd +tIrODvZdDANPrtUEFa5lQKJ3e8yp8wx/FVXLX45b9kw4PwUlyyEHi2GD2nR8vHv6 +EqPInQA7YTeUC165wRFEz7POVWjnVDzQv+wHKoURnMz8uA4JQFECggEBAM4NzSs6 +3XlG9M1Kpn/sNvLOPbP9ALZM9EQMEJrHvjMOEAfwzSWo5WiqRpLhKo/Fee1RPRn8 +db4vVztSXfKPh+3C3PeaE/ZHMIiDr+f0Xl+3+nHzmWfiKvjH1amBlAk0FRwQYD4r +YxhAGJnRy90KeXTxRoTcsguYhk5E72nBd4+x+QUecxI1r+gbFJa4DpVqBLGDbszP +jkoW/goZ+aLHxgq71lzWtHjjKoNqdzCI8LOYsTX+VSz3yYPXdAPLrpVaaITEb91Z +hdca1B2NZiE9HsSuV1ou+KZtG00MTnnN/7tnGqzTYXdYbbdHFywAg3sCKo4Nl/K9 +383OLwgd/MxJoT8CggEBAMmjFp2bWiBXg5AgDk0zGQrQ2rkfq+snJLwblj8HXoBp +tIO1Nh+fEAs2sdY1bmGvdKp9TItciIEcPL+dCLUKXOQHpTqX0a6GS///XECtQDTZ +eLAK6PC/FoBHbQE4aDj/5C2h5k32Hq0pLU+qwNhFF/KkV5ZZbg5oPUkyd3f3ARMM +SdFBnmqq7vkWGpYvVVZuORmUYeRb56uuVxO/DOfBMr5A+ikU8eN3cxpUKu9ZaUJd +RvbIRAztz/4dKsVLyBuOgeN8T8OzxAVI8HiUW3THAQQy68AkqEPvy9djujmU/yTx +uf753mBb4ZVa/ocjbM4Pt1JWMKSIk8yHXRy4AFQNTucCggEAL0l7jDA2I17lTzeS +fkj3U0GBZ4zoXO3MINGj/eFZBN51T10ztzDLdPmeuJZz7gqjsJK0MwJ9AuhaXILK +jJ/j0eymSSxS6HHt8WZHODQcdFsEXqJI0k5VDkLOBdh24KXTMl2PuLS8SRRskOBU +qKV+uhek11jOg1q9d7jaOKrthUySmVojjkpD1EBiuTQEJMXvzc0b4GTBgr9EDY1o +fLLcABqbVzLut89qMj58m+bRVmX0RS/Y3DkBRgBr33Me3aeh1NY/1cx1qqe9hgqt +JXOhXAGmiku9RHRFj6kDWXCs/5Tpyj+4XmsswqLN7osvoUsd+Pulo09vzQtEP9ih +6z/6gQKCAQEAocgX8jbedkqhRbdiojBYbGQsyhIOV2udvswHneSkvzWQ34g6t95g ++g5VW8CdIwWq/svv6XVCFQ159Gfjv5Zj95XmzX9YfsZEHk9eTopzlLPUcLMgOWGo +hR5J6IvAm9M82hwnc/AApwD92QjxF9VAJLAVko2Ij0i1u5AhaQCnPQhEBgC3QXCK +sxI4HL43o1Rmvg5fCOFwnUARn8dPbHeH5jyuOt4SQmbp1Hspw8cifFvo/0KpzxHU +K1hto8Vs9ic+Mi7gtO38Xh0qzCSEyMqPFzZgD1eaJoA1NklO9rqEiLjmeh0zfm7a +LYLH69fRiff0J7z95FWs+JK3c75yjP3siwKCAQBOAf1hryhPigHfG1JAgY2IxQp5 +WNVg2ClDamAd6dfVCo4dn+NXf6WNjgGxopcaCEMv7YG+QMusWDNxy1h/Ai5xUovW +505qh8C1RF8/JBl/Ow9AU1Dc6zT6bX49wN7/ZDxwEinYz/2nuMl/15XL0iMcWQqH +jMb2UfWbuyvn9WJi8wlVKwEulQy5DyqJZ4f9u/1fxuiC3X/WsfTJp4PdyYG35gRn +c64EObY0Br/IXsZXqOx0aXwtEkhZq864QlBzwEvuj81oenkOzSt+fvwCNR5HjFxZ +iWFfSRvJbky07BoT7SLrcFDNyXVhhorCHXiwav2wS/OwHo3tBiZ6qy5/xLoJ +-----END RSA PRIVATE KEY----- diff --git a/5.3/test/run.sh b/5.3/test/run.sh index 1f239562..5654d5c1 100755 --- a/5.3/test/run.sh +++ b/5.3/test/run.sh @@ -47,7 +47,7 @@ docker_exec php tests.sh # SSH echo -n "Testing ssh... " docker_exec php touch /home/wodby/.ssh/known_hosts -docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@wodby.com +docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@example.com echo "OK" # Git actions diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 9147da2e..87059bf6 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -268,7 +268,7 @@ RUN set -xe; \ echo -n '/usr/local/bin/files_chown, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ - echo -n '/usr/local/bin/init_volumes, ' ; \ + echo -n '/usr/local/bin/init_container, ' ; \ echo -n '/usr/local/bin/migrate, ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ @@ -305,6 +305,7 @@ RUN set -xe; \ \ # Crontab rm /etc/crontabs/root; \ + # deprecated: remove in favor of bind mounts. touch /etc/crontabs/www-data; \ chown root:www-data /etc/crontabs/www-data; \ chmod 660 /etc/crontabs/www-data; \ diff --git a/5.6/bin/files_sync b/5.6/bin/files_sync index 47c3ba13..c54ad257 100755 --- a/5.6/bin/files_sync +++ b/5.6/bin/files_sync @@ -12,7 +12,7 @@ to=$2 if [[ "${to}" == "${FILES_DIR}" || "${to}" =~ ^"${FILES_DIR}/" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. - init_volumes + init_container else echo "Invalid destination. Must be under ${FILES_DIR}" exit 1 diff --git a/5.6/bin/init_volumes b/5.6/bin/init_container similarity index 61% rename from 5.6/bin/init_volumes rename to 5.6/bin/init_container index 6ab13de0..df439192 100755 --- a/5.6/bin/init_volumes +++ b/5.6/bin/init_container @@ -25,3 +25,13 @@ for dir in "${dirs[@]}"; do chown www-data:www-data "${dir}" chmod 775 "${dir}" done + +if [[ -f /etc/crontabs/www-data && -z "${CRONTAB}" ]]; then + chown root:www-data /etc/crontabs/www-data + chmod 660 /etc/crontabs/www-data +fi + +if [[ -f /home/wodby/.ssh/id_rsa ]]; then + chown wodby:wodby /home/wodby/.ssh/id_rsa + chmod 600 /home/wodby/.ssh/id_rsa +fi diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index e55d000a..3be61da4 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -14,21 +14,21 @@ _gotpl() { fi } +# @deprecated will be removed in favor of bind mounts (config maps). init_ssh_client() { - _gotpl "ssh_config.tpl" "${ssh_dir}/config" - if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - _gotpl "id_rsa.tpl" "${ssh_dir}/id_rsa" + _gotpl "id_rsa.tmpl" "${ssh_dir}/id_rsa" chmod -f 600 "${ssh_dir}/id_rsa" unset SSH_PRIVATE_KEY fi } init_sshd() { - _gotpl "sshd_config.tpl" "/etc/ssh/sshd_config" + _gotpl "sshd_config.tmpl" "/etc/ssh/sshd_config" + # @deprecated will be removed in favor of bind mounts (config maps). if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - _gotpl "authorized_keys.tpl" "${ssh_dir}/authorized_keys" + _gotpl "authorized_keys.tmpl" "${ssh_dir}/authorized_keys" unset SSH_PUBLIC_KEYS fi @@ -46,8 +46,11 @@ init_sshd() { sudo gen_ssh_keys "rsa" "${SSHD_HOST_KEYS_DIR}" } +# @deprecated will be removed in favor of bind mounts (config maps). init_crond() { - _gotpl "crontab.tpl" "/etc/crontabs/www-data" + if [[ -n "${CRONTAB}" ]]; then + _gotpl "crontab.tmpl" "/etc/crontabs/www-data" + fi } process_templates() { @@ -59,18 +62,20 @@ process_templates() { export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else # Extensions that don't work with --enabled-debug - _gotpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - _gotpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" + _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi - _gotpl "docker-php.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - _gotpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - _gotpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - _gotpl "docker-php-ext-igbinary.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" - _gotpl "docker-php-ext-opcache.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - _gotpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" + _gotpl "docker-php.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" + _gotpl "docker-php-ext-apcu.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" + _gotpl "docker-php-ext-geoip.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" + _gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" + _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" + + _gotpl "ssh_config.tmpl" "${ssh_dir}/config" } init_git() { @@ -78,7 +83,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init_volumes +sudo init_container init_ssh_client init_git diff --git a/5.6/templates/authorized_keys.tpl b/5.6/templates/authorized_keys.tmpl similarity index 100% rename from 5.6/templates/authorized_keys.tpl rename to 5.6/templates/authorized_keys.tmpl diff --git a/5.6/templates/crontab.tpl b/5.6/templates/crontab.tmpl similarity index 100% rename from 5.6/templates/crontab.tpl rename to 5.6/templates/crontab.tmpl diff --git a/5.6/templates/docker-php-ext-apcu.ini.tpl b/5.6/templates/docker-php-ext-apcu.ini.tmpl similarity index 100% rename from 5.6/templates/docker-php-ext-apcu.ini.tpl rename to 5.6/templates/docker-php-ext-apcu.ini.tmpl diff --git a/5.6/templates/docker-php-ext-blackfire.ini.tpl b/5.6/templates/docker-php-ext-blackfire.ini.tmpl similarity index 100% rename from 5.6/templates/docker-php-ext-blackfire.ini.tpl rename to 5.6/templates/docker-php-ext-blackfire.ini.tmpl diff --git a/5.6/templates/docker-php-ext-geoip.ini.tpl b/5.6/templates/docker-php-ext-geoip.ini.tmpl similarity index 100% rename from 5.6/templates/docker-php-ext-geoip.ini.tpl rename to 5.6/templates/docker-php-ext-geoip.ini.tmpl diff --git a/5.6/templates/docker-php-ext-igbinary.ini.tpl b/5.6/templates/docker-php-ext-igbinary.ini.tmpl similarity index 100% rename from 5.6/templates/docker-php-ext-igbinary.ini.tpl rename to 5.6/templates/docker-php-ext-igbinary.ini.tmpl diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tpl b/5.6/templates/docker-php-ext-newrelic.ini.tmpl similarity index 100% rename from 5.6/templates/docker-php-ext-newrelic.ini.tpl rename to 5.6/templates/docker-php-ext-newrelic.ini.tmpl diff --git a/5.6/templates/docker-php-ext-opcache.ini.tpl b/5.6/templates/docker-php-ext-opcache.ini.tmpl similarity index 100% rename from 5.6/templates/docker-php-ext-opcache.ini.tpl rename to 5.6/templates/docker-php-ext-opcache.ini.tmpl diff --git a/5.6/templates/docker-php-ext-xdebug.ini.tpl b/5.6/templates/docker-php-ext-xdebug.ini.tmpl similarity index 100% rename from 5.6/templates/docker-php-ext-xdebug.ini.tpl rename to 5.6/templates/docker-php-ext-xdebug.ini.tmpl diff --git a/5.6/templates/docker-php.ini.tpl b/5.6/templates/docker-php.ini.tmpl similarity index 100% rename from 5.6/templates/docker-php.ini.tpl rename to 5.6/templates/docker-php.ini.tmpl diff --git a/5.6/templates/id_rsa.tpl b/5.6/templates/id_rsa.tmpl similarity index 100% rename from 5.6/templates/id_rsa.tpl rename to 5.6/templates/id_rsa.tmpl diff --git a/5.6/templates/ssh_config.tpl b/5.6/templates/ssh_config.tmpl similarity index 100% rename from 5.6/templates/ssh_config.tpl rename to 5.6/templates/ssh_config.tmpl diff --git a/5.6/templates/sshd_config.tpl b/5.6/templates/sshd_config.tmpl similarity index 100% rename from 5.6/templates/sshd_config.tpl rename to 5.6/templates/sshd_config.tmpl diff --git a/5.6/templates/wodby.settings.php.tpl b/5.6/templates/wodby.settings.php.tmpl similarity index 100% rename from 5.6/templates/wodby.settings.php.tpl rename to 5.6/templates/wodby.settings.php.tmpl diff --git a/5.6/templates/zz-www.conf.tpl b/5.6/templates/zz-www.conf.tmpl similarity index 100% rename from 5.6/templates/zz-www.conf.tpl rename to 5.6/templates/zz-www.conf.tmpl diff --git a/5.6/test/authorized_keys b/5.6/test/authorized_keys new file mode 100644 index 00000000..f7db54d3 --- /dev/null +++ b/5.6/test/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiTBsUnuHP6oi0hMYWVsy2pqiZx1c7Ku5ieAj4Y4qfkxaLWRAs7wxbce86YUoPefZ2jhlkm5wws37N+AWQaTXunisYR+5AMcYOa+3tQIDY27EiklIOvjmkEI2hObSfpJ42GYSD4+RMk1yDK5trMQ8npYVnlJUyD79sSfhyXiT6OmHoYGw2jJPdjKBrhPNeN3g7vHsJdPeTrz3/P9iC2LAiTyNe125Nzd4oAffSXEOmweZvZJSNtAWkFEw2grWDSlSKHVX+ZJMsFJ2nA2Cd1h3kIOMoRidN0obfN79xSPL8A5xf/hYB/FvKxxTpLit5uB1edrDwQMfJF3br8sQsy0TBj5jX/hJFLQsX09el3sj7+TLbU8+0NgJwnzxuq2d/vpa7aAYWcDsKY5L4OYGDXIn1kd9Y5MUvmC+j+ZbuXc2tP2BpxkZMKZj52DRZKkY06rDauowWH8OIeTvH3rs3KSEiS62aF/pFVkYMaSwBfPMJORpqJIM0G3+Ktq5hdhhh93GihiNSh9vjwC9McxnNxMZX0MiWMa6JnGVE8VFQenOM9QzFLvHkX8qDGWcBRq60dlzwMSYwkM0H85l39Zs2SOHaBK46XaqTVxShc2t6b+HLGycgB8iX1XcjLZKdR5mJ22Kqqb9947JYzzjgUjxUiBFqxi86xgp4m1DUHeYAocSx2Q== admin@example.com diff --git a/5.6/test/crontab b/5.6/test/crontab new file mode 100644 index 00000000..dfe88cdb --- /dev/null +++ b/5.6/test/crontab @@ -0,0 +1,2 @@ +# min hour day month weekday command +*/1 * * * * echo "test" > /mnt/files/cron diff --git a/5.6/test/docker-compose.yml b/5.6/test/docker-compose.yml index 52795c56..660526a0 100644 --- a/5.6/test/docker-compose.yml +++ b/5.6/test/docker-compose.yml @@ -2,16 +2,18 @@ version: "2" services: nginx: - image: wodby/php-nginx + image: wodby/nginx + environment: + NGINX_BACKEND_HOST: php + NGINX_VHOST_PRESET: php depends_on: - php sshd: image: $IMAGE command: sudo /usr/sbin/sshd -De - environment: - SSH_PUBLIC_KEYS: |- - ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4mQ9wfvufRcDQ4LsoCYEyDL4LNsvP8dWKWMQKrnJ8k09IQm7mnvyzid8zxNJpQYxX12foC0+BttjejWVj67vf1if7rDHb\/e0oX7yQp4ji3QTjDNPDaOR\/eTOCNv1C5Lfj3n7D1G7O2dOiw8lAoSalGy6nltuTYY9EXbkl1dXaCG7qbQRVJEJdZ6x2oJ8FubJO6wjZvj9P759ziLVmWAqtzUgIQVlbv0nqSoq16Ug381sfnRvsHO1fXGhdgHGQ0WP720p5cBHxG+62HJROah5b7gahXidC2Lo6kdnLb5FOzZjRJO1aDiKgry\/GoNNijs6D5xwLtn44HoHMe0eyUw7lQCrWZwvNmdfvIecr+ZJNwT8cbZ2Cf5y0SqD4JZpcolR5FKuQluaVMdOvJCa8A\/BzvRqIeNLmZuHFRvruu2VTIHHZFR2CFgH9F+G\/KyBnmQwV\/FgqN6sy1MAuFmyizL7sJHVL3tSaMPSs423A+SLWYkXLxpUPjo2J5W2ImZYq97AQaHcArvrhKS2MwbBFGwaxglcq5t8Ss6Df3fEZUWGLHJSdOv\/fn\/+CNOiI7hjj3v5mHaxxnC27MOHmJlrqmCA3OXuQ9mZG\/hSfj2vPKF+xFUarqqsp4zVsDH71bY2Q+zHpyncIFnyhaiEba9gbvmUVOfUyYglkJ6TGF5xAhpDFpQ== admin@wodby.com"] + volumes: + - ./authorized_keys:/home/wodby/.ssh/authorized_keys php: image: $IMAGE @@ -19,71 +21,17 @@ services: SSH_DISABLE_STRICT_KEY_CHECKING: 1 PHP_XDEBUG: 1 PHP_BLACKFIRE: 1 - SSH_PRIVATE_KEY: |- - -----BEGIN RSA PRIVATE KEY----- - MIIJKQIBAAKCAgEAuJkPcH77n0XA0OC7KAmBMgy+CzbLz/HViljECq5yfJNPSEJu - 5p78s4nfM8TSaUGMV9dn6AtPgbbY3o1lY+u739Yn+6wx2/3tKF+8kKeI4t0E4wzT - w2jkf3kzgjb9QuS3495+w9RuztnTosPJQKEmpRsup5bbk2GPRF25JdXV2ghu6m0E - VSRCXWesdqCfBbmyTusI2b4/T++fc4i1ZlgKrc1ICEFZW79J6kqKtelIN/NbH50b - 7BztX1xoXYBxkNFj+9tKeXAR8RvuthyUTmoeW+4GoV4nQti6OpHZy2+RTs2Y0STt - Wg4ioK8vxqDTYo7Og+ccC7Z+OB6BzHtHslMO5UAq1mcLzZnX7yHnK/mSTcE/HG2d - gn+ctEqg+CWaXKJUeRSrkJbmlTHTryQmvAPwc70aiHjS5mbhxUb67rtlUyBx2RUd - ghYB/RfhvysgZ5kMFfxYKjerMtTALhZsosy+7CR1S97UmjD0rONtwPki1mJFy8aV - D46NieVtiJmWKvewEGh3AK764SktjMGwRRsGsYJXKubfErOg393xGVFhixyUnTr/ - 35//gjToiO4Y497+Zh2scZwtuzDh5iZa6pggNzl7kPZmRv4Un49rzyhfsRVGq6qr - KeM1bAx+9W2NkPsx6cp3CBZ8oWohG2vYG75lFTn1MmIJZCekxhecQIaQxaUCAwEA - AQKCAgBe5+J2NfLr2hLd0Qyn8usHbmGupkd266Cb9jMkQrf9sEbMocseqpLFQ5cL - qJ99GgQrjUWQmXARAo7RLOT50FLRK+t2ivs/XXe2kDIENP49lOBUU130U1NW7ls7 - EUZ4Q9r/Pn7x85/cnUUfo4Uuwyt5K1Z7NyZAyaG8xmrQNvYxmLBduhrGI1QzbX/P - pZjcerJfvJraR+OJF2tlHN4WdiFXZfkotWBZuSkpWZWjHQLSMT2iLUYTyHOJ2ZqW - p9i7WcwLypypfqLa0T+TRXJCNnDRVrj18dBBn+dvAVl2LDAK0c1FibS13hqTfj4T - 4s+LFly6l/FlXDfcZmLZXHBqECXReoyY02mo6jNOdzwYHKElPQeAnzc8IRIBG3s4 - EU+OA2EFZzQp2qSNlVAfTe/masQZkBOYTU/cpWg5yfIReFEWc1FzILTyXESJu0U2 - GmAYu1b7miFWsglIapUxCdlfdoEer+yDpjG4T151CYB11sUfpgcfOhAsStNfykmc - AaxRzklKFnjD5R8Au0BqZLyHu7FApV0BQqwZkevomsAAVWfVSxVGobnSzhW2mIIV - 4FyAKWHG8pm0By/eJkgKjJK3rIAjeAq/bJpNoUeKwjdvuysfMM9Q/LEjUQ5RRU09 - r/kAquTDUHne5d4yEjzmDmlaBN/zrMYuY1bG5H9Qs05p86W/aQKCAQEA82TOCRys - XCud62XTyHYxOqQbG/vDa1qdiamiE4iGBJgFUG0Xvqzy3YeSvqdifRxzst2auj7p - OSHk6w5/4Q2iezew/UCzRcG+INwtNwOUJ7wvHPyqskbp3w7e4OkrcN6lzReFZqls - pB5a9U8yn3qK/qrpHtyyBds951qI0olDyiPdW0M+8IKrIa70cUb6PYpk5enGVgyI - h+fBK9PTCzr9Gsk5XTpkNRcvgF1Czig+ZXk4KpD19W/JtqHSpCOu5XZx1RpCBBtY - +1BJcTzE0jgOAywFuUHVdYaSXZa+Nlyc+mgjqZoeNfgy8rvcGrM7VYAt+wlPpSeI - eiQBgeltfDWD7wKCAQEAwiisBfaSvN+odjs05vYEYPH43Vs2pp76ZxjUqTU0H2hL - Cmun2ogh/QgDy1wIUQBeZznm4mSQWn5vZNBmz786Fh2tPFi4QQaYCvtJmGfeV5aR - wOnb+cpCVeI2MG9iBnUPlWp7Zdj7Lwdt2EG5QNIMfF4zKuScuY2E05eIZCuWPdwA - 9/9zaWH3QR9luCEcHzLuspmu56uH5CvMBtsDdqs42BAm/DRn5FjAAWIHunIjoRrt - 8WaHe1/jPPcOHAvVLeK1iq/Ahe9f48JQqh5PeMtWFyUqRB68D5RcqCgHlVpfFk84 - UFMvgVLo2Sv1LtZAWlop168Io6YTsbXpt9HAxl+rqwKCAQEAs3EFSch+9nEdu1fW - XLturfohFm918qba8IxEtrv3elmNyW60i9o8L8DtGmyTewPH9P3WPit1jK6FdBq7 - gvOnb8puTTgvM2WUQ+uv1hhoWScvYOKTAl6vu8jd3tlpMoyjlmIZ8sdEFndeve6G - tvcElJ7ywdMZ2KF7sR6ZMwcKGHR6lPct5umfO3UeOImIomhu3OaOWBBjdDcTvrkr - peL2iZIDHc2X5WBToAKh5xXacrt9AjzfaPTitSf3ARZhskCxydfTBe4XmyjlDHwt - 64JyKjqBecSkmEH/lMo3MCL1hNPUPw0l6soy3axMqM6tFusqeyKxOmS8BLiY9+td - 0a4utwKCAQBIXrigEGRpmkRErZTuccz4BblpaNJaEO/s9chuubIP8uPlonMSdaOV - mSMw7cD70FNfzqlMwYc889u5jCSGUxTnoXAtCjTDqB2MGlY4RJ8PrsPtUD36QXWw - ZX0lWJ8FISUJ4ILWV6ZoxTAgZ38RtjmJMeOInWX9k85qwBTKoaSCsjp6NfFi2m07 - DOTxWQYOawGl+LrFB57DYb/O3lvQI8owXvTpFO+UobAP0+ZljJ3TMyJ11G2zgu5E - jyHnOlHfpJ1ecFwmkC8ByjAe+OVOdRxFzEiQ05PtirNuylzpQqImwqiO6DLQ1YKN - UGE3cAzUoL7v8gIaXZEBsHjJV5mvV4G5AoIBAQCd89YTMEVVHr2HPxWmQb1BJ+4D - u0u9Aj9Gb6f3qxfQPa9+A081rdnb2DEXCRrjPAguxP/JxXmBMQjs/PfcCnHRHFWU - nEnXfUAprudh2xX6j3tgNyOwJT3fBlRg8TRQ5HorpzaCxzCIoMgbwBmB05VzxDAq - y7zXXF+i0+QLHdAKMIQmps0S+qn+ji3ViooJyrAGuZTmeIXQP7b8wgft5m16C5Nc - Hl/7LjnsiAiu6HMNqIjrJmHNmdYlmfqFBepvWpnykUgvEMSigyy0K7858Lcl+FH3 - 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ - -----END RSA PRIVATE KEY----- volumes: - ./tests.sh:/usr/local/bin/tests.sh - ./php_modules:/home/wodby/php_modules + - ./id_rsa:/home/wodby/.ssh/id_rsa depends_on: - sshd crond: image: $IMAGE command: sudo -E crond -f -d 0 - environment: - CRONTAB_ENV: test - CRONTAB: |- - # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /mnt/files/cron + volumes: + - ./crontab:/etc/crontabs/www-data depends_on: - sshd diff --git a/5.6/test/id_rsa b/5.6/test/id_rsa new file mode 100644 index 00000000..f7e7825b --- /dev/null +++ b/5.6/test/id_rsa @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIJKQIBAAKCAgEAokwbFJ7hz+qItITGFlbMtqaomcdXOyruYngI+GOKn5MWi1kQ +LO8MW3HvOmFKD3n2do4ZZJucMLN+zfgFkGk17p4rGEfuQDHGDmvt7UCA2NuxIpJS +Dr45pBCNoTm0n6SeNhmEg+PkTJNcgyubazEPJ6WFZ5SVMg+/bEn4cl4k+jph6GBs +NoyT3Yyga4TzXjd4O7x7CXT3k689/z/YgtiwIk8jXtduTc3eKAH30lxDpsHmb2SU +jbQFpBRMNoK1g0pUih1V/mSTLBSdpwNgndYd5CDjKEYnTdKG3ze/cUjy/AOcX/4W +AfxbyscU6S4rebgdXnaw8EDHyRd26/LELMtEwY+Y1/4SRS0LF9PXpd7I+/ky21PP +tDYCcJ88bqtnf76Wu2gGFnA7CmOS+DmBg1yJ9ZHfWOTFL5gvo/mW7l3NrT9gacZG +TCmY+dg0WSpGNOqw2rqMFh/DiHk7x967NykhIkutmhf6RVZGDGksAXzzCTkaaiSD +NBt/irauYXYYYfdxooYjUofb48AvTHMZzcTGV9DIljGuiZxlRPFRUHpzjPUMxS7x +5F/KgxlnAUautHZc8DEmMJDNB/OZd/WbNkjh2gSuOl2qk1cUoXNrem/hyxsnIAfI +l9V3Iy2SnUeZidtiqqm/feOyWM844FI8VIgRasYvOsYKeJtQ1B3mAKHEsdkCAwEA +AQKCAgEAgUJj/xRbfKCqqDtnGLug54fsmC1viCw1GC/J1SpSaa1YMzuH6oGpMduY +UMLTnWfhp6KdDsfwqckLoTd8Fvv0fEt0vy3qzy3VM/85y8+nzw+KEKLAwAU5GzYj +1tiCxvLxHt1L8U87sNFcyQueCM1V6Jmnmkt4WBq6tqBjQ5M/mBuPhufkx71Gtxkd +WwTUX6GGHO2MgIer9u+HTReodO3nuiuVXB/wNf9UhECtA9l/9/xOb0GIHyPVqkyQ +Non7zskQc7/RkX7AyEbTGQVTmeHChMK8qILXIuAdkwJvcuZKv/SQQtO263X2FZZh +TSX8ckD1Axs86NxvQfVyPZFoNNTfuJTVJGaRoa5cwNQtCAKtQ9BmasAarlre02Jb +xplj6N4elzYFPr7iQzZ0ae2weWs3oAriAG3e2Z6WZTbIbwnqTCMbVQlXBh+VggRK +ja5VS3bkJDoX6C6dWjcFPkGhCSyKjjKJ3Ixw47EoZN+k+jlWNEOmpGpz/Q8DzctK +mmA50zgmdHsj41W/saZ4dRBHbo3bdNY7Z9Fmk+wNTZD7KMfv6Hr/ajiERDewkvDd +tIrODvZdDANPrtUEFa5lQKJ3e8yp8wx/FVXLX45b9kw4PwUlyyEHi2GD2nR8vHv6 +EqPInQA7YTeUC165wRFEz7POVWjnVDzQv+wHKoURnMz8uA4JQFECggEBAM4NzSs6 +3XlG9M1Kpn/sNvLOPbP9ALZM9EQMEJrHvjMOEAfwzSWo5WiqRpLhKo/Fee1RPRn8 +db4vVztSXfKPh+3C3PeaE/ZHMIiDr+f0Xl+3+nHzmWfiKvjH1amBlAk0FRwQYD4r +YxhAGJnRy90KeXTxRoTcsguYhk5E72nBd4+x+QUecxI1r+gbFJa4DpVqBLGDbszP +jkoW/goZ+aLHxgq71lzWtHjjKoNqdzCI8LOYsTX+VSz3yYPXdAPLrpVaaITEb91Z +hdca1B2NZiE9HsSuV1ou+KZtG00MTnnN/7tnGqzTYXdYbbdHFywAg3sCKo4Nl/K9 +383OLwgd/MxJoT8CggEBAMmjFp2bWiBXg5AgDk0zGQrQ2rkfq+snJLwblj8HXoBp +tIO1Nh+fEAs2sdY1bmGvdKp9TItciIEcPL+dCLUKXOQHpTqX0a6GS///XECtQDTZ +eLAK6PC/FoBHbQE4aDj/5C2h5k32Hq0pLU+qwNhFF/KkV5ZZbg5oPUkyd3f3ARMM +SdFBnmqq7vkWGpYvVVZuORmUYeRb56uuVxO/DOfBMr5A+ikU8eN3cxpUKu9ZaUJd +RvbIRAztz/4dKsVLyBuOgeN8T8OzxAVI8HiUW3THAQQy68AkqEPvy9djujmU/yTx +uf753mBb4ZVa/ocjbM4Pt1JWMKSIk8yHXRy4AFQNTucCggEAL0l7jDA2I17lTzeS +fkj3U0GBZ4zoXO3MINGj/eFZBN51T10ztzDLdPmeuJZz7gqjsJK0MwJ9AuhaXILK +jJ/j0eymSSxS6HHt8WZHODQcdFsEXqJI0k5VDkLOBdh24KXTMl2PuLS8SRRskOBU +qKV+uhek11jOg1q9d7jaOKrthUySmVojjkpD1EBiuTQEJMXvzc0b4GTBgr9EDY1o +fLLcABqbVzLut89qMj58m+bRVmX0RS/Y3DkBRgBr33Me3aeh1NY/1cx1qqe9hgqt +JXOhXAGmiku9RHRFj6kDWXCs/5Tpyj+4XmsswqLN7osvoUsd+Pulo09vzQtEP9ih +6z/6gQKCAQEAocgX8jbedkqhRbdiojBYbGQsyhIOV2udvswHneSkvzWQ34g6t95g ++g5VW8CdIwWq/svv6XVCFQ159Gfjv5Zj95XmzX9YfsZEHk9eTopzlLPUcLMgOWGo +hR5J6IvAm9M82hwnc/AApwD92QjxF9VAJLAVko2Ij0i1u5AhaQCnPQhEBgC3QXCK +sxI4HL43o1Rmvg5fCOFwnUARn8dPbHeH5jyuOt4SQmbp1Hspw8cifFvo/0KpzxHU +K1hto8Vs9ic+Mi7gtO38Xh0qzCSEyMqPFzZgD1eaJoA1NklO9rqEiLjmeh0zfm7a +LYLH69fRiff0J7z95FWs+JK3c75yjP3siwKCAQBOAf1hryhPigHfG1JAgY2IxQp5 +WNVg2ClDamAd6dfVCo4dn+NXf6WNjgGxopcaCEMv7YG+QMusWDNxy1h/Ai5xUovW +505qh8C1RF8/JBl/Ow9AU1Dc6zT6bX49wN7/ZDxwEinYz/2nuMl/15XL0iMcWQqH +jMb2UfWbuyvn9WJi8wlVKwEulQy5DyqJZ4f9u/1fxuiC3X/WsfTJp4PdyYG35gRn +c64EObY0Br/IXsZXqOx0aXwtEkhZq864QlBzwEvuj81oenkOzSt+fvwCNR5HjFxZ +iWFfSRvJbky07BoT7SLrcFDNyXVhhorCHXiwav2wS/OwHo3tBiZ6qy5/xLoJ +-----END RSA PRIVATE KEY----- diff --git a/5.6/test/run.sh b/5.6/test/run.sh index 1f239562..5654d5c1 100755 --- a/5.6/test/run.sh +++ b/5.6/test/run.sh @@ -47,7 +47,7 @@ docker_exec php tests.sh # SSH echo -n "Testing ssh... " docker_exec php touch /home/wodby/.ssh/known_hosts -docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@wodby.com +docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@example.com echo "OK" # Git actions diff --git a/7/Dockerfile b/7/Dockerfile index 4bd03371..3e5109a8 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -296,7 +296,7 @@ RUN set -xe; \ echo -n '/usr/local/bin/files_chown, ' ; \ echo -n '/usr/local/bin/files_sync, ' ; \ echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ - echo -n '/usr/local/bin/init_volumes, ' ; \ + echo -n '/usr/local/bin/init_container, ' ; \ echo -n '/usr/local/bin/migrate, ' ; \ echo -n '/usr/local/sbin/php-fpm, ' ; \ echo -n '/usr/sbin/sshd, ' ; \ @@ -333,6 +333,7 @@ RUN set -xe; \ \ # Crontab rm /etc/crontabs/root; \ + # deprecated: remove in favor of bind mounts. touch /etc/crontabs/www-data; \ chown root:www-data /etc/crontabs/www-data; \ chmod 660 /etc/crontabs/www-data; \ diff --git a/7/bin/files_sync b/7/bin/files_sync index 47c3ba13..c54ad257 100755 --- a/7/bin/files_sync +++ b/7/bin/files_sync @@ -12,7 +12,7 @@ to=$2 if [[ "${to}" == "${FILES_DIR}" || "${to}" =~ ^"${FILES_DIR}/" ]]; then rsync -rltpog --chown=www-data:www-data "${from}" "${to}" # Ensure files volume permissions are still correct. - init_volumes + init_container else echo "Invalid destination. Must be under ${FILES_DIR}" exit 1 diff --git a/7/bin/init_volumes b/7/bin/init_container similarity index 61% rename from 7/bin/init_volumes rename to 7/bin/init_container index 6ab13de0..df439192 100755 --- a/7/bin/init_volumes +++ b/7/bin/init_container @@ -25,3 +25,13 @@ for dir in "${dirs[@]}"; do chown www-data:www-data "${dir}" chmod 775 "${dir}" done + +if [[ -f /etc/crontabs/www-data && -z "${CRONTAB}" ]]; then + chown root:www-data /etc/crontabs/www-data + chmod 660 /etc/crontabs/www-data +fi + +if [[ -f /home/wodby/.ssh/id_rsa ]]; then + chown wodby:wodby /home/wodby/.ssh/id_rsa + chmod 600 /home/wodby/.ssh/id_rsa +fi diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 6f17e128..48aa1f07 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -14,21 +14,21 @@ _gotpl() { fi } +# @deprecated will be removed in favor of bind mounts (config maps). init_ssh_client() { - _gotpl "ssh_config.tpl" "${ssh_dir}/config" - if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - _gotpl "id_rsa.tpl" "${ssh_dir}/id_rsa" + _gotpl "id_rsa.tmpl" "${ssh_dir}/id_rsa" chmod -f 600 "${ssh_dir}/id_rsa" unset SSH_PRIVATE_KEY fi } init_sshd() { - _gotpl "sshd_config.tpl" "/etc/ssh/sshd_config" + _gotpl "sshd_config.tmpl" "/etc/ssh/sshd_config" + # @deprecated will be removed in favor of bind mounts (config maps). if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - _gotpl "authorized_keys.tpl" "${ssh_dir}/authorized_keys" + _gotpl "authorized_keys.tmpl" "${ssh_dir}/authorized_keys" unset SSH_PUBLIC_KEYS fi @@ -46,8 +46,11 @@ init_sshd() { sudo gen_ssh_keys "rsa" "${SSHD_HOST_KEYS_DIR}" } +# @deprecated will be removed in favor of bind mounts (config maps). init_crond() { - _gotpl "crontab.tpl" "/etc/crontabs/www-data" + if [[ -n "${CRONTAB}" ]]; then + _gotpl "crontab.tmpl" "/etc/crontabs/www-data" + fi } process_templates() { @@ -61,19 +64,21 @@ process_templates() { export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else # Extensions that don't work with --enabled-debug - _gotpl "docker-php-ext-blackfire.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - _gotpl "docker-php-ext-newrelic.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" + _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi - _gotpl "docker-php-${php_ver_minor}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - _gotpl "docker-php-ext-apcu.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - _gotpl "docker-php-ext-geoip.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" - _gotpl "docker-php-ext-igbinary.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" - _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - _gotpl "docker-php-ext-xdebug.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - _gotpl "docker-php-ext-tideways.ini.tpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways.ini" - _gotpl "zz-www.conf.tpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - _gotpl "wodby.settings.php.tpl" "${CONF_DIR}/wodby.settings.php" + _gotpl "docker-php-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" + _gotpl "docker-php-ext-apcu.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" + _gotpl "docker-php-ext-geoip.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" + _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" + _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + _gotpl "docker-php-ext-tideways.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways.ini" + _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" + _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" + + _gotpl "ssh_config.tmpl" "${ssh_dir}/config" } init_git() { @@ -81,7 +86,7 @@ init_git() { git config --global user.name "${GIT_USER_NAME}" } -sudo init_volumes +sudo init_container init_ssh_client init_git diff --git a/7/templates/authorized_keys.tpl b/7/templates/authorized_keys.tmpl similarity index 100% rename from 7/templates/authorized_keys.tpl rename to 7/templates/authorized_keys.tmpl diff --git a/7/templates/crontab.tpl b/7/templates/crontab.tmpl similarity index 100% rename from 7/templates/crontab.tpl rename to 7/templates/crontab.tmpl diff --git a/7/templates/docker-php-7.0.ini.tpl b/7/templates/docker-php-7.0.ini.tmpl similarity index 100% rename from 7/templates/docker-php-7.0.ini.tpl rename to 7/templates/docker-php-7.0.ini.tmpl diff --git a/7/templates/docker-php-7.1.ini.tpl b/7/templates/docker-php-7.1.ini.tmpl similarity index 100% rename from 7/templates/docker-php-7.1.ini.tpl rename to 7/templates/docker-php-7.1.ini.tmpl diff --git a/7/templates/docker-php-7.2.ini.tpl b/7/templates/docker-php-7.2.ini.tmpl similarity index 100% rename from 7/templates/docker-php-7.2.ini.tpl rename to 7/templates/docker-php-7.2.ini.tmpl diff --git a/7/templates/docker-php-ext-apcu.ini.tpl b/7/templates/docker-php-ext-apcu.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-apcu.ini.tpl rename to 7/templates/docker-php-ext-apcu.ini.tmpl diff --git a/7/templates/docker-php-ext-blackfire.ini.tpl b/7/templates/docker-php-ext-blackfire.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-blackfire.ini.tpl rename to 7/templates/docker-php-ext-blackfire.ini.tmpl diff --git a/7/templates/docker-php-ext-geoip.ini.tpl b/7/templates/docker-php-ext-geoip.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-geoip.ini.tpl rename to 7/templates/docker-php-ext-geoip.ini.tmpl diff --git a/7/templates/docker-php-ext-igbinary.ini.tpl b/7/templates/docker-php-ext-igbinary.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-igbinary.ini.tpl rename to 7/templates/docker-php-ext-igbinary.ini.tmpl diff --git a/7/templates/docker-php-ext-newrelic.ini.tpl b/7/templates/docker-php-ext-newrelic.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-newrelic.ini.tpl rename to 7/templates/docker-php-ext-newrelic.ini.tmpl diff --git a/7/templates/docker-php-ext-opcache-7.0.ini.tpl b/7/templates/docker-php-ext-opcache-7.0.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-opcache-7.0.ini.tpl rename to 7/templates/docker-php-ext-opcache-7.0.ini.tmpl diff --git a/7/templates/docker-php-ext-opcache-7.1.ini.tpl b/7/templates/docker-php-ext-opcache-7.1.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-opcache-7.1.ini.tpl rename to 7/templates/docker-php-ext-opcache-7.1.ini.tmpl diff --git a/7/templates/docker-php-ext-opcache-7.2.ini.tpl b/7/templates/docker-php-ext-opcache-7.2.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-opcache-7.2.ini.tpl rename to 7/templates/docker-php-ext-opcache-7.2.ini.tmpl diff --git a/7/templates/docker-php-ext-tideways.ini.tpl b/7/templates/docker-php-ext-tideways.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-tideways.ini.tpl rename to 7/templates/docker-php-ext-tideways.ini.tmpl diff --git a/7/templates/docker-php-ext-xdebug.ini.tpl b/7/templates/docker-php-ext-xdebug.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-xdebug.ini.tpl rename to 7/templates/docker-php-ext-xdebug.ini.tmpl diff --git a/7/templates/id_rsa.tpl b/7/templates/id_rsa.tmpl similarity index 100% rename from 7/templates/id_rsa.tpl rename to 7/templates/id_rsa.tmpl diff --git a/7/templates/ssh_config.tpl b/7/templates/ssh_config.tmpl similarity index 100% rename from 7/templates/ssh_config.tpl rename to 7/templates/ssh_config.tmpl diff --git a/7/templates/sshd_config.tpl b/7/templates/sshd_config.tmpl similarity index 100% rename from 7/templates/sshd_config.tpl rename to 7/templates/sshd_config.tmpl diff --git a/7/templates/wodby.settings.php.tpl b/7/templates/wodby.settings.php.tmpl similarity index 100% rename from 7/templates/wodby.settings.php.tpl rename to 7/templates/wodby.settings.php.tmpl diff --git a/7/templates/zz-www.conf.tpl b/7/templates/zz-www.conf.tmpl similarity index 100% rename from 7/templates/zz-www.conf.tpl rename to 7/templates/zz-www.conf.tmpl diff --git a/7/test/authorized_keys b/7/test/authorized_keys new file mode 100644 index 00000000..f7db54d3 --- /dev/null +++ b/7/test/authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiTBsUnuHP6oi0hMYWVsy2pqiZx1c7Ku5ieAj4Y4qfkxaLWRAs7wxbce86YUoPefZ2jhlkm5wws37N+AWQaTXunisYR+5AMcYOa+3tQIDY27EiklIOvjmkEI2hObSfpJ42GYSD4+RMk1yDK5trMQ8npYVnlJUyD79sSfhyXiT6OmHoYGw2jJPdjKBrhPNeN3g7vHsJdPeTrz3/P9iC2LAiTyNe125Nzd4oAffSXEOmweZvZJSNtAWkFEw2grWDSlSKHVX+ZJMsFJ2nA2Cd1h3kIOMoRidN0obfN79xSPL8A5xf/hYB/FvKxxTpLit5uB1edrDwQMfJF3br8sQsy0TBj5jX/hJFLQsX09el3sj7+TLbU8+0NgJwnzxuq2d/vpa7aAYWcDsKY5L4OYGDXIn1kd9Y5MUvmC+j+ZbuXc2tP2BpxkZMKZj52DRZKkY06rDauowWH8OIeTvH3rs3KSEiS62aF/pFVkYMaSwBfPMJORpqJIM0G3+Ktq5hdhhh93GihiNSh9vjwC9McxnNxMZX0MiWMa6JnGVE8VFQenOM9QzFLvHkX8qDGWcBRq60dlzwMSYwkM0H85l39Zs2SOHaBK46XaqTVxShc2t6b+HLGycgB8iX1XcjLZKdR5mJ22Kqqb9947JYzzjgUjxUiBFqxi86xgp4m1DUHeYAocSx2Q== admin@example.com diff --git a/7/test/crontab b/7/test/crontab new file mode 100644 index 00000000..dfe88cdb --- /dev/null +++ b/7/test/crontab @@ -0,0 +1,2 @@ +# min hour day month weekday command +*/1 * * * * echo "test" > /mnt/files/cron diff --git a/7/test/docker-compose.yml b/7/test/docker-compose.yml index 612f4984..7a9e71e5 100644 --- a/7/test/docker-compose.yml +++ b/7/test/docker-compose.yml @@ -2,17 +2,20 @@ version: "2" services: nginx: - image: wodby/php-nginx + image: wodby/nginx + environment: + NGINX_BACKEND_HOST: php + NGINX_VHOST_PRESET: php depends_on: - php sshd: image: $IMAGE command: sudo /usr/sbin/sshd -De + volumes: + - ./authorized_keys:/home/wodby/.ssh/authorized_keys environment: DEBUG: 1 - SSH_PUBLIC_KEYS: |- - ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4mQ9wfvufRcDQ4LsoCYEyDL4LNsvP8dWKWMQKrnJ8k09IQm7mnvyzid8zxNJpQYxX12foC0+BttjejWVj67vf1if7rDHb\/e0oX7yQp4ji3QTjDNPDaOR\/eTOCNv1C5Lfj3n7D1G7O2dOiw8lAoSalGy6nltuTYY9EXbkl1dXaCG7qbQRVJEJdZ6x2oJ8FubJO6wjZvj9P759ziLVmWAqtzUgIQVlbv0nqSoq16Ug381sfnRvsHO1fXGhdgHGQ0WP720p5cBHxG+62HJROah5b7gahXidC2Lo6kdnLb5FOzZjRJO1aDiKgry\/GoNNijs6D5xwLtn44HoHMe0eyUw7lQCrWZwvNmdfvIecr+ZJNwT8cbZ2Cf5y0SqD4JZpcolR5FKuQluaVMdOvJCa8A\/BzvRqIeNLmZuHFRvruu2VTIHHZFR2CFgH9F+G\/KyBnmQwV\/FgqN6sy1MAuFmyizL7sJHVL3tSaMPSs423A+SLWYkXLxpUPjo2J5W2ImZYq97AQaHcArvrhKS2MwbBFGwaxglcq5t8Ss6Df3fEZUWGLHJSdOv\/fn\/+CNOiI7hjj3v5mHaxxnC27MOHmJlrqmCA3OXuQ9mZG\/hSfj2vPKF+xFUarqqsp4zVsDH71bY2Q+zHpyncIFnyhaiEba9gbvmUVOfUyYglkJ6TGF5xAhpDFpQ== admin@wodby.com"] php: image: $IMAGE @@ -21,71 +24,18 @@ services: PHP_XDEBUG: 1 PHP_XHPROF: 1 PHP_BLACKFIRE: 1 - SSH_PRIVATE_KEY: |- - -----BEGIN RSA PRIVATE KEY----- - MIIJKQIBAAKCAgEAuJkPcH77n0XA0OC7KAmBMgy+CzbLz/HViljECq5yfJNPSEJu - 5p78s4nfM8TSaUGMV9dn6AtPgbbY3o1lY+u739Yn+6wx2/3tKF+8kKeI4t0E4wzT - w2jkf3kzgjb9QuS3495+w9RuztnTosPJQKEmpRsup5bbk2GPRF25JdXV2ghu6m0E - VSRCXWesdqCfBbmyTusI2b4/T++fc4i1ZlgKrc1ICEFZW79J6kqKtelIN/NbH50b - 7BztX1xoXYBxkNFj+9tKeXAR8RvuthyUTmoeW+4GoV4nQti6OpHZy2+RTs2Y0STt - Wg4ioK8vxqDTYo7Og+ccC7Z+OB6BzHtHslMO5UAq1mcLzZnX7yHnK/mSTcE/HG2d - gn+ctEqg+CWaXKJUeRSrkJbmlTHTryQmvAPwc70aiHjS5mbhxUb67rtlUyBx2RUd - ghYB/RfhvysgZ5kMFfxYKjerMtTALhZsosy+7CR1S97UmjD0rONtwPki1mJFy8aV - D46NieVtiJmWKvewEGh3AK764SktjMGwRRsGsYJXKubfErOg393xGVFhixyUnTr/ - 35//gjToiO4Y497+Zh2scZwtuzDh5iZa6pggNzl7kPZmRv4Un49rzyhfsRVGq6qr - KeM1bAx+9W2NkPsx6cp3CBZ8oWohG2vYG75lFTn1MmIJZCekxhecQIaQxaUCAwEA - AQKCAgBe5+J2NfLr2hLd0Qyn8usHbmGupkd266Cb9jMkQrf9sEbMocseqpLFQ5cL - qJ99GgQrjUWQmXARAo7RLOT50FLRK+t2ivs/XXe2kDIENP49lOBUU130U1NW7ls7 - EUZ4Q9r/Pn7x85/cnUUfo4Uuwyt5K1Z7NyZAyaG8xmrQNvYxmLBduhrGI1QzbX/P - pZjcerJfvJraR+OJF2tlHN4WdiFXZfkotWBZuSkpWZWjHQLSMT2iLUYTyHOJ2ZqW - p9i7WcwLypypfqLa0T+TRXJCNnDRVrj18dBBn+dvAVl2LDAK0c1FibS13hqTfj4T - 4s+LFly6l/FlXDfcZmLZXHBqECXReoyY02mo6jNOdzwYHKElPQeAnzc8IRIBG3s4 - EU+OA2EFZzQp2qSNlVAfTe/masQZkBOYTU/cpWg5yfIReFEWc1FzILTyXESJu0U2 - GmAYu1b7miFWsglIapUxCdlfdoEer+yDpjG4T151CYB11sUfpgcfOhAsStNfykmc - AaxRzklKFnjD5R8Au0BqZLyHu7FApV0BQqwZkevomsAAVWfVSxVGobnSzhW2mIIV - 4FyAKWHG8pm0By/eJkgKjJK3rIAjeAq/bJpNoUeKwjdvuysfMM9Q/LEjUQ5RRU09 - r/kAquTDUHne5d4yEjzmDmlaBN/zrMYuY1bG5H9Qs05p86W/aQKCAQEA82TOCRys - XCud62XTyHYxOqQbG/vDa1qdiamiE4iGBJgFUG0Xvqzy3YeSvqdifRxzst2auj7p - OSHk6w5/4Q2iezew/UCzRcG+INwtNwOUJ7wvHPyqskbp3w7e4OkrcN6lzReFZqls - pB5a9U8yn3qK/qrpHtyyBds951qI0olDyiPdW0M+8IKrIa70cUb6PYpk5enGVgyI - h+fBK9PTCzr9Gsk5XTpkNRcvgF1Czig+ZXk4KpD19W/JtqHSpCOu5XZx1RpCBBtY - +1BJcTzE0jgOAywFuUHVdYaSXZa+Nlyc+mgjqZoeNfgy8rvcGrM7VYAt+wlPpSeI - eiQBgeltfDWD7wKCAQEAwiisBfaSvN+odjs05vYEYPH43Vs2pp76ZxjUqTU0H2hL - Cmun2ogh/QgDy1wIUQBeZznm4mSQWn5vZNBmz786Fh2tPFi4QQaYCvtJmGfeV5aR - wOnb+cpCVeI2MG9iBnUPlWp7Zdj7Lwdt2EG5QNIMfF4zKuScuY2E05eIZCuWPdwA - 9/9zaWH3QR9luCEcHzLuspmu56uH5CvMBtsDdqs42BAm/DRn5FjAAWIHunIjoRrt - 8WaHe1/jPPcOHAvVLeK1iq/Ahe9f48JQqh5PeMtWFyUqRB68D5RcqCgHlVpfFk84 - UFMvgVLo2Sv1LtZAWlop168Io6YTsbXpt9HAxl+rqwKCAQEAs3EFSch+9nEdu1fW - XLturfohFm918qba8IxEtrv3elmNyW60i9o8L8DtGmyTewPH9P3WPit1jK6FdBq7 - gvOnb8puTTgvM2WUQ+uv1hhoWScvYOKTAl6vu8jd3tlpMoyjlmIZ8sdEFndeve6G - tvcElJ7ywdMZ2KF7sR6ZMwcKGHR6lPct5umfO3UeOImIomhu3OaOWBBjdDcTvrkr - peL2iZIDHc2X5WBToAKh5xXacrt9AjzfaPTitSf3ARZhskCxydfTBe4XmyjlDHwt - 64JyKjqBecSkmEH/lMo3MCL1hNPUPw0l6soy3axMqM6tFusqeyKxOmS8BLiY9+td - 0a4utwKCAQBIXrigEGRpmkRErZTuccz4BblpaNJaEO/s9chuubIP8uPlonMSdaOV - mSMw7cD70FNfzqlMwYc889u5jCSGUxTnoXAtCjTDqB2MGlY4RJ8PrsPtUD36QXWw - ZX0lWJ8FISUJ4ILWV6ZoxTAgZ38RtjmJMeOInWX9k85qwBTKoaSCsjp6NfFi2m07 - DOTxWQYOawGl+LrFB57DYb/O3lvQI8owXvTpFO+UobAP0+ZljJ3TMyJ11G2zgu5E - jyHnOlHfpJ1ecFwmkC8ByjAe+OVOdRxFzEiQ05PtirNuylzpQqImwqiO6DLQ1YKN - UGE3cAzUoL7v8gIaXZEBsHjJV5mvV4G5AoIBAQCd89YTMEVVHr2HPxWmQb1BJ+4D - u0u9Aj9Gb6f3qxfQPa9+A081rdnb2DEXCRrjPAguxP/JxXmBMQjs/PfcCnHRHFWU - nEnXfUAprudh2xX6j3tgNyOwJT3fBlRg8TRQ5HorpzaCxzCIoMgbwBmB05VzxDAq - y7zXXF+i0+QLHdAKMIQmps0S+qn+ji3ViooJyrAGuZTmeIXQP7b8wgft5m16C5Nc - Hl/7LjnsiAiu6HMNqIjrJmHNmdYlmfqFBepvWpnykUgvEMSigyy0K7858Lcl+FH3 - 62fhFpwtP7IE2/o+6+JybuQRrUqHvAPM0/RTn8//rZmkmq3mrAYc+MslXAt+ - -----END RSA PRIVATE KEY----- + ROWS: 80 volumes: - ./tests.sh:/usr/local/bin/tests.sh - ./php_modules:/home/wodby/php_modules + - ./id_rsa:/home/wodby/.ssh/id_rsa depends_on: - sshd crond: image: $IMAGE command: sudo -E crond -f -d 0 - environment: - CRONTAB_ENV: test - CRONTAB: |- - # min hour day month weekday command - */1 * * * * echo "$${CRONTAB_ENV}" > /mnt/files/cron + volumes: + - ./crontab:/etc/crontabs/www-data depends_on: - sshd diff --git a/7/test/id_rsa b/7/test/id_rsa new file mode 100644 index 00000000..f7e7825b --- /dev/null +++ b/7/test/id_rsa @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIJKQIBAAKCAgEAokwbFJ7hz+qItITGFlbMtqaomcdXOyruYngI+GOKn5MWi1kQ +LO8MW3HvOmFKD3n2do4ZZJucMLN+zfgFkGk17p4rGEfuQDHGDmvt7UCA2NuxIpJS +Dr45pBCNoTm0n6SeNhmEg+PkTJNcgyubazEPJ6WFZ5SVMg+/bEn4cl4k+jph6GBs +NoyT3Yyga4TzXjd4O7x7CXT3k689/z/YgtiwIk8jXtduTc3eKAH30lxDpsHmb2SU +jbQFpBRMNoK1g0pUih1V/mSTLBSdpwNgndYd5CDjKEYnTdKG3ze/cUjy/AOcX/4W +AfxbyscU6S4rebgdXnaw8EDHyRd26/LELMtEwY+Y1/4SRS0LF9PXpd7I+/ky21PP +tDYCcJ88bqtnf76Wu2gGFnA7CmOS+DmBg1yJ9ZHfWOTFL5gvo/mW7l3NrT9gacZG +TCmY+dg0WSpGNOqw2rqMFh/DiHk7x967NykhIkutmhf6RVZGDGksAXzzCTkaaiSD +NBt/irauYXYYYfdxooYjUofb48AvTHMZzcTGV9DIljGuiZxlRPFRUHpzjPUMxS7x +5F/KgxlnAUautHZc8DEmMJDNB/OZd/WbNkjh2gSuOl2qk1cUoXNrem/hyxsnIAfI +l9V3Iy2SnUeZidtiqqm/feOyWM844FI8VIgRasYvOsYKeJtQ1B3mAKHEsdkCAwEA +AQKCAgEAgUJj/xRbfKCqqDtnGLug54fsmC1viCw1GC/J1SpSaa1YMzuH6oGpMduY +UMLTnWfhp6KdDsfwqckLoTd8Fvv0fEt0vy3qzy3VM/85y8+nzw+KEKLAwAU5GzYj +1tiCxvLxHt1L8U87sNFcyQueCM1V6Jmnmkt4WBq6tqBjQ5M/mBuPhufkx71Gtxkd +WwTUX6GGHO2MgIer9u+HTReodO3nuiuVXB/wNf9UhECtA9l/9/xOb0GIHyPVqkyQ +Non7zskQc7/RkX7AyEbTGQVTmeHChMK8qILXIuAdkwJvcuZKv/SQQtO263X2FZZh +TSX8ckD1Axs86NxvQfVyPZFoNNTfuJTVJGaRoa5cwNQtCAKtQ9BmasAarlre02Jb +xplj6N4elzYFPr7iQzZ0ae2weWs3oAriAG3e2Z6WZTbIbwnqTCMbVQlXBh+VggRK +ja5VS3bkJDoX6C6dWjcFPkGhCSyKjjKJ3Ixw47EoZN+k+jlWNEOmpGpz/Q8DzctK +mmA50zgmdHsj41W/saZ4dRBHbo3bdNY7Z9Fmk+wNTZD7KMfv6Hr/ajiERDewkvDd +tIrODvZdDANPrtUEFa5lQKJ3e8yp8wx/FVXLX45b9kw4PwUlyyEHi2GD2nR8vHv6 +EqPInQA7YTeUC165wRFEz7POVWjnVDzQv+wHKoURnMz8uA4JQFECggEBAM4NzSs6 +3XlG9M1Kpn/sNvLOPbP9ALZM9EQMEJrHvjMOEAfwzSWo5WiqRpLhKo/Fee1RPRn8 +db4vVztSXfKPh+3C3PeaE/ZHMIiDr+f0Xl+3+nHzmWfiKvjH1amBlAk0FRwQYD4r +YxhAGJnRy90KeXTxRoTcsguYhk5E72nBd4+x+QUecxI1r+gbFJa4DpVqBLGDbszP +jkoW/goZ+aLHxgq71lzWtHjjKoNqdzCI8LOYsTX+VSz3yYPXdAPLrpVaaITEb91Z +hdca1B2NZiE9HsSuV1ou+KZtG00MTnnN/7tnGqzTYXdYbbdHFywAg3sCKo4Nl/K9 +383OLwgd/MxJoT8CggEBAMmjFp2bWiBXg5AgDk0zGQrQ2rkfq+snJLwblj8HXoBp +tIO1Nh+fEAs2sdY1bmGvdKp9TItciIEcPL+dCLUKXOQHpTqX0a6GS///XECtQDTZ +eLAK6PC/FoBHbQE4aDj/5C2h5k32Hq0pLU+qwNhFF/KkV5ZZbg5oPUkyd3f3ARMM +SdFBnmqq7vkWGpYvVVZuORmUYeRb56uuVxO/DOfBMr5A+ikU8eN3cxpUKu9ZaUJd +RvbIRAztz/4dKsVLyBuOgeN8T8OzxAVI8HiUW3THAQQy68AkqEPvy9djujmU/yTx +uf753mBb4ZVa/ocjbM4Pt1JWMKSIk8yHXRy4AFQNTucCggEAL0l7jDA2I17lTzeS +fkj3U0GBZ4zoXO3MINGj/eFZBN51T10ztzDLdPmeuJZz7gqjsJK0MwJ9AuhaXILK +jJ/j0eymSSxS6HHt8WZHODQcdFsEXqJI0k5VDkLOBdh24KXTMl2PuLS8SRRskOBU +qKV+uhek11jOg1q9d7jaOKrthUySmVojjkpD1EBiuTQEJMXvzc0b4GTBgr9EDY1o +fLLcABqbVzLut89qMj58m+bRVmX0RS/Y3DkBRgBr33Me3aeh1NY/1cx1qqe9hgqt +JXOhXAGmiku9RHRFj6kDWXCs/5Tpyj+4XmsswqLN7osvoUsd+Pulo09vzQtEP9ih +6z/6gQKCAQEAocgX8jbedkqhRbdiojBYbGQsyhIOV2udvswHneSkvzWQ34g6t95g ++g5VW8CdIwWq/svv6XVCFQ159Gfjv5Zj95XmzX9YfsZEHk9eTopzlLPUcLMgOWGo +hR5J6IvAm9M82hwnc/AApwD92QjxF9VAJLAVko2Ij0i1u5AhaQCnPQhEBgC3QXCK +sxI4HL43o1Rmvg5fCOFwnUARn8dPbHeH5jyuOt4SQmbp1Hspw8cifFvo/0KpzxHU +K1hto8Vs9ic+Mi7gtO38Xh0qzCSEyMqPFzZgD1eaJoA1NklO9rqEiLjmeh0zfm7a +LYLH69fRiff0J7z95FWs+JK3c75yjP3siwKCAQBOAf1hryhPigHfG1JAgY2IxQp5 +WNVg2ClDamAd6dfVCo4dn+NXf6WNjgGxopcaCEMv7YG+QMusWDNxy1h/Ai5xUovW +505qh8C1RF8/JBl/Ow9AU1Dc6zT6bX49wN7/ZDxwEinYz/2nuMl/15XL0iMcWQqH +jMb2UfWbuyvn9WJi8wlVKwEulQy5DyqJZ4f9u/1fxuiC3X/WsfTJp4PdyYG35gRn +c64EObY0Br/IXsZXqOx0aXwtEkhZq864QlBzwEvuj81oenkOzSt+fvwCNR5HjFxZ +iWFfSRvJbky07BoT7SLrcFDNyXVhhorCHXiwav2wS/OwHo3tBiZ6qy5/xLoJ +-----END RSA PRIVATE KEY----- diff --git a/7/test/run.sh b/7/test/run.sh index 1f239562..5654d5c1 100755 --- a/7/test/run.sh +++ b/7/test/run.sh @@ -47,7 +47,7 @@ docker_exec php tests.sh # SSH echo -n "Testing ssh... " docker_exec php touch /home/wodby/.ssh/known_hosts -docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@wodby.com +docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@example.com echo "OK" # Git actions diff --git a/README.md b/README.md index 4bcad934..0aff2112 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ * [`-dev-macos` images](#-dev-macos-images) * [`-debug` images](#-debug-images) * [Users and permissions](#users-and-permissions) +* [Crond](#crond) +* [SSHD](#sshd) * [Complete PHP stack](#complete-php-stack) * [Images based on `wodby/php`](#images-based-on-wodbyphp) * [Orchestration Actions](#orchestration-actions) @@ -416,6 +418,19 @@ Include all changes from `-dev` images and additionally: * Some extensions do not work with `--enabled-debug` such as newrelic and blackfire * `PHP_FPM_LOG_LEVEL` is set to `debug` by default +## Crond + +You can run Crond with this image changing the command to `sudo -E crond -f -d 0` and mounting a crontab file to `./crontab:/etc/crontabs/www-data`. Example crontab file contents: + +``` +# min hour day month weekday command +*/1 * * * * echo "test" > /mnt/files/cron +``` + +## SSHD + +You can run SSHD with this image by changing the command to `sudo /usr/sbin/sshd -De` and mounting authorized public keys to `/home/wodby/.ssh/authorized_keys` + ## Users and permissions Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM runs from `www-data:www-data` user (UID/GID `82`) by default. User `wodby` is a part of `www-data` group. From 84ac8a94add76cb755b222357314227e0dc840ae Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 6 Aug 2018 20:01:22 +0700 Subject: [PATCH 192/559] Add .bash_profile --- 5.3/Dockerfile | 1 + 5.6/Dockerfile | 1 + 7/Dockerfile | 1 + 3 files changed, 3 insertions(+) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 2608d481..8a0064f8 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -215,6 +215,7 @@ RUN set -xe; \ \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ + cp /home/wodby/.shrc /home/wodby/.bash_profile; \ \ # Configure sudoers { \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 87059bf6..570d0a7b 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -255,6 +255,7 @@ RUN set -xe; \ \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ + cp /home/wodby/.shrc /home/wodby/.bash_profile; \ \ # Configure sudoers { \ diff --git a/7/Dockerfile b/7/Dockerfile index 3e5109a8..1d2a930b 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -283,6 +283,7 @@ RUN set -xe; \ \ # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ + cp /home/wodby/.shrc /home/wodby/.bash_profile; \ \ # Configure sudoers { \ From c6ba6c1b901cd8e32d4a1846cff45d410df023db Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 6 Aug 2018 20:34:08 +0700 Subject: [PATCH 193/559] Fixes --- 5.3/.dockerignore | 4 ++++ 5.3/Makefile | 2 +- 5.3/bin/init_container | 5 +++++ 5.3/{test => tests}/authorized_keys | 0 5.3/{test => tests}/crontab | 0 5.3/{test => tests}/docker-compose.yml | 0 5.3/{test => tests}/id_rsa | 0 5.3/{test => tests}/php_modules | 0 5.3/{test => tests}/run.sh | 0 5.3/{test => tests}/tests.sh | 0 5.6/.dockerignore | 4 ++++ 5.6/Makefile | 2 +- 5.6/bin/init_container | 5 +++++ 5.6/{test => tests}/authorized_keys | 0 5.6/{test => tests}/crontab | 0 5.6/{test => tests}/docker-compose.yml | 0 5.6/{test => tests}/id_rsa | 0 5.6/{test => tests}/php_modules | 0 5.6/{test => tests}/run.sh | 0 5.6/{test => tests}/tests.sh | 0 7/.dockerignore | 4 ++++ 7/Makefile | 2 +- 7/bin/init_container | 5 +++++ 7/{test => tests}/authorized_keys | 0 7/{test => tests}/crontab | 0 7/{test => tests}/docker-compose.yml | 0 7/{test => tests}/id_rsa | 0 7/{test => tests}/php_modules/7.0 | 0 7/{test => tests}/php_modules/7.1 | 0 7/{test => tests}/php_modules/7.2 | 0 7/{test => tests}/run.sh | 0 7/{test => tests}/tests.sh | 0 32 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 5.3/.dockerignore rename 5.3/{test => tests}/authorized_keys (100%) rename 5.3/{test => tests}/crontab (100%) rename 5.3/{test => tests}/docker-compose.yml (100%) rename 5.3/{test => tests}/id_rsa (100%) rename 5.3/{test => tests}/php_modules (100%) rename 5.3/{test => tests}/run.sh (100%) rename 5.3/{test => tests}/tests.sh (100%) create mode 100644 5.6/.dockerignore rename 5.6/{test => tests}/authorized_keys (100%) rename 5.6/{test => tests}/crontab (100%) rename 5.6/{test => tests}/docker-compose.yml (100%) rename 5.6/{test => tests}/id_rsa (100%) rename 5.6/{test => tests}/php_modules (100%) rename 5.6/{test => tests}/run.sh (100%) rename 5.6/{test => tests}/tests.sh (100%) create mode 100644 7/.dockerignore rename 7/{test => tests}/authorized_keys (100%) rename 7/{test => tests}/crontab (100%) rename 7/{test => tests}/docker-compose.yml (100%) rename 7/{test => tests}/id_rsa (100%) rename 7/{test => tests}/php_modules/7.0 (100%) rename 7/{test => tests}/php_modules/7.1 (100%) rename 7/{test => tests}/php_modules/7.2 (100%) rename 7/{test => tests}/run.sh (100%) rename 7/{test => tests}/tests.sh (100%) diff --git a/5.3/.dockerignore b/5.3/.dockerignore new file mode 100644 index 00000000..4cd0d8b6 --- /dev/null +++ b/5.3/.dockerignore @@ -0,0 +1,4 @@ +tests +Makefile +check-configs.sh +orig \ No newline at end of file diff --git a/5.3/Makefile b/5.3/Makefile index d7043896..ab72b05f 100644 --- a/5.3/Makefile +++ b/5.3/Makefile @@ -50,7 +50,7 @@ build: ./ test: - cd ./test && IMAGE=$(REPO):$(TAG) ./run.sh + cd ./tests && IMAGE=$(REPO):$(TAG) ./run.sh push: docker push $(REPO):$(TAG) diff --git a/5.3/bin/init_container b/5.3/bin/init_container index df439192..79a8dbfa 100755 --- a/5.3/bin/init_container +++ b/5.3/bin/init_container @@ -35,3 +35,8 @@ if [[ -f /home/wodby/.ssh/id_rsa ]]; then chown wodby:wodby /home/wodby/.ssh/id_rsa chmod 600 /home/wodby/.ssh/id_rsa fi + +if [[ -f /home/wodby/.ssh/authorized_keys ]]; then + chown wodby:wodby /home/wodby/.ssh/authorized_keys + chmod 600 /home/wodby/.ssh/authorized_keys +fi diff --git a/5.3/test/authorized_keys b/5.3/tests/authorized_keys similarity index 100% rename from 5.3/test/authorized_keys rename to 5.3/tests/authorized_keys diff --git a/5.3/test/crontab b/5.3/tests/crontab similarity index 100% rename from 5.3/test/crontab rename to 5.3/tests/crontab diff --git a/5.3/test/docker-compose.yml b/5.3/tests/docker-compose.yml similarity index 100% rename from 5.3/test/docker-compose.yml rename to 5.3/tests/docker-compose.yml diff --git a/5.3/test/id_rsa b/5.3/tests/id_rsa similarity index 100% rename from 5.3/test/id_rsa rename to 5.3/tests/id_rsa diff --git a/5.3/test/php_modules b/5.3/tests/php_modules similarity index 100% rename from 5.3/test/php_modules rename to 5.3/tests/php_modules diff --git a/5.3/test/run.sh b/5.3/tests/run.sh similarity index 100% rename from 5.3/test/run.sh rename to 5.3/tests/run.sh diff --git a/5.3/test/tests.sh b/5.3/tests/tests.sh similarity index 100% rename from 5.3/test/tests.sh rename to 5.3/tests/tests.sh diff --git a/5.6/.dockerignore b/5.6/.dockerignore new file mode 100644 index 00000000..4cd0d8b6 --- /dev/null +++ b/5.6/.dockerignore @@ -0,0 +1,4 @@ +tests +Makefile +check-configs.sh +orig \ No newline at end of file diff --git a/5.6/Makefile b/5.6/Makefile index 69f2f501..e5b26542 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -50,7 +50,7 @@ build: ./ test: - cd ./test && IMAGE=$(REPO):$(TAG) ./run.sh + cd ./tests && IMAGE=$(REPO):$(TAG) ./run.sh push: docker push $(REPO):$(TAG) diff --git a/5.6/bin/init_container b/5.6/bin/init_container index df439192..79a8dbfa 100755 --- a/5.6/bin/init_container +++ b/5.6/bin/init_container @@ -35,3 +35,8 @@ if [[ -f /home/wodby/.ssh/id_rsa ]]; then chown wodby:wodby /home/wodby/.ssh/id_rsa chmod 600 /home/wodby/.ssh/id_rsa fi + +if [[ -f /home/wodby/.ssh/authorized_keys ]]; then + chown wodby:wodby /home/wodby/.ssh/authorized_keys + chmod 600 /home/wodby/.ssh/authorized_keys +fi diff --git a/5.6/test/authorized_keys b/5.6/tests/authorized_keys similarity index 100% rename from 5.6/test/authorized_keys rename to 5.6/tests/authorized_keys diff --git a/5.6/test/crontab b/5.6/tests/crontab similarity index 100% rename from 5.6/test/crontab rename to 5.6/tests/crontab diff --git a/5.6/test/docker-compose.yml b/5.6/tests/docker-compose.yml similarity index 100% rename from 5.6/test/docker-compose.yml rename to 5.6/tests/docker-compose.yml diff --git a/5.6/test/id_rsa b/5.6/tests/id_rsa similarity index 100% rename from 5.6/test/id_rsa rename to 5.6/tests/id_rsa diff --git a/5.6/test/php_modules b/5.6/tests/php_modules similarity index 100% rename from 5.6/test/php_modules rename to 5.6/tests/php_modules diff --git a/5.6/test/run.sh b/5.6/tests/run.sh similarity index 100% rename from 5.6/test/run.sh rename to 5.6/tests/run.sh diff --git a/5.6/test/tests.sh b/5.6/tests/tests.sh similarity index 100% rename from 5.6/test/tests.sh rename to 5.6/tests/tests.sh diff --git a/7/.dockerignore b/7/.dockerignore new file mode 100644 index 00000000..4cd0d8b6 --- /dev/null +++ b/7/.dockerignore @@ -0,0 +1,4 @@ +tests +Makefile +check-configs.sh +orig \ No newline at end of file diff --git a/7/Makefile b/7/Makefile index d640aed4..aa83fcbd 100644 --- a/7/Makefile +++ b/7/Makefile @@ -50,7 +50,7 @@ build: ./ test: - cd ./test && IMAGE=$(REPO):$(TAG) ./run.sh + cd ./tests && IMAGE=$(REPO):$(TAG) ./run.sh push: docker push $(REPO):$(TAG) diff --git a/7/bin/init_container b/7/bin/init_container index df439192..79a8dbfa 100755 --- a/7/bin/init_container +++ b/7/bin/init_container @@ -35,3 +35,8 @@ if [[ -f /home/wodby/.ssh/id_rsa ]]; then chown wodby:wodby /home/wodby/.ssh/id_rsa chmod 600 /home/wodby/.ssh/id_rsa fi + +if [[ -f /home/wodby/.ssh/authorized_keys ]]; then + chown wodby:wodby /home/wodby/.ssh/authorized_keys + chmod 600 /home/wodby/.ssh/authorized_keys +fi diff --git a/7/test/authorized_keys b/7/tests/authorized_keys similarity index 100% rename from 7/test/authorized_keys rename to 7/tests/authorized_keys diff --git a/7/test/crontab b/7/tests/crontab similarity index 100% rename from 7/test/crontab rename to 7/tests/crontab diff --git a/7/test/docker-compose.yml b/7/tests/docker-compose.yml similarity index 100% rename from 7/test/docker-compose.yml rename to 7/tests/docker-compose.yml diff --git a/7/test/id_rsa b/7/tests/id_rsa similarity index 100% rename from 7/test/id_rsa rename to 7/tests/id_rsa diff --git a/7/test/php_modules/7.0 b/7/tests/php_modules/7.0 similarity index 100% rename from 7/test/php_modules/7.0 rename to 7/tests/php_modules/7.0 diff --git a/7/test/php_modules/7.1 b/7/tests/php_modules/7.1 similarity index 100% rename from 7/test/php_modules/7.1 rename to 7/tests/php_modules/7.1 diff --git a/7/test/php_modules/7.2 b/7/tests/php_modules/7.2 similarity index 100% rename from 7/test/php_modules/7.2 rename to 7/tests/php_modules/7.2 diff --git a/7/test/run.sh b/7/tests/run.sh similarity index 100% rename from 7/test/run.sh rename to 7/tests/run.sh diff --git a/7/test/tests.sh b/7/tests/tests.sh similarity index 100% rename from 7/test/tests.sh rename to 7/tests/tests.sh From ff63f76d894696e4e645deb5c01022b01682aedd Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 8 Aug 2018 14:08:42 +0700 Subject: [PATCH 194/559] Add rdkafka extension #34 --- 5.6/Dockerfile | 8 +++++++- 5.6/tests/php_modules | 1 + 7/Dockerfile | 8 +++++++- 7/tests/php_modules/7.0 | 1 + 7/tests/php_modules/7.1 | 1 + 7/tests/php_modules/7.2 | 1 + README.md | 2 ++ 7 files changed, 20 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 570d0a7b..35b13d0e 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -23,6 +23,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MEMCACHED_VER="2.2.0" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="1.2.3" \ + EXT_RDKAFKA_VER="3.0.5" \ EXT_REDIS_VER="3.1.6" \ EXT_UPLOADPROGRESS_VER="1.0.3.1" \ EXT_XDEBUG_VER="2.5.5" \ @@ -38,9 +39,10 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ LIBLTDL_VER="2.4.6-r4" \ - LIBMEMCACHED_LIBS_VER="1.0.18-r2" \ LIBMCRYPT_VER="2.5.8-r7" \ + LIBMEMCACHED_LIBS_VER="1.0.18-r2" \ LIBPNG_VER="1.6.34-r1" \ + LIBRDKAFKA_VER="0.11.1-r1" \ LIBXSLT_VER="1.1.31-r0" \ MARIADB_CLIENT_VER="10.1.32-r0" \ POSTGRESQL_CLIENT_VER="10.4-r0" \ @@ -93,6 +95,7 @@ RUN set -xe; \ "libmemcached-libs=${LIBMEMCACHED_LIBS_VER}" \ "libmcrypt=${LIBMCRYPT_VER}" \ "libpng=${LIBPNG_VER}" \ + "librdkafka=${LIBRDKAFKA_VER}" \ "libxslt=${LIBXSLT_VER}" \ make \ "mariadb-client=${MARIADB_CLIENT_VER}" \ @@ -126,6 +129,7 @@ RUN set -xe; \ libmemcached-dev \ libmcrypt-dev \ libpng-dev \ + librdkafka-dev \ libtool \ libxslt-dev \ openldap-dev \ @@ -210,6 +214,7 @@ RUN set -xe; \ "mongodb-${EXT_MONGODB_VER}" \ "oauth-${EXT_OAUTH_VER}" \ "redis-${EXT_REDIS_VER}" \ + "rdkafka-${EXT_RDKAFKA_VER}" \ "uploadprogress-${EXT_UPLOADPROGRESS_VER}" \ "xdebug-${EXT_XDEBUG_VER}" \ "yaml-${EXT_YAML_VER}"; \ @@ -225,6 +230,7 @@ RUN set -xe; \ mongodb \ oauth \ redis \ + rdkafka \ uploadprogress \ xdebug \ yaml; \ diff --git a/5.6/tests/php_modules b/5.6/tests/php_modules index ddfefdda..194151ef 100644 --- a/5.6/tests/php_modules +++ b/5.6/tests/php_modules @@ -49,6 +49,7 @@ pdo_sqlite pgsql Phar posix +rdkafka readline redis Reflection diff --git a/7/Dockerfile b/7/Dockerfile index 1d2a930b..a281042f 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -25,6 +25,7 @@ ENV PHP_DEV="${PHP_DEV}" \ EXT_MEMCACHED_VER="3.0.4" \ EXT_MONGODB_VER="1.4.0" \ EXT_OAUTH_VER="2.0.2" \ + EXT_RDKAFKA_VER="3.0.5" \ EXT_REDIS_VER="3.1.6" \ EXT_TIDEWAYS_XHPROF_VER="4.1.6" \ EXT_XDEBUG_VER="2.6.0" \ @@ -43,9 +44,10 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBJPEG_TURBO_VER="1.5.2-r0" \ LIBLDAP_VER="2.4.45-r3" \ LIBLTDL_VER="2.4.6-r4" \ - LIBMEMCACHED_LIBS_VER="1.0.18-r2" \ LIBMCRYPT_VER="2.5.8-r7" \ + LIBMEMCACHED_LIBS_VER="1.0.18-r2" \ LIBPNG_VER="1.6.34-r1" \ + LIBRDKAFKA_VER="0.11.1-r1" \ LIBXSLT_VER="1.1.31-r0" \ MARIADB_CLIENT_VER="10.1.32-r0" \ POSTGRESQL_CLIENT_VER="10.4-r0" \ @@ -99,6 +101,7 @@ RUN set -xe; \ "libmemcached-libs=${LIBMEMCACHED_LIBS_VER}" \ "libmcrypt=${LIBMCRYPT_VER}" \ "libpng=${LIBPNG_VER}" \ + "librdkafka=${LIBRDKAFKA_VER}" \ "libxslt=${LIBXSLT_VER}" \ make \ "mariadb-client=${MARIADB_CLIENT_VER}" \ @@ -132,6 +135,7 @@ RUN set -xe; \ libmemcached-dev \ libmcrypt-dev \ libpng-dev \ + librdkafka-dev \ libtool \ libxslt-dev \ openldap-dev \ @@ -226,6 +230,7 @@ RUN set -xe; \ "mongodb-${EXT_MONGODB_VER}" \ "oauth-${EXT_OAUTH_VER}" \ "redis-${EXT_REDIS_VER}" \ + "rdkafka-${EXT_RDKAFKA_VER}" \ "xdebug-${EXT_XDEBUG_VER}" \ "yaml-${EXT_YAML_VER}"; \ \ @@ -242,6 +247,7 @@ RUN set -xe; \ mongodb \ oauth \ redis \ + rdkafka \ xdebug \ yaml; \ \ diff --git a/7/tests/php_modules/7.0 b/7/tests/php_modules/7.0 index 00c40510..3d6d4a6a 100644 --- a/7/tests/php_modules/7.0 +++ b/7/tests/php_modules/7.0 @@ -47,6 +47,7 @@ pdo_sqlite pgsql Phar posix +rdkafka readline redis Reflection diff --git a/7/tests/php_modules/7.1 b/7/tests/php_modules/7.1 index 00c40510..3d6d4a6a 100644 --- a/7/tests/php_modules/7.1 +++ b/7/tests/php_modules/7.1 @@ -47,6 +47,7 @@ pdo_sqlite pgsql Phar posix +rdkafka readline redis Reflection diff --git a/7/tests/php_modules/7.2 b/7/tests/php_modules/7.2 index 38812452..0a72f084 100644 --- a/7/tests/php_modules/7.2 +++ b/7/tests/php_modules/7.2 @@ -47,6 +47,7 @@ pdo_sqlite pgsql Phar posix +rdkafka readline redis Reflection diff --git a/README.md b/README.md index 0aff2112..a95c4878 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag [mongodb]: http://pecl.php.net/package/mongodb [newrelic]: http://download.newrelic.com/php_agent/release [OAuth]: http://pecl.php.net/package/oauth +[rdkafka]: https://pecl.php.net/package/rdkafka [redis]: http://pecl.php.net/package/redis [uploadprogress]: https://pecl.php.net/package/uploadprogress [uploadprogress]: https://pecl.php.net/package/uploadprogress @@ -350,6 +351,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | pgsql | | | | | | Phar | | | | | | posix | | | | | +| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | | readline | | | | | | [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | | Reflection | | | | | From 57b9f8f3f4b6d2e44c87c6b5762d1be94e9ed444 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 13 Aug 2018 15:49:11 +0700 Subject: [PATCH 195/559] Add base image timestamps --- 7/.timestamp | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 7/.timestamp diff --git a/7/.timestamp b/7/.timestamp new file mode 100644 index 00000000..2b5e3e8a --- /dev/null +++ b/7/.timestamp @@ -0,0 +1,4 @@ +7.2.8#2018-07-21T15:42:46.582622Z +7.1.20#2018-07-21T16:47:58.150705Z +7.0.31#2018-07-21T16:54:16.870369Z +5.6.37#2018-07-21T17:00:29.087580Z \ No newline at end of file From 14a9f9a828b2c84efbb51aabcf65156dacb0c0b1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 13 Aug 2018 16:10:50 +0700 Subject: [PATCH 196/559] Update postgresql client to 10.5 --- 7/.timestamp => .base-php | 0 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename 7/.timestamp => .base-php (100%) diff --git a/7/.timestamp b/.base-php similarity index 100% rename from 7/.timestamp rename to .base-php diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 35b13d0e..81c3c8d6 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -45,7 +45,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBRDKAFKA_VER="0.11.1-r1" \ LIBXSLT_VER="1.1.31-r0" \ MARIADB_CLIENT_VER="10.1.32-r0" \ - POSTGRESQL_CLIENT_VER="10.4-r0" \ + POSTGRESQL_CLIENT_VER="10.5-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ TIDYHTML_VER="5.4.0-r0" \ YAML_VER="0.1.7-r0" \ diff --git a/7/Dockerfile b/7/Dockerfile index a281042f..0d5b7951 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -50,7 +50,7 @@ ENV PHP_DEV="${PHP_DEV}" \ LIBRDKAFKA_VER="0.11.1-r1" \ LIBXSLT_VER="1.1.31-r0" \ MARIADB_CLIENT_VER="10.1.32-r0" \ - POSTGRESQL_CLIENT_VER="10.4-r0" \ + POSTGRESQL_CLIENT_VER="10.5-r0" \ RABBITMQ_C_VER="0.8.0-r3" \ TIDYHTML_VER="5.4.0-r0" \ YAML_VER="0.1.7-r0" \ From ec566aedb609680da1e35e91673f244bbf126ccf Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Mon, 13 Aug 2018 10:18:35 +0000 Subject: [PATCH 197/559] Update base image updated timestamp --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 2b5e3e8a..dff6d45d 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.8#2018-07-21T15:42:46.582622Z +7.2.8#2018-07-31T10:54:28.580485Z 7.1.20#2018-07-21T16:47:58.150705Z 7.0.31#2018-07-21T16:54:16.870369Z 5.6.37#2018-07-21T17:00:29.087580Z \ No newline at end of file From a976395d23b28a9e6d230bf53e2b1fcb298dbf0f Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Mon, 13 Aug 2018 10:18:38 +0000 Subject: [PATCH 198/559] Update base image updated timestamp --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index dff6d45d..ef086ad6 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.8#2018-07-31T10:54:28.580485Z -7.1.20#2018-07-21T16:47:58.150705Z +7.1.20#2018-07-31T10:53:17.607168Z 7.0.31#2018-07-21T16:54:16.870369Z 5.6.37#2018-07-21T17:00:29.087580Z \ No newline at end of file From 326d65b095a3558919d519e38dfdcf655c671d72 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Mon, 13 Aug 2018 10:18:41 +0000 Subject: [PATCH 199/559] Update base image updated timestamp --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index ef086ad6..c01a66bc 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.8#2018-07-31T10:54:28.580485Z 7.1.20#2018-07-31T10:53:17.607168Z -7.0.31#2018-07-21T16:54:16.870369Z +7.0.31#2018-07-31T10:53:09.447564Z 5.6.37#2018-07-21T17:00:29.087580Z \ No newline at end of file From 0893016d0ef597aa652b70615c2678836bc15966 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Mon, 13 Aug 2018 10:18:44 +0000 Subject: [PATCH 200/559] Update base image updated timestamp --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index c01a66bc..290183fb 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.8#2018-07-31T10:54:28.580485Z 7.1.20#2018-07-31T10:53:17.607168Z 7.0.31#2018-07-31T10:53:09.447564Z -5.6.37#2018-07-21T17:00:29.087580Z \ No newline at end of file +5.6.37#2018-07-31T10:52:44.375209Z \ No newline at end of file From cc8268084df14a5b98ef4f1135224486772fef12 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 13 Aug 2018 18:40:08 +0700 Subject: [PATCH 201/559] Minor fix --- 7/docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 48aa1f07..29aa14ec 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -100,7 +100,7 @@ fi exec_init_scripts -if [[ $1 == "make" ]]; then +if [[ "${1}" == "make" ]]; then exec "${@}" -f /usr/local/bin/actions.mk else exec /usr/local/bin/docker-php-entrypoint "${@}" From c0eb1350d3946f76fd25d1abbafd9cf89a4317b5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 13 Aug 2018 18:40:28 +0700 Subject: [PATCH 202/559] Minor fix --- 5.3/docker-entrypoint.sh | 2 +- 5.6/docker-entrypoint.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh index 5c4e621d..9c6ae932 100755 --- a/5.3/docker-entrypoint.sh +++ b/5.3/docker-entrypoint.sh @@ -86,7 +86,7 @@ fi exec_init_scripts -if [[ $1 == "make" ]]; then +if [[ "${1}" == "make" ]]; then exec "${@}" -f /usr/local/bin/actions.mk else exec /usr/local/bin/docker-php-entrypoint "${@}" diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 3be61da4..23a73db2 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -97,7 +97,7 @@ fi exec_init_scripts -if [[ $1 == "make" ]]; then +if [[ "${1}" == "make" ]]; then exec "${@}" -f /usr/local/bin/actions.mk else exec /usr/local/bin/docker-php-entrypoint "${@}" From 5e0a542249b25ed1185f2b056079b24ba3cb5534 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Thu, 16 Aug 2018 07:07:25 +0000 Subject: [PATCH 203/559] Update base image updated timestamp for 7.2 --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 290183fb..65e3f3a0 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.8#2018-07-31T10:54:28.580485Z +7.2.8#2018-08-16T06:51:23.391504Z 7.1.20#2018-07-31T10:53:17.607168Z 7.0.31#2018-07-31T10:53:09.447564Z 5.6.37#2018-07-31T10:52:44.375209Z \ No newline at end of file From 02853b24df08ed2f312d876cbe66a8a6655253c5 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Thu, 16 Aug 2018 07:07:28 +0000 Subject: [PATCH 204/559] Update base image updated timestamp for 7.1 --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 65e3f3a0..30a70fc7 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.8#2018-08-16T06:51:23.391504Z -7.1.20#2018-07-31T10:53:17.607168Z +7.1.20#2018-08-16T06:51:28.775760Z 7.0.31#2018-07-31T10:53:09.447564Z 5.6.37#2018-07-31T10:52:44.375209Z \ No newline at end of file From 020df894a72a3f264d992a06dc9f1f02755a9e18 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Thu, 16 Aug 2018 07:07:31 +0000 Subject: [PATCH 205/559] Update base image updated timestamp for 7.0 --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 30a70fc7..f0c7dbf5 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.8#2018-08-16T06:51:23.391504Z 7.1.20#2018-08-16T06:51:28.775760Z -7.0.31#2018-07-31T10:53:09.447564Z +7.0.31#2018-08-16T06:50:42.679771Z 5.6.37#2018-07-31T10:52:44.375209Z \ No newline at end of file From 965db250d533d4306e4d1d2a2a2f648e1816233c Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Thu, 16 Aug 2018 07:07:34 +0000 Subject: [PATCH 206/559] Update base image updated timestamp for 5.6 --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index f0c7dbf5..ddc6cb29 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.8#2018-08-16T06:51:23.391504Z 7.1.20#2018-08-16T06:51:28.775760Z 7.0.31#2018-08-16T06:50:42.679771Z -5.6.37#2018-07-31T10:52:44.375209Z \ No newline at end of file +5.6.37#2018-08-16T06:49:07.312808Z \ No newline at end of file From 4dcba2b2f45d13db5ad340e3f3957135d61e6925 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Fri, 17 Aug 2018 06:10:24 +0000 Subject: [PATCH 207/559] Updating Php to 7.2.9 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index ddc6cb29..0e0097b2 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.8#2018-08-16T06:51:23.391504Z +7.2.9#2018-08-16T06:51:23.391504Z 7.1.20#2018-08-16T06:51:28.775760Z 7.0.31#2018-08-16T06:50:42.679771Z 5.6.37#2018-08-16T06:49:07.312808Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 982a9210..c978c0b0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP72=7.2.8 + - PHP72=7.2.9 - PHP71=7.1.20 - PHP70=7.0.31 - PHP56=5.6.37 diff --git a/7/Makefile b/7/Makefile index aa83fcbd..16744b95 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.8 +PHP_VER ?= 7.2.9 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From d4ce8372482604c9bd180bde2c45a444b589d6f0 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Fri, 17 Aug 2018 06:10:26 +0000 Subject: [PATCH 208/559] Update base image timestamp (version 7.2) --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 0e0097b2..16ff4912 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.9#2018-08-16T06:51:23.391504Z +7.2.9#2018-08-17T06:01:29.593782Z 7.1.20#2018-08-16T06:51:28.775760Z 7.0.31#2018-08-16T06:50:42.679771Z 5.6.37#2018-08-16T06:49:07.312808Z \ No newline at end of file From 47cf5348604463d9a61f876dedd3c29835fe191f Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Fri, 17 Aug 2018 09:38:27 +0000 Subject: [PATCH 209/559] Update base image timestamp (version 7.1) --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 16ff4912..224d3ca9 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.9#2018-08-17T06:01:29.593782Z -7.1.20#2018-08-16T06:51:28.775760Z +7.1.20#2018-08-17T06:00:25.081073Z 7.0.31#2018-08-16T06:50:42.679771Z 5.6.37#2018-08-16T06:49:07.312808Z \ No newline at end of file From 505c920462b80dc90e2d725aa810f2df612e2942 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Fri, 17 Aug 2018 09:38:27 +0000 Subject: [PATCH 210/559] Update base image timestamp (version 7.0) --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 224d3ca9..0c96573c 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.9#2018-08-17T06:01:29.593782Z 7.1.20#2018-08-17T06:00:25.081073Z -7.0.31#2018-08-16T06:50:42.679771Z +7.0.31#2018-08-17T05:59:47.994954Z 5.6.37#2018-08-16T06:49:07.312808Z \ No newline at end of file From 5aa450caa9e6c95295253e1db8283b55c5cd41b9 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Fri, 17 Aug 2018 09:38:27 +0000 Subject: [PATCH 211/559] Update base image timestamp (version 5.6) --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 0c96573c..e8c7b8d4 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.9#2018-08-17T06:01:29.593782Z 7.1.20#2018-08-17T06:00:25.081073Z 7.0.31#2018-08-17T05:59:47.994954Z -5.6.37#2018-08-16T06:49:07.312808Z \ No newline at end of file +5.6.37#2018-08-17T05:59:16.815953Z \ No newline at end of file From ea25cb13389da80f67ea321fe4fc7b60c8c86b95 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Fri, 17 Aug 2018 13:43:45 +0000 Subject: [PATCH 212/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index e8c7b8d4..804dfff4 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.9#2018-08-17T06:01:29.593782Z -7.1.20#2018-08-17T06:00:25.081073Z -7.0.31#2018-08-17T05:59:47.994954Z -5.6.37#2018-08-17T05:59:16.815953Z \ No newline at end of file +7.2.9#2018-08-17T11:12:07.193115Z +7.1.20#2018-08-17T11:10:45.741670Z +7.0.31#2018-08-17T11:10:56.302132Z +5.6.37#2018-08-17T11:09:56.142399Z \ No newline at end of file From 379c46f06221722ac144a8c62f992d4f79fb2b7a Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Sat, 18 Aug 2018 18:37:17 +0000 Subject: [PATCH 213/559] Rebuild against updated base image --- .base-php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index 804dfff4..a5ab7a16 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.9#2018-08-17T11:12:07.193115Z -7.1.20#2018-08-17T11:10:45.741670Z +7.1.20#2018-08-17T18:43:29.877323Z 7.0.31#2018-08-17T11:10:56.302132Z -5.6.37#2018-08-17T11:09:56.142399Z \ No newline at end of file +5.6.37#2018-08-17T18:42:18.382618Z \ No newline at end of file From a64d6f36f2b78e47b6ade3a6e6d2d7ba71605854 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Tue, 21 Aug 2018 04:32:59 +0000 Subject: [PATCH 214/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index a5ab7a16..c0967b6c 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.9#2018-08-17T11:12:07.193115Z +7.2.9#2018-08-20T18:44:00.233896Z 7.1.20#2018-08-17T18:43:29.877323Z -7.0.31#2018-08-17T11:10:56.302132Z -5.6.37#2018-08-17T18:42:18.382618Z \ No newline at end of file +7.0.31#2018-08-20T18:42:53.189687Z +5.6.37#2018-08-20T18:41:35.495047Z \ No newline at end of file From ba7eda481397665fd46b2ccff87509502ff20192 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Tue, 21 Aug 2018 10:48:30 +0000 Subject: [PATCH 215/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index c0967b6c..6418e678 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.9#2018-08-20T18:44:00.233896Z -7.1.20#2018-08-17T18:43:29.877323Z -7.0.31#2018-08-20T18:42:53.189687Z -5.6.37#2018-08-20T18:41:35.495047Z \ No newline at end of file +7.2.9#2018-08-21T04:39:03.968038Z +7.1.20#2018-08-21T04:38:06.098225Z +7.0.31#2018-08-21T04:37:22.184310Z +5.6.37#2018-08-21T04:36:22.746647Z \ No newline at end of file From 88e32a44b9cd97466916c137a2c4a4a17358b9f0 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Tue, 21 Aug 2018 12:15:50 +0000 Subject: [PATCH 216/559] Update Php to 7.1.21 --- .base-php | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index 6418e678..49679da5 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.9#2018-08-21T04:39:03.968038Z -7.1.20#2018-08-21T04:38:06.098225Z +7.1.21#2018-08-17T18:43:28.044427Z 7.0.31#2018-08-21T04:37:22.184310Z 5.6.37#2018-08-21T04:36:22.746647Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index c978c0b0..faadc545 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP72=7.2.9 - - PHP71=7.1.20 + - PHP71=7.1.21 - PHP70=7.0.31 - PHP56=5.6.37 - PHP53=5.3.29 From ed44f9b25d43bd82f84f0255d25f1828c1ba9a09 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Tue, 21 Aug 2018 12:15:57 +0000 Subject: [PATCH 217/559] Rebuild against updated base image --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 49679da5..19b5e769 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.9#2018-08-21T04:39:03.968038Z -7.1.21#2018-08-17T18:43:28.044427Z +7.1.21#2018-08-21T04:38:06.098225Z 7.0.31#2018-08-21T04:37:22.184310Z 5.6.37#2018-08-21T04:36:22.746647Z \ No newline at end of file From cc1de1d2001c78aec86d0167e0c6ba429fe6eb5f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 22 Aug 2018 12:36:05 +0700 Subject: [PATCH 218/559] Move out libs and extensions versions from env vars, add missing gmp lib for 5.6 --- 5.3/Dockerfile | 35 +++++---------- 5.6/Dockerfile | 110 ++++++++++++++++------------------------------ 7/Dockerfile | 117 ++++++++++++++++--------------------------------- 3 files changed, 87 insertions(+), 175 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 8a0064f8..1ae8b13a 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -9,20 +9,8 @@ ARG WODBY_GROUP_ID=1000 ENV PHP_DEV="${PHP_DEV}" \ SSHD_PERMIT_USER_ENV="yes" \ - RABBITMQ_C_VER="0.8.0" \ WALTER_VER="1.3.0" \ \ - # No imagick ext because of a bug in imagemagick library. - EXT_AMQP_VER="1.8.0" \ - EXT_APCU_VER="4.0.11" \ - EXT_MEMCACHED_VER="2.2.0" \ - EXT_MONGO_VER="1.6.16" \ - EXT_OAUTH_VER="1.2.3" \ - EXT_UPLOADPROGRESS_VER="1.0.3.1" \ - EXT_XDEBUG_VER="2.2.7" \ - EXT_YAML_VER="1.3.1" \ - EXT_OPCACHE_VER="7.0.5" \ - \ APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" @@ -164,9 +152,9 @@ RUN set -xe; \ docker-php-ext-install -j${NPROC} gd; \ \ # RabbitMQ C client - rmq_url="https://github.com/alanxz/rabbitmq-c/releases/download/v${RABBITMQ_C_VER}/rabbitmq-c-${RABBITMQ_C_VER}.tar.gz"; \ + rmq_url="https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz"; \ wget -qO- "${rmq_url}" | tar xz -C /tmp/; \ - cd "/tmp/rabbitmq-c-${RABBITMQ_C_VER}"; \ + cd /tmp/rabbitmq-c-*; \ mkdir -p build && cd build; \ cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr \ @@ -177,16 +165,17 @@ RUN set -xe; \ # PECL extensions pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ \ + # No imagick ext because of a bug in imagemagick library. pecl install \ - "amqp-${EXT_AMQP_VER}" \ - "apcu-${EXT_APCU_VER}" \ - "memcached-${EXT_MEMCACHED_VER}" \ - "mongo-${EXT_MONGO_VER}" \ - "oauth-${EXT_OAUTH_VER}" \ - "uploadprogress-${EXT_UPLOADPROGRESS_VER}" \ - "xdebug-${EXT_XDEBUG_VER}" \ - "yaml-${EXT_YAML_VER}" \ - "ZendOpcache-${EXT_OPCACHE_VER}"; \ + amqp-1.8.0 \ + apcu-4.0.11 \ + memcached-2.2.0 \ + mongo-1.6.16 \ + oauth-1.2.3 \ + uploadprogress-1.0.3.1 \ + xdebug-2.2.7 \ + yaml-1.3.1 \ + ZendOpcache-7.0.5; \ \ docker-php-ext-enable \ amqp \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 81c3c8d6..9ae822fe 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -11,45 +11,8 @@ ARG WODBY_GROUP_ID=1000 ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ - PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ \ - EXT_AMQP_VER="1.9.3" \ - EXT_APCU_VER="4.0.11" \ - EXT_GEOIP_VER="1.1.1" \ - EXT_GRPC_VER="1.8.5" \ - EXT_IGBINARY_VER="2.0.5" \ - EXT_IMAGICK_VER="3.4.3" \ - EXT_MEMCACHED_VER="2.2.0" \ - EXT_MONGODB_VER="1.4.0" \ - EXT_OAUTH_VER="1.2.3" \ - EXT_RDKAFKA_VER="3.0.5" \ - EXT_REDIS_VER="3.1.6" \ - EXT_UPLOADPROGRESS_VER="1.0.3.1" \ - EXT_XDEBUG_VER="2.5.5" \ - EXT_YAML_VER="1.3.1" \ - \ - C_CLIENT_VER="2007f-r7" \ - FREETYPE_VER="2.8.1-r3" \ - GEOIP_VER="1.6.11-r0" \ - ICU_LIBS_VER="59.1-r1" \ - IMAGEMAGICK_VER="7.0.7.11-r1" \ - JPEGOPTIM_VER="1.4.4-r0" \ - LIBBZ2_VER="1.0.6-r6" \ - LIBJPEG_TURBO_VER="1.5.2-r0" \ - LIBLDAP_VER="2.4.45-r3" \ - LIBLTDL_VER="2.4.6-r4" \ - LIBMCRYPT_VER="2.5.8-r7" \ - LIBMEMCACHED_LIBS_VER="1.0.18-r2" \ - LIBPNG_VER="1.6.34-r1" \ - LIBRDKAFKA_VER="0.11.1-r1" \ - LIBXSLT_VER="1.1.31-r0" \ - MARIADB_CLIENT_VER="10.1.32-r0" \ - POSTGRESQL_CLIENT_VER="10.5-r0" \ - RABBITMQ_C_VER="0.8.0-r3" \ - TIDYHTML_VER="5.4.0-r0" \ - YAML_VER="0.1.7-r0" \ - \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" ENV APP_ROOT="/var/www/html" \ @@ -77,41 +40,42 @@ RUN set -xe; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ apk add --update --no-cache -t .php-rundeps \ - "c-client=${C_CLIENT_VER}" \ + c-client=2007f-r7 \ fcgi \ findutils \ - "freetype=${FREETYPE_VER}" \ - "geoip=${GEOIP_VER}" \ + freetype=2.8.1-r3 \ + geoip=1.6.11-r0 \ git \ - "icu-libs=${ICU_LIBS_VER}" \ - "imagemagick=${IMAGEMAGICK_VER}" \ - "jpegoptim=${JPEGOPTIM_VER}" \ + gmp=6.1.2-r1 \ + icu-libs=59.1-r1 \ + imagemagick=7.0.7.11-r1 \ + jpegoptim=1.4.4-r0 \ less \ - "libbz2=${LIBBZ2_VER}" \ - "libjpeg-turbo=${LIBJPEG_TURBO_VER}" \ - "libjpeg-turbo-utils=${LIBJPEG_TURBO_VER}" \ - "libldap=${LIBLDAP_VER}" \ - "libltdl=${LIBLTDL_VER}" \ - "libmemcached-libs=${LIBMEMCACHED_LIBS_VER}" \ - "libmcrypt=${LIBMCRYPT_VER}" \ - "libpng=${LIBPNG_VER}" \ - "librdkafka=${LIBRDKAFKA_VER}" \ - "libxslt=${LIBXSLT_VER}" \ + libbz2=1.0.6-r6 \ + libjpeg-turbo=1.5.2-r0 \ + libjpeg-turbo-utils \ + libldap=2.4.45-r3 \ + libltdl=2.4.6-r4 \ + libmemcached-libs=1.0.18-r2 \ + libmcrypt=2.5.8-r7 \ + libpng=1.6.34-r1 \ + librdkafka=0.11.1-r1 \ + libxslt=1.1.31-r0 \ make \ - "mariadb-client=${MARIADB_CLIENT_VER}" \ + mariadb-client=10.1.32-r0 \ nano \ openssh \ openssh-client \ patch \ - "postgresql-client=${POSTGRESQL_CLIENT_VER}" \ - "rabbitmq-c=${RABBITMQ_C_VER}" \ + postgresql-client=10.5-r0 \ + rabbitmq-c=0.8.0-r3 \ rsync \ su-exec \ sudo \ - "tidyhtml-libs=${TIDYHTML_VER}" \ + tidyhtml-libs=5.4.0-r0 \ tig \ tmux \ - "yaml=${YAML_VER}"; \ + yaml=0.1.7-r0; \ \ apk add --update --no-cache -t .build-deps \ autoconf \ @@ -204,20 +168,20 @@ RUN set -xe; \ chmod -R 775 /var/log/newrelic/; \ \ pecl install \ - "amqp-${EXT_AMQP_VER}" \ - "apcu-${EXT_APCU_VER}" \ - "geoip-${EXT_GEOIP_VER}" \ - "grpc-${EXT_GRPC_VER}" \ - "igbinary-${EXT_IGBINARY_VER}" \ - "imagick-${EXT_IMAGICK_VER}" \ - "memcached-${EXT_MEMCACHED_VER}" \ - "mongodb-${EXT_MONGODB_VER}" \ - "oauth-${EXT_OAUTH_VER}" \ - "redis-${EXT_REDIS_VER}" \ - "rdkafka-${EXT_RDKAFKA_VER}" \ - "uploadprogress-${EXT_UPLOADPROGRESS_VER}" \ - "xdebug-${EXT_XDEBUG_VER}" \ - "yaml-${EXT_YAML_VER}"; \ + amqp-1.9.3 \ + apcu-4.0.11 \ + geoip-1.1.1 \ + grpc-1.8.5 \ + igbinary-2.0.5 \ + imagick-3.4.3 \ + memcached-2.2.0 \ + mongodb-1.4.0 \ + oauth-1.2.3 \ + redis-3.0.5 \ + rdkafka-3.1.6 \ + uploadprogress-1.0.3.1 \ + xdebug-2.5.5 \ + yaml-1.3.1; \ \ docker-php-ext-enable \ amqp \ @@ -246,7 +210,7 @@ RUN set -xe; \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Install composer parallel install plugin - su-exec wodby composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ + su-exec wodby composer global require "hirak/prestissimo:^0.3"; \ \ # Install Walter walter_url="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz"; \ diff --git a/7/Dockerfile b/7/Dockerfile index 0d5b7951..3500ab40 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -14,47 +14,6 @@ ENV PHP_DEV="${PHP_DEV}" \ PHP_PRESTISSIMO_VER="0.3" \ WALTER_VER="1.3.0" \ \ - EXT_AMQP_VER="1.9.3" \ - EXT_APCU_VER="5.1.11" \ - EXT_AST_VER="0.1.6" \ - EXT_DS_VER="1.2.4" \ - EXT_GEOIP_VER="1.1.1" \ - EXT_GRPC_VER="1.10.0" \ - EXT_IGBINARY_VER="2.0.5" \ - EXT_IMAGICK_VER="3.4.3" \ - EXT_MEMCACHED_VER="3.0.4" \ - EXT_MONGODB_VER="1.4.0" \ - EXT_OAUTH_VER="2.0.2" \ - EXT_RDKAFKA_VER="3.0.5" \ - EXT_REDIS_VER="3.1.6" \ - EXT_TIDEWAYS_XHPROF_VER="4.1.6" \ - EXT_XDEBUG_VER="2.6.0" \ - EXT_YAML_VER="2.0.2" \ - \ - PHP72_EXT_MCRYPT_VER="1.0.1" \ - \ - C_CLIENT_VER="2007f-r7" \ - FREETYPE_VER="2.8.1-r3" \ - GEOIP_VER="1.6.11-r0" \ - GMP_VER="6.1.2-r1" \ - ICU_LIBS_VER="59.1-r1" \ - IMAGEMAGICK_VER="7.0.7.11-r1" \ - JPEGOPTIM_VER="1.4.4-r0" \ - LIBBZ2_VER="1.0.6-r6" \ - LIBJPEG_TURBO_VER="1.5.2-r0" \ - LIBLDAP_VER="2.4.45-r3" \ - LIBLTDL_VER="2.4.6-r4" \ - LIBMCRYPT_VER="2.5.8-r7" \ - LIBMEMCACHED_LIBS_VER="1.0.18-r2" \ - LIBPNG_VER="1.6.34-r1" \ - LIBRDKAFKA_VER="0.11.1-r1" \ - LIBXSLT_VER="1.1.31-r0" \ - MARIADB_CLIENT_VER="10.1.32-r0" \ - POSTGRESQL_CLIENT_VER="10.5-r0" \ - RABBITMQ_C_VER="0.8.0-r3" \ - TIDYHTML_VER="5.4.0-r0" \ - YAML_VER="0.1.7-r0" \ - \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" ENV APP_ROOT="/var/www/html" \ @@ -82,42 +41,42 @@ RUN set -xe; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ apk add --update --no-cache -t .php-rundeps \ - "c-client=${C_CLIENT_VER}" \ + c-client=2007f-r7 \ fcgi \ findutils \ - "freetype=${FREETYPE_VER}" \ - "geoip=${GEOIP_VER}" \ + freetype=2.8.1-r3 \ + geoip=1.6.11-r0 \ git \ - "gmp=${GMP_VER}" \ - "icu-libs=${ICU_LIBS_VER}" \ - "imagemagick=${IMAGEMAGICK_VER}" \ - "jpegoptim=${JPEGOPTIM_VER}" \ + gmp=6.1.2-r1 \ + icu-libs=59.1-r1 \ + imagemagick=7.0.7.11-r1 \ + jpegoptim=1.4.4-r0 \ less \ - "libbz2=${LIBBZ2_VER}" \ - "libjpeg-turbo=${LIBJPEG_TURBO_VER}" \ - "libjpeg-turbo-utils=${LIBJPEG_TURBO_VER}" \ - "libldap=${LIBLDAP_VER}" \ - "libltdl=${LIBLTDL_VER}" \ - "libmemcached-libs=${LIBMEMCACHED_LIBS_VER}" \ - "libmcrypt=${LIBMCRYPT_VER}" \ - "libpng=${LIBPNG_VER}" \ - "librdkafka=${LIBRDKAFKA_VER}" \ - "libxslt=${LIBXSLT_VER}" \ + libbz2=1.0.6-r6 \ + libjpeg-turbo=1.5.2-r0 \ + libjpeg-turbo-utils \ + libldap=2.4.45-r3 \ + libltdl=2.4.6-r4 \ + libmemcached-libs=1.0.18-r2 \ + libmcrypt=2.5.8-r7 \ + libpng=1.6.34-r1 \ + librdkafka=0.11.1-r1 \ + libxslt=1.1.31-r0 \ make \ - "mariadb-client=${MARIADB_CLIENT_VER}" \ + mariadb-client=10.1.32-r0 \ nano \ openssh \ openssh-client \ patch \ - "postgresql-client=${POSTGRESQL_CLIENT_VER}" \ - "rabbitmq-c=${RABBITMQ_C_VER}" \ + postgresql-client=10.5-r0 \ + rabbitmq-c=0.8.0-r3 \ rsync \ su-exec \ sudo \ - "tidyhtml-libs=${TIDYHTML_VER}" \ + tidyhtml-libs=5.4.0-r0 \ tig \ tmux \ - "yaml=${YAML_VER}"; \ + yaml=0.1.7-r0; \ \ apk add --update --no-cache -t .build-deps \ autoconf \ @@ -199,7 +158,7 @@ RUN set -xe; \ \ # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ - pecl install mcrypt-${PHP72_EXT_MCRYPT_VER}; \ + pecl install mcrypt-1.0.1; \ docker-php-ext-enable mcrypt; \ else \ docker-php-ext-install mcrypt; \ @@ -218,21 +177,21 @@ RUN set -xe; \ chmod -R 775 /var/log/newrelic/; \ \ pecl install \ - "amqp-${EXT_AMQP_VER}" \ - "apcu-${EXT_APCU_VER}" \ - "ast-${EXT_AST_VER}" \ - "ds-${EXT_DS_VER}" \ - "geoip-${EXT_GEOIP_VER}" \ - "grpc-${EXT_GRPC_VER}" \ - "igbinary-${EXT_IGBINARY_VER}" \ - "imagick-${EXT_IMAGICK_VER}" \ - "memcached-${EXT_MEMCACHED_VER}" \ - "mongodb-${EXT_MONGODB_VER}" \ - "oauth-${EXT_OAUTH_VER}" \ - "redis-${EXT_REDIS_VER}" \ - "rdkafka-${EXT_RDKAFKA_VER}" \ - "xdebug-${EXT_XDEBUG_VER}" \ - "yaml-${EXT_YAML_VER}"; \ + amqp-1.9.3 \ + apcu-5.1.11 \ + ast-0.1.6 \ + ds-1.2.4 \ + geoip-1.1.1 \ + grpc-1.10.0 \ + igbinary-2.0.5 \ + imagick-3.4.3 \ + memcached-3.0.4 \ + mongodb-1.4.0 \ + oauth-2.0.2 \ + redis-3.0.5 \ + rdkafka-3.1.6 \ + xdebug-4.1.6 \ + yaml-2.6.0; \ \ docker-php-ext-enable \ amqp \ From de45cdc1b1fc8c7b804877120f7fd84bf3ebcdd2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 22 Aug 2018 13:04:30 +0700 Subject: [PATCH 219/559] Fix extensions versions --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 9ae822fe..cad05568 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -177,8 +177,8 @@ RUN set -xe; \ memcached-2.2.0 \ mongodb-1.4.0 \ oauth-1.2.3 \ - redis-3.0.5 \ - rdkafka-3.1.6 \ + rdkafka-3.0.5 \ + redis-3.2.6 \ uploadprogress-1.0.3.1 \ xdebug-2.5.5 \ yaml-1.3.1; \ diff --git a/7/Dockerfile b/7/Dockerfile index 3500ab40..0d9c1238 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -188,10 +188,10 @@ RUN set -xe; \ memcached-3.0.4 \ mongodb-1.4.0 \ oauth-2.0.2 \ - redis-3.0.5 \ - rdkafka-3.1.6 \ - xdebug-4.1.6 \ - yaml-2.6.0; \ + rdkafka-3.0.5 \ + redis-3.1.6 \ + xdebug-2.6.0 \ + yaml-2.0.2; \ \ docker-php-ext-enable \ amqp \ @@ -224,8 +224,9 @@ RUN set -xe; \ docker-php-ext-install uploadprogress; \ \ # Tideways xhprof + xhprof_ext_ver=4.1.6; \ mkdir -p /usr/src/php/ext/xhprof; \ - xhprof_url="https://github.com/tideways/php-xhprof-extension/archive/v${EXT_TIDEWAYS_XHPROF_VER}.tar.gz"; \ + xhprof_url="https://github.com/tideways/php-xhprof-extension/archive/v${xhprof_ext_ver}.tar.gz"; \ wget -qO- "${xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/xhprof; \ docker-php-ext-install xhprof; \ \ From ac0636a6ca2795b1b40d58c6beb1ac1fc9ea6660 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 22 Aug 2018 13:28:39 +0700 Subject: [PATCH 220/559] Fix extensions versions --- 5.6/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index cad05568..f3148ab8 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -178,7 +178,7 @@ RUN set -xe; \ mongodb-1.4.0 \ oauth-1.2.3 \ rdkafka-3.0.5 \ - redis-3.2.6 \ + redis-3.1.6 \ uploadprogress-1.0.3.1 \ xdebug-2.5.5 \ yaml-1.3.1; \ From d5b0f09edb643be9c081e24fa6725c669863bab8 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 22 Aug 2018 15:29:13 +0700 Subject: [PATCH 221/559] Fix owner permissions for .shrc, .bashrc, .bash_profile --- 5.3/Dockerfile | 14 ++++++-------- 5.6/Dockerfile | 14 ++++++-------- 7/Dockerfile | 14 ++++++-------- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/5.3/Dockerfile b/5.3/Dockerfile index 1ae8b13a..abbe7c06 100644 --- a/5.3/Dockerfile +++ b/5.3/Dockerfile @@ -229,25 +229,23 @@ RUN set -xe; \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ - # Create required directories and fix permissions - mkdir -p \ + install -o wodby -g wodby -d \ "${APP_ROOT}" \ "${CONF_DIR}" \ + /home/wodby/.ssh; \ + \ + install -o www-data -g www-data -d \ "${FILES_DIR}/public" \ "${FILES_DIR}/private" \ "${FILES_DIR}/xdebug/traces" \ "${FILES_DIR}/xdebug/profiler" \ - /home/wodby/.ssh \ /home/www-data/.ssh; \ \ chmod -R 775 "${FILES_DIR}"; \ - chown -R www-data:www-data "${FILES_DIR}" /home/www-data/.ssh; \ chown -R wodby:wodby \ - "${APP_ROOT}" \ - "${CONF_DIR}" \ "${PHP_INI_DIR}/conf.d" \ - /usr/local/etc/php-fpm.d/ \ - /home/wodby/; \ + /usr/local/etc/php-fpm.d \ + /home/wodby/.*; \ \ # SSHD touch /etc/ssh/sshd_config; \ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index f3148ab8..15a767ee 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -250,25 +250,23 @@ RUN set -xe; \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ - # Create required directories and fix permissions - mkdir -p \ + install -o wodby -g wodby -d \ "${APP_ROOT}" \ "${CONF_DIR}" \ + /home/wodby/.ssh; \ + \ + install -o www-data -g www-data -d \ "${FILES_DIR}/public" \ "${FILES_DIR}/private" \ "${FILES_DIR}/xdebug/traces" \ "${FILES_DIR}/xdebug/profiler" \ - /home/wodby/.ssh \ /home/www-data/.ssh; \ \ chmod -R 775 "${FILES_DIR}"; \ - chown -R www-data:www-data "${FILES_DIR}" /home/www-data/.ssh; \ chown -R wodby:wodby \ - "${APP_ROOT}" \ - "${CONF_DIR}" \ "${PHP_INI_DIR}/conf.d" \ - /usr/local/etc/php-fpm.d/ \ - /home/wodby/; \ + /usr/local/etc/php-fpm.d \ + /home/wodby/.*; \ \ # SSHD touch /etc/ssh/sshd_config; \ diff --git a/7/Dockerfile b/7/Dockerfile index 0d9c1238..49d82016 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -274,25 +274,23 @@ RUN set -xe; \ # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ - # Create required directories and fix permissions - mkdir -p \ + install -o wodby -g wodby -d \ "${APP_ROOT}" \ "${CONF_DIR}" \ + /home/wodby/.ssh; \ + \ + install -o www-data -g www-data -d \ "${FILES_DIR}/public" \ "${FILES_DIR}/private" \ "${FILES_DIR}/xdebug/traces" \ "${FILES_DIR}/xdebug/profiler" \ - /home/wodby/.ssh \ /home/www-data/.ssh; \ \ chmod -R 775 "${FILES_DIR}"; \ - chown -R www-data:www-data "${FILES_DIR}" /home/www-data/.ssh; \ chown -R wodby:wodby \ - "${APP_ROOT}" \ - "${CONF_DIR}" \ "${PHP_INI_DIR}/conf.d" \ - /usr/local/etc/php-fpm.d/ \ - /home/wodby/; \ + /usr/local/etc/php-fpm.d \ + /home/wodby/.*; \ \ # SSHD touch /etc/ssh/sshd_config; \ From cca264f0cef30a29b2fb82a3088bc59659f855b0 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 22 Aug 2018 17:23:37 +0700 Subject: [PATCH 222/559] Document how to add an ssk key --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index a95c4878..ea066138 100644 --- a/README.md +++ b/README.md @@ -433,6 +433,10 @@ You can run Crond with this image changing the command to `sudo -E crond -f -d 0 You can run SSHD with this image by changing the command to `sudo /usr/sbin/sshd -De` and mounting authorized public keys to `/home/wodby/.ssh/authorized_keys` +## Adding SSH key + +You can add a private SSH key to the container by mounting it to `/home/wodby/.ssh/id_rsa` + ## Users and permissions Default container user is `wodby:wodby` (UID/GID `1000`). PHP-FPM runs from `www-data:www-data` user (UID/GID `82`) by default. User `wodby` is a part of `www-data` group. From 4f1c964daec328421c8bd46145ccbdd376725260 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 22 Aug 2018 17:25:31 +0700 Subject: [PATCH 223/559] Document how to add an ssk key [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ea066138..96e0398e 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ * [Users and permissions](#users-and-permissions) * [Crond](#crond) * [SSHD](#sshd) +* [Adding SSH key](#adding-ssh-key) * [Complete PHP stack](#complete-php-stack) * [Images based on `wodby/php`](#images-based-on-wodbyphp) * [Orchestration Actions](#orchestration-actions) From 2a589d247f9babbeb1024ac2d0b266e8fa31ed66 Mon Sep 17 00:00:00 2001 From: Nikita Malyshev Date: Fri, 24 Aug 2018 15:43:34 +0500 Subject: [PATCH 224/559] Update XDEBUG env variables list url. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 96e0398e..2a176892 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,8 @@ Supported tags and respective `Dockerfile` links: #### PHP and PHP-FPM configuration -[7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tpl -[5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tpl +[7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl +[5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl [7.2 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tpl [7.1 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tpl From c82ec5a8c0a6550b4f775ee79c523bc2705cd1da Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 24 Aug 2018 19:52:02 +0700 Subject: [PATCH 225/559] Fix template URLs --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2a176892..6e67cf5b 100644 --- a/README.md +++ b/README.md @@ -69,10 +69,10 @@ Supported tags and respective `Dockerfile` links: [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl -[7.2 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tpl -[7.1 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tpl -[7.0 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.0.ini.tpl -[5.6 sessions]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tpl +[7.2 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl +[7.1 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl +[7.0 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.0.ini.tmpl +[5.6 sessions]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data From a5d76a09416b975b97dc7650d30712f1042c725e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 28 Aug 2018 20:06:13 +0700 Subject: [PATCH 226/559] Clean up --- 7/Dockerfile | 9 -- README.md | 321 +++++++++++++++++++++++++++------------------------ 2 files changed, 167 insertions(+), 163 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 49d82016..5c8dc57c 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -108,7 +108,6 @@ RUN set -xe; \ \ # Install redis-cli. apk add --update --no-cache redis; \ - mkdir -p /tmp/pkgs-bins; \ mv /usr/bin/redis-cli /tmp/; \ apk del --purge redis; \ deluser redis; \ @@ -153,7 +152,6 @@ RUN set -xe; \ NPROC=$(getconf _NPROCESSORS_ONLN); \ docker-php-ext-install "-j${NPROC}" gd; \ \ - # PECL extensions pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ \ # mcrypt moved to pecl in PHP 7.2 @@ -230,7 +228,6 @@ RUN set -xe; \ wget -qO- "${xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/xhprof; \ docker-php-ext-install xhprof; \ \ - # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Plugin for parallel install @@ -247,11 +244,9 @@ RUN set -xe; \ echo "export PATH=${PATH}"; \ } | tee /home/wodby/.shrc; \ \ - # Make sure bash uses the same settings as ash. cp /home/wodby/.shrc /home/wodby/.bashrc; \ cp /home/wodby/.shrc /home/wodby/.bash_profile; \ \ - # Configure sudoers { \ echo 'Defaults env_keep += "APP_ROOT FILES_DIR"' ; \ \ @@ -271,7 +266,6 @@ RUN set -xe; \ fi; \ } | tee /etc/sudoers.d/wodby; \ \ - # Configure ldap echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ \ install -o wodby -g wodby -d \ @@ -292,18 +286,15 @@ RUN set -xe; \ /usr/local/etc/php-fpm.d \ /home/wodby/.*; \ \ - # SSHD touch /etc/ssh/sshd_config; \ chown wodby: /etc/ssh/sshd_config; \ \ - # Crontab rm /etc/crontabs/root; \ # deprecated: remove in favor of bind mounts. touch /etc/crontabs/www-data; \ chown root:www-data /etc/crontabs/www-data; \ chmod 660 /etc/crontabs/www-data; \ \ - # Cleanup su-exec wodby composer clear-cache; \ docker-php-source delete; \ apk del --purge .build-deps; \ diff --git a/README.md b/README.md index 6e67cf5b..fd5b800e 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,9 @@ ## Table of Contents * [Docker Images](#docker-images) + * [`-dev`](#-dev) + * [`-dev-macos`](#-dev-macos) + * [`-debug`](#-debug) * [Environment Variables](#environment-variables) * [PHP and PHP-FPM configuration](#php-and-php-fpm-configuration) * [Additional configuration](#additional-configuration) @@ -15,20 +18,19 @@ * [PHP Extensions](#php-extensions) * [Tools](#tools) * [Global Composer Packages](#global-composer-packages) -* [`-dev` images](#-dev-images) -* [`-dev-macos` images](#-dev-macos-images) -* [`-debug` images](#-debug-images) +* [Libraries](#libraries) +* [Changelog](#changelog) * [Users and permissions](#users-and-permissions) * [Crond](#crond) * [SSHD](#sshd) * [Adding SSH key](#adding-ssh-key) -* [Complete PHP stack](#complete-php-stack) +* [Complete PHP-based stack](#complete-php-based-stacks) * [Images based on `wodby/php`](#images-based-on-wodbyphp) * [Orchestration Actions](#orchestration-actions) ## Docker Images -❗For better reliability we release images with stability tags (`wodby/php:7.1-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We strongly recommend using images only with stability tags. +❗For better reliability we release images with stability tags (`wodby/php:7.2-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We strongly recommend using images only with stability tags. About images: @@ -36,120 +38,55 @@ About images: * Base image: [wodby/base-php](https://github.com/wodby/base-php) ([wodby/alpine](https://github.com/wodby/alpine) for 5.3) * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) -* [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images have a few differences Supported tags and respective `Dockerfile` links: -* `7`, `7.2`, `latest` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.1` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.0` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `5`, `5.6` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) -* `5.3` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -* `7-dev`, `7.2-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.1-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.0-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `5-dev`, `5.6-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) -* `5.3-dev` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -* `7-dev-macos`, `7.2-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.1-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.0-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `5-dev-macos`, `5.6-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) -* `5.3-dev-macos` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.3/Dockerfile) -* `7-debug`, `7.2-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.1-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `7.0-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/7/Dockerfile) -* `5-debug`, `5.6-debug` [_(Dockerfile)_](https://github.com/wodby/php/tree/master/5.6/Dockerfile) - -> The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 +* `7`, `7.2`, `latest` [_(7/Dockerfile)_] +* `7.1` [_(7/Dockerfile)_] +* `7.0` [_(7/Dockerfile)_] +* `5`, `5.6` [_(5.6/Dockerfile)_] +* `5.3` [_(5.3/Dockerfile)_] +* `7-dev`, `7.2-dev` [_(7/Dockerfile)_] +* `7.1-dev` [_(7/Dockerfile)_] +* `7.0-dev` [_(7/Dockerfile)_] +* `5-dev`, `5.6-dev` [_(5.6/Dockerfile)_] +* `5.3-dev` [_(5.3/Dockerfile)_] +* `7-dev-macos`, `7.2-dev-macos` [_(7/Dockerfile)_] +* `7.1-dev-macos` [_(7/Dockerfile)_] +* `7.0-dev-macos` [_(7/Dockerfile)_] +* `5-dev-macos`, `5.6-dev-macos` [_(5.6/Dockerfile)_] +* `5.3-dev-macos` [_(5.3/Dockerfile)_] +* `7-debug`, `7.2-debug` [_(7/Dockerfile)_] +* `7.1-debug` [_(7/Dockerfile)_] +* `7.0-debug` [_(7/Dockerfile)_] +* `5-debug`, `5.6-debug` [_(5.6/Dockerfile)_] + +> The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 + +### `-dev` -## Environment Variables +Images with `-dev` tag have a few differences: -#### PHP and PHP-FPM configuration +* `sudo` allowed for all commands for `wodby` user +* PHP source code available under `/usr/src/php.tar.xz` +* `PHP_FPM_CLEAR_ENV` is set to `no` by default -[7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl -[5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl +### `-dev-macos` -[7.2 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl -[7.1 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl -[7.0 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.0.ini.tmpl -[5.6 sessions]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl +Same as `-dev` but the default user/group `wodby` has uid/gid `501`/`20` to match the macOS default user/group ids. -[`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen -[`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data -[`PHP_APCU_ENABLE_CLI`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enable-cli -[`PHP_APCU_ENABLED`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enabled -[`PHP_APCU_ENTRIES_HINT`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.entries-hint -[`PHP_APCU_COREDUMP_UNMAP`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.coredump-unmap -[`PHP_APCU_GC_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.gc-ttl -[`PHP_APCU_PRELOAD_PATH`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.preload-path -[`PHP_APCU_SERIALIZER`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.serializer -[`PHP_APCU_SHM_SEGMENTS`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.shm-segments -[`PHP_APCU_SHM_SIZE`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.shm-size -[`PHP_APCU_SLAM_DEFENSE`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.slam-defense -[`PHP_APCU_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.ttl -[`PHP_APCU_USE_REQUEST_TIME`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.use-request-time -[`PHP_ASSERT_ACTIVE`]: http://php.net/assert.active -[`PHP_AUTO_PREPEND_FILE`]: http://php.net/auto-prepend-file -[`PHP_AUTO_APPEND_FILE`]: http://php.net/auto-append-file -[`PHP_DATE_TIMEZONE`]: http://php.net/date.timezone -[`PHP_DEFAULT_SOCKET_TIMEOUT`]: http://php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout -[`PHP_DISPLAY_ERRORS`]: http://php.net/display-errors -[`PHP_DISPLAY_STARTUP_ERRORS`]: http://php.net/display-startup-errors -[`PHP_ERROR_REPORTING`]: http://php.net/error-reporting -[`PHP_EXPOSE`]: http://php.net/expose-php -[`PHP_GEOIP_CUSTOM_DIR`]: http://php.net/manual/en/geoip.configuration.php#ini.geoip.custom-directory -[`PHP_LOG_ERRORS`]: http://php.net/log-errors -[`PHP_LOG_ERRORS_MAX_LEN`]: http://php.net/log-errors-max-len -[`PHP_MAX_EXECUTION_TIME`]: http://php.net/max-execution-time -[`PHP_MAX_FILE_UPLOADS`]: http://php.net/manual/en/ini.core.php#ini.max-file-uploads -[`PHP_MAX_INPUT_TIME`]: http://php.net/max-input-time -[`PHP_MAX_INPUT_VARS`]: http://php.net/max-input-vars -[`PHP_MBSTRING_HTTP_INPUT`]: http://php.net/mbstring.http-input -[`PHP_MBSTRING_HTTP_OUTPUT`]: http://php.net/mbstring.http-output -[`PHP_MBSTRING_ENCODING_TRANSLATION`]: http://php.net/mbstring.encoding-translation -[`PHP_MEMORY_LIMIT`]: http://php.net/memory-limit -[`PHP_MYSQLI_CACHE_SIZE`]: http://php.net/mysqli.cache_size -[`PHP_NEWRELIC_APPNAME`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-appname -[`PHP_NEWRELIC_CAPTURE_PARAMS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-enabled -[`PHP_NEWRELIC_ENABLED`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-enabled -[`PHP_NEWRELIC_FRAMEWORK`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-framework -[`PHP_NEWRELIC_HIGH_SECURITY`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-high-security -[`PHP_NEWRELIC_IGNORED_PARAMS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-ignored_params -[`PHP_NEWRELIC_LABELS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-labels -[`PHP_NEWRELIC_LICENSE`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-license -[`PHP_NEWRELIC_LOGLEVEL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-loglevel -[`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-tt-detail -[`PHP_OPCACHE_ENABLE`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable -[`PHP_OPCACHE_ENABLE_CLI`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable-cli -[`PHP_OPCACHE_FAST_SHUTDOWN`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.fast-shutdown -[`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.interned-strings-buffer -[`PHP_OPCACHE_MAX_ACCELERATED_FILES`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.max-accelerated-files -[`PHP_OPCACHE_MEMORY_CONSUMPTION`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.memory-consumption -[`PHP_OPCACHE_REVALIDATE_FREQ`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.revalidate-freq -[`PHP_OPCACHE_VALIDATE_TIMESTAMPS`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps -[`PHP_OUTPUT_BUFFERING`]: http://php.net/output-buffering -[`PHP_PDO_MYSQL_CACHE_SIZE`]: http://php.net/pdo_mysql.cache_size -[`PHP_ZEND_ASSERTIONS`]: http://php.net/zend.assertions -[`PHP_XDEBUG_DEFAULT_ENABLE`]: https://xdebug.org/docs/all_settings -[`PHP_UPLOAD_MAX_FILESIZE`]: http://php.net/upload-max-filesize -[`PHP_TRACK_ERRORS`]: http://php.net/track-errors -[`PHP_SESSION_SAVE_HANDLER`]: http://php.net/session.save-handler -[`PHP_SENDMAIL_PATH`]: http://php.net/sendmail-path -[`PHP_REALPATH_CACHE_SIZE`]: http://php.net/realpath-cache-size -[`PHP_REALPATH_CACHE_TTL`]: http://php.net/realpath-cache-ttl -[`PHP_POST_MAX_SIZE`]: http://php.net/post-max-size -[`PHP_FPM_CLEAR_ENV`]: http://php.net/manual/en/install.fpm.configuration.php#clear-env -[`PHP_FPM_LOG_LEVEL`]: http://php.net/manual/en/install.fpm.configuration.php#log-level -[`PHP_FPM_PM`]: http://php.net/manual/en/install.fpm.configuration.php#pm -[`PHP_FPM_PM_MAX_CHILDREN`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-chidlren -[`PHP_FPM_PM_MAX_REQUESTS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests -[`PHP_FPM_PM_MAX_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-spare-servers -[`PHP_FPM_PM_MIN_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers -[`PHP_FPM_PM_STATUS_PATH`]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path -[`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`]: http://php.net/manual/en/install.fpm.configuration.php#request-slowlog-timeout -[`PHP_FPM_PM_START_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers -[`PHP_FPM_USER`]: http://php.net/manual/en/install.fpm.configuration.php#user -[`PHP_FPM_GROUP`]: http://php.net/manual/en/install.fpm.configuration.php#group +### `-debug` + +Include all changes from `-dev` images and additionally: + +* PHP compiled with `--enabled-debug` flag +* PHP binaries are not stripped from debug symbols +* Some extensions do not work with `--enabled-debug` such as newrelic and blackfire +* `PHP_FPM_LOG_LEVEL` is set to `debug` by default + +## Environment Variables + +#### PHP and PHP-FPM configuration The default configuration is not recommended to be used for production environment: @@ -275,31 +212,6 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag ## PHP Extensions -[amqp]: http://pecl.php.net/package/amqp -[apcu]: http://pecl.php.net/package/apcu -[ast]: https://github.com/nikic/php-ast -[ds]: https://pecl.php.net/package/ds -[geoip]: https://pecl.php.net/package/geoip -[grpc]: https://pecl.php.net/package/grpc -[igbinary]: https://pecl.php.net/package/igbinary -[imagick]: https://pecl.php.net/package/imagick -[memcached]: http://pecl.php.net/package/memcached -[mongo]: http://pecl.php.net/package/mongo -[mongodb]: http://pecl.php.net/package/mongodb -[newrelic]: http://download.newrelic.com/php_agent/release -[OAuth]: http://pecl.php.net/package/oauth -[rdkafka]: https://pecl.php.net/package/rdkafka -[redis]: http://pecl.php.net/package/redis -[uploadprogress]: https://pecl.php.net/package/uploadprogress -[uploadprogress]: https://pecl.php.net/package/uploadprogress -[xdebug]: https://pecl.php.net/package/xdebug -[yaml]: https://pecl.php.net/package/yaml -[latest]: https://github.com/wodby/pecl-php-uploadprogress/releases/tag/latest -[7.0.5]: https://pecl.php.net/package/ZendOpcache -[1.0.1]: https://pecl.php.net/package/mcrypt -[blackfire]: https://blackfire.io/dashboard/mine/profiles -[tideways]: https://github.com/tideways/php-xhprof-extension - | Extension | 7.2 | 7.1 | 7.0 | 5.6 | | ---------------- | -------- | -------- | -------- | -------- | | [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | @@ -400,26 +312,13 @@ Extensions xdebug, blackfire and xhprof disabled by default. | --------------------------------------------------------------------- | ------- | | [hirak/prestissimo](https://packagist.org/packages/hirak/prestissimo) | ^0.3 | -## `-dev` Images +## Libraries -Images with `-dev` tag have a few differences: - -* `sudo` allowed for all commands for `wodby` user -* PHP source code available under `/usr/src/php.tar.xz` -* `PHP_FPM_CLEAR_ENV` is set to `no` by default - -## `-dev-macos` Images - -Same as `-dev` but the default user/group `wodby` has uid/gid `501`/`20` to match the macOS default user/group ids. +All essential linux libraries are freezed and updates will be reflected in [changelog](#changelog). -## `-debug` Images +## Changelog -Include all changes from `-dev` images and additionally: - -* PHP compiled with `--enabled-debug` flag -* PHP binaries are not stripped from debug symbols -* Some extensions do not work with `--enabled-debug` such as newrelic and blackfire -* `PHP_FPM_LOG_LEVEL` is set to `debug` by default +Changes per stability tag reflected in git tags description under [releases](https://github.com/wodby/python/releases). ## Crond @@ -452,7 +351,7 @@ See https://github.com/wodby/php/issues/22 for more details. * `files_chown` – in case you manually uploaded files under `wodby` user to files volume and want to change the ownership of those files to `www-data` run `sudo files_chown [FILEPATH]` script (FILEPATH must be under `/mnt/files`), it will recursively change ownership to `www-data:www-data` -## Complete PHP stacks +## Complete PHP-based stacks * [wodby/docker4php](https://github.com/wodby/docker4php) * [wodby/docker4drupal](https://github.com/wodby/docker4drupal) @@ -483,3 +382,117 @@ default params values: is_hash 0 branch "" Branch, tag or hash commit ``` + +[_(7/Dockerfile)_]: https://github.com/wodby/php/tree/master/7/Dockerfile +[_(5.6/Dockerfile)_]: https://github.com/wodby/php/tree/master/5.6/Dockerfile +[_(5.3/Dockerfile)_]: https://github.com/wodby/php/tree/master/5.3/Dockerfile + +[7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl +[5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl + +[7.2 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl +[7.1 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl +[7.0 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.0.ini.tmpl +[5.6 sessions]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl + +[`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen +[`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data +[`PHP_APCU_ENABLE_CLI`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enable-cli +[`PHP_APCU_ENABLED`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enabled +[`PHP_APCU_ENTRIES_HINT`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.entries-hint +[`PHP_APCU_COREDUMP_UNMAP`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.coredump-unmap +[`PHP_APCU_GC_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.gc-ttl +[`PHP_APCU_PRELOAD_PATH`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.preload-path +[`PHP_APCU_SERIALIZER`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.serializer +[`PHP_APCU_SHM_SEGMENTS`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.shm-segments +[`PHP_APCU_SHM_SIZE`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.shm-size +[`PHP_APCU_SLAM_DEFENSE`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.slam-defense +[`PHP_APCU_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.ttl +[`PHP_APCU_USE_REQUEST_TIME`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.use-request-time +[`PHP_ASSERT_ACTIVE`]: http://php.net/assert.active +[`PHP_AUTO_PREPEND_FILE`]: http://php.net/auto-prepend-file +[`PHP_AUTO_APPEND_FILE`]: http://php.net/auto-append-file +[`PHP_DATE_TIMEZONE`]: http://php.net/date.timezone +[`PHP_DEFAULT_SOCKET_TIMEOUT`]: http://php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout +[`PHP_DISPLAY_ERRORS`]: http://php.net/display-errors +[`PHP_DISPLAY_STARTUP_ERRORS`]: http://php.net/display-startup-errors +[`PHP_ERROR_REPORTING`]: http://php.net/error-reporting +[`PHP_EXPOSE`]: http://php.net/expose-php +[`PHP_GEOIP_CUSTOM_DIR`]: http://php.net/manual/en/geoip.configuration.php#ini.geoip.custom-directory +[`PHP_LOG_ERRORS`]: http://php.net/log-errors +[`PHP_LOG_ERRORS_MAX_LEN`]: http://php.net/log-errors-max-len +[`PHP_MAX_EXECUTION_TIME`]: http://php.net/max-execution-time +[`PHP_MAX_FILE_UPLOADS`]: http://php.net/manual/en/ini.core.php#ini.max-file-uploads +[`PHP_MAX_INPUT_TIME`]: http://php.net/max-input-time +[`PHP_MAX_INPUT_VARS`]: http://php.net/max-input-vars +[`PHP_MBSTRING_HTTP_INPUT`]: http://php.net/mbstring.http-input +[`PHP_MBSTRING_HTTP_OUTPUT`]: http://php.net/mbstring.http-output +[`PHP_MBSTRING_ENCODING_TRANSLATION`]: http://php.net/mbstring.encoding-translation +[`PHP_MEMORY_LIMIT`]: http://php.net/memory-limit +[`PHP_MYSQLI_CACHE_SIZE`]: http://php.net/mysqli.cache_size +[`PHP_NEWRELIC_APPNAME`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-appname +[`PHP_NEWRELIC_CAPTURE_PARAMS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-enabled +[`PHP_NEWRELIC_ENABLED`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-enabled +[`PHP_NEWRELIC_FRAMEWORK`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-framework +[`PHP_NEWRELIC_HIGH_SECURITY`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-high-security +[`PHP_NEWRELIC_IGNORED_PARAMS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-ignored_params +[`PHP_NEWRELIC_LABELS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-labels +[`PHP_NEWRELIC_LICENSE`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-license +[`PHP_NEWRELIC_LOGLEVEL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-loglevel +[`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-tt-detail +[`PHP_OPCACHE_ENABLE`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable +[`PHP_OPCACHE_ENABLE_CLI`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable-cli +[`PHP_OPCACHE_FAST_SHUTDOWN`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.fast-shutdown +[`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.interned-strings-buffer +[`PHP_OPCACHE_MAX_ACCELERATED_FILES`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.max-accelerated-files +[`PHP_OPCACHE_MEMORY_CONSUMPTION`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.memory-consumption +[`PHP_OPCACHE_REVALIDATE_FREQ`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.revalidate-freq +[`PHP_OPCACHE_VALIDATE_TIMESTAMPS`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps +[`PHP_OUTPUT_BUFFERING`]: http://php.net/output-buffering +[`PHP_PDO_MYSQL_CACHE_SIZE`]: http://php.net/pdo_mysql.cache_size +[`PHP_ZEND_ASSERTIONS`]: http://php.net/zend.assertions +[`PHP_XDEBUG_DEFAULT_ENABLE`]: https://xdebug.org/docs/all_settings +[`PHP_UPLOAD_MAX_FILESIZE`]: http://php.net/upload-max-filesize +[`PHP_TRACK_ERRORS`]: http://php.net/track-errors +[`PHP_SESSION_SAVE_HANDLER`]: http://php.net/session.save-handler +[`PHP_SENDMAIL_PATH`]: http://php.net/sendmail-path +[`PHP_REALPATH_CACHE_SIZE`]: http://php.net/realpath-cache-size +[`PHP_REALPATH_CACHE_TTL`]: http://php.net/realpath-cache-ttl +[`PHP_POST_MAX_SIZE`]: http://php.net/post-max-size +[`PHP_FPM_CLEAR_ENV`]: http://php.net/manual/en/install.fpm.configuration.php#clear-env +[`PHP_FPM_LOG_LEVEL`]: http://php.net/manual/en/install.fpm.configuration.php#log-level +[`PHP_FPM_PM`]: http://php.net/manual/en/install.fpm.configuration.php#pm +[`PHP_FPM_PM_MAX_CHILDREN`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-chidlren +[`PHP_FPM_PM_MAX_REQUESTS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests +[`PHP_FPM_PM_MAX_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-spare-servers +[`PHP_FPM_PM_MIN_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers +[`PHP_FPM_PM_STATUS_PATH`]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path +[`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`]: http://php.net/manual/en/install.fpm.configuration.php#request-slowlog-timeout +[`PHP_FPM_PM_START_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers +[`PHP_FPM_USER`]: http://php.net/manual/en/install.fpm.configuration.php#user +[`PHP_FPM_GROUP`]: http://php.net/manual/en/install.fpm.configuration.php#group + +[amqp]: http://pecl.php.net/package/amqp +[apcu]: http://pecl.php.net/package/apcu +[ast]: https://github.com/nikic/php-ast +[ds]: https://pecl.php.net/package/ds +[geoip]: https://pecl.php.net/package/geoip +[grpc]: https://pecl.php.net/package/grpc +[igbinary]: https://pecl.php.net/package/igbinary +[imagick]: https://pecl.php.net/package/imagick +[memcached]: http://pecl.php.net/package/memcached +[mongo]: http://pecl.php.net/package/mongo +[mongodb]: http://pecl.php.net/package/mongodb +[newrelic]: http://download.newrelic.com/php_agent/release +[OAuth]: http://pecl.php.net/package/oauth +[rdkafka]: https://pecl.php.net/package/rdkafka +[redis]: http://pecl.php.net/package/redis +[uploadprogress]: https://pecl.php.net/package/uploadprogress +[uploadprogress]: https://pecl.php.net/package/uploadprogress +[xdebug]: https://pecl.php.net/package/xdebug +[yaml]: https://pecl.php.net/package/yaml +[latest]: https://github.com/wodby/pecl-php-uploadprogress/releases/tag/latest +[7.0.5]: https://pecl.php.net/package/ZendOpcache +[1.0.1]: https://pecl.php.net/package/mcrypt +[blackfire]: https://blackfire.io/dashboard/mine/profiles +[tideways]: https://github.com/tideways/php-xhprof-extension From 8757c35e6b4122da6547f1cd1e35289f1c6ca6f7 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 29 Aug 2018 17:16:50 +0700 Subject: [PATCH 227/559] Add license file [skip ci] --- 5.3/LICENSE.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 5.3/LICENSE.md diff --git a/5.3/LICENSE.md b/5.3/LICENSE.md new file mode 100644 index 00000000..c3cec398 --- /dev/null +++ b/5.3/LICENSE.md @@ -0,0 +1,8 @@ +The MIT License (MIT) +Copyright (c) 2016 Wodby, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file From 69deafb2094ccdcc5acc60d5c5f44a070c58456a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 29 Aug 2018 17:17:18 +0700 Subject: [PATCH 228/559] Add license file [skip ci] --- 5.3/LICENSE.md => LICENSE.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename 5.3/LICENSE.md => LICENSE.md (100%) diff --git a/5.3/LICENSE.md b/LICENSE.md similarity index 100% rename from 5.3/LICENSE.md rename to LICENSE.md From 3cffcdbf74ed24b078c2b24d3b377353e8b603e0 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Wed, 29 Aug 2018 18:41:03 +0000 Subject: [PATCH 229/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 19b5e769..c33076e2 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.9#2018-08-21T04:39:03.968038Z -7.1.21#2018-08-21T04:38:06.098225Z -7.0.31#2018-08-21T04:37:22.184310Z -5.6.37#2018-08-21T04:36:22.746647Z \ No newline at end of file +7.2.9#2018-08-28T18:48:43.378579Z +7.1.21#2018-08-28T18:47:54.053054Z +7.0.31#2018-08-28T18:47:07.818250Z +5.6.37#2018-08-28T18:46:45.195697Z \ No newline at end of file From 4f127d102380b985279b1e5d36a5ba824a943581 Mon Sep 17 00:00:00 2001 From: Wodby Robot Date: Fri, 31 Aug 2018 06:54:04 +0000 Subject: [PATCH 230/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index c33076e2..1b6171b0 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.9#2018-08-28T18:48:43.378579Z -7.1.21#2018-08-28T18:47:54.053054Z -7.0.31#2018-08-28T18:47:07.818250Z -5.6.37#2018-08-28T18:46:45.195697Z \ No newline at end of file +7.2.9#2018-08-31T05:37:57.624759Z +7.1.21#2018-08-31T05:37:02.811661Z +7.0.31#2018-08-31T05:36:37.834473Z +5.6.37#2018-08-31T05:35:26.092697Z \ No newline at end of file From d3987b15213c7d9b6919064a27032bc966d477f8 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 31 Aug 2018 14:30:18 +0700 Subject: [PATCH 231/559] Do not build -debug images [skip ci] --- .travis.yml | 4 ---- README.md | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index faadc545..af19bc15 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,10 +26,6 @@ env: - PHP_VER="${PHP70}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.0-dev-macos - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos - PHP_VER="${PHP53}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.3-dev-macos - - PHP_VER="${PHP72}" PHP_DEBUG=1 TAGS=7.2-debug,7-debug - - PHP_VER="${PHP71}" PHP_DEBUG=1 TAGS=7.1-debug - - PHP_VER="${PHP70}" PHP_DEBUG=1 TAGS=7.0-debug - - PHP_VER="${PHP56}" PHP_DEBUG=1 TAGS=5.6-debug,5-debug script: - set -e diff --git a/README.md b/README.md index fd5b800e..2027c140 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,7 @@ The default configuration is not recommended to be used for production environme | Argument | Default value | | ---------------- | ------------- | +| `PHP_VER` | | | `PHP_DEV` | | | `PHP_DEBUG` | | | `WODBY_GROUP_ID` | `1000` | From b98e0305d0bf235c8542ef1c47d39e29c20ab906 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 6 Sep 2018 12:47:02 +0700 Subject: [PATCH 232/559] Update xhprof to 5.0-beta2 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 12 ++-- README.md | 164 ++++++++++++++++++++++++------------------------- 3 files changed, 89 insertions(+), 89 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 15a767ee..fe178d61 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -199,7 +199,7 @@ RUN set -xe; \ xdebug \ yaml; \ \ - # Blackfire extension + # Blackfire extension (they have free tier). mkdir -p /tmp/blackfire; \ version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ diff --git a/7/Dockerfile b/7/Dockerfile index 5c8dc57c..01cd1072 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -208,21 +208,21 @@ RUN set -xe; \ xdebug \ yaml; \ \ - # Blackfire extension + # Blackfire extension (they have free tier). mkdir -p /tmp/blackfire; \ version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ \ - # Uploadprogress + # Uploadprogress. mkdir -p /usr/src/php/ext/uploadprogress; \ up_url="https://github.com/wodby/pecl-php-uploadprogress/archive/latest.tar.gz"; \ wget -qO- "${up_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/uploadprogress; \ docker-php-ext-install uploadprogress; \ \ - # Tideways xhprof - xhprof_ext_ver=4.1.6; \ + # Tideways xhprof. + xhprof_ext_ver="5.0-beta2"; \ mkdir -p /usr/src/php/ext/xhprof; \ xhprof_url="https://github.com/tideways/php-xhprof-extension/archive/v${xhprof_ext_ver}.tar.gz"; \ wget -qO- "${xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/xhprof; \ @@ -230,10 +230,10 @@ RUN set -xe; \ \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ - # Plugin for parallel install + # Plugin for parallel install. su-exec wodby composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ \ - # Install Walter + # Install Walter (deprecated). walter_url="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz"; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ diff --git a/README.md b/README.md index 2027c140..0dccef91 100644 --- a/README.md +++ b/README.md @@ -213,84 +213,84 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag ## PHP Extensions -| Extension | 7.2 | 7.1 | 7.0 | 5.6 | -| ---------------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | -| apc | - | - | - | - | -| [apcu] | 5.1.11 | 5.1.11 | 5.1.11 | 4.0.11 | -| [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | -| [blackfire] | latest | latest | latest | latest | -| bcmath | | | | | -| bz2 | | | | | -| calendar | | | | | -| Core | | | | | -| ctype | | | | | -| curl | | | | | -| date | | | | | -| dom | | | | | -| [ds] | 1.2.4 | 1.2.4 | 1.2.4 | - | -| exif | | | | | -| ereg | - | - | - | | -| fileinfo | | | | | -| filter | | | | | -| ftp | | | | | -| gd | | | | | -| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.12.0 | 1.12.0 | 1.12.0 | - | -| hash | | | | | -| iconv | | | | | -| [igbinary] | 2.0.6 | 2.0.6 | 2.0.6 | 2.0.6 | -| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | -| imap | | | | | -| intl | | | | | -| json | | | | | -| ldap | | | | | -| libxml | | | | | -| mbstring | | | | | -| mcrypt | [1.0.1] | | | | -| [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | -| [mongodb] | 1.4.4 | 1.4.4 | 1.4.4 | 1.4.4 | -| mysql | - | - | - | | -| mysqli | | | | | -| mysqlnd | | | | | -| [newrelic] | latest | latest | latest | latest | -| [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | -| openssl | | | | | -| pcntl | | | | | -| pcre | | | | | -| PDO | | | | | -| pdo_mysql | | | | | -| pdo_pgsql | | | | | -| pdo_sqlite | | | | | -| pgsql | | | | | -| Phar | | | | | -| posix | | | | | -| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | -| readline | | | | | -| [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | -| Reflection | | | | | -| session | | | | | -| SimpleXML | | | | | -| soap | | | | | -| sockets | | | | | -| sodium | | - | - | - | -| SPL | | | | | -| sqlite3 | | | | | -| standard | | | | | -| [tideways] | 4.1.6 | 4.1.6 | 4.1.6 | | -| tidy | | | | | -| tokenizer | | | | | -| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | -| [xdebug] | 2.6.0 | 2.6.0 | 2.6.0 | 2.5.5 | -| xml | | | | | -| xmlreader | | | | | -| xmlrpc | | | | | -| xmlwriter | | | | | -| xsl | | | | | -| [yaml] | 2.0.2 | 2.0.2 | 2.0.2 | 1.3.1 | -| Zend OPcache | | | | | -| zip | | | | | -| zlib | | | | | +| Extension | 7.2 | 7.1 | 7.0 | 5.6 | +| ---------------- | -------- | -------- | -------- | -------- | +| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | +| apc | - | - | - | - | +| [apcu] | 5.1.11 | 5.1.11 | 5.1.11 | 4.0.11 | +| [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | +| [blackfire] | latest | latest | latest | latest | +| bcmath | | | | | +| bz2 | | | | | +| calendar | | | | | +| Core | | | | | +| ctype | | | | | +| curl | | | | | +| date | | | | | +| dom | | | | | +| [ds] | 1.2.4 | 1.2.4 | 1.2.4 | - | +| exif | | | | | +| ereg | - | - | - | | +| fileinfo | | | | | +| filter | | | | | +| ftp | | | | | +| gd | | | | | +| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | +| [grpc] | 1.12.0 | 1.12.0 | 1.12.0 | - | +| hash | | | | | +| iconv | | | | | +| [igbinary] | 2.0.6 | 2.0.6 | 2.0.6 | 2.0.6 | +| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | +| imap | | | | | +| intl | | | | | +| json | | | | | +| ldap | | | | | +| libxml | | | | | +| mbstring | | | | | +| mcrypt | [1.0.1] | | | | +| [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | +| [mongodb] | 1.4.4 | 1.4.4 | 1.4.4 | 1.4.4 | +| mysql | - | - | - | | +| mysqli | | | | | +| mysqlnd | | | | | +| [newrelic] | latest | latest | latest | latest | +| [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | +| openssl | | | | | +| pcntl | | | | | +| pcre | | | | | +| PDO | | | | | +| pdo_mysql | | | | | +| pdo_pgsql | | | | | +| pdo_sqlite | | | | | +| pgsql | | | | | +| Phar | | | | | +| posix | | | | | +| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | +| readline | | | | | +| [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | +| Reflection | | | | | +| session | | | | | +| SimpleXML | | | | | +| soap | | | | | +| sockets | | | | | +| sodium | | - | - | - | +| SPL | | | | | +| sqlite3 | | | | | +| standard | | | | | +| [xhprof (tideways)] | v5.0-beta2 | v5.0-beta2 | v5.0-beta2 | | +| tidy | | | | | +| tokenizer | | | | | +| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | +| [xdebug] | 2.6.0 | 2.6.0 | 2.6.0 | 2.5.5 | +| xml | | | | | +| xmlreader | | | | | +| xmlrpc | | | | | +| xmlwriter | | | | | +| xsl | | | | | +| [yaml] | 2.0.2 | 2.0.2 | 2.0.2 | 1.3.1 | +| Zend OPcache | | | | | +| zip | | | | | +| zlib | | | | | Legend: @@ -391,10 +391,10 @@ default params values: [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl -[7.2 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl -[7.1 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl -[7.0 sessions]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.0.ini.tmpl -[5.6 sessions]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl +[7.2 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl +[7.1 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl +[7.0 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.0.ini.tmpl +[5.6 session]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data From d02eecc068be8a8deb3b8fc65b963e1ce21a48d3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 6 Sep 2018 13:02:22 +0700 Subject: [PATCH 233/559] Update xhprof extension name --- 7/Dockerfile | 6 +++--- 7/tests/php_modules/7.0 | 2 +- 7/tests/php_modules/7.1 | 2 +- 7/tests/php_modules/7.2 | 2 +- README.md | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 01cd1072..3351b8e3 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -223,10 +223,10 @@ RUN set -xe; \ \ # Tideways xhprof. xhprof_ext_ver="5.0-beta2"; \ - mkdir -p /usr/src/php/ext/xhprof; \ + mkdir -p /usr/src/php/ext/tideways_xhprof; \ xhprof_url="https://github.com/tideways/php-xhprof-extension/archive/v${xhprof_ext_ver}.tar.gz"; \ - wget -qO- "${xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/xhprof; \ - docker-php-ext-install xhprof; \ + wget -qO- "${xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/tideways_xhprof; \ + docker-php-ext-install tideways_xhprof; \ \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ diff --git a/7/tests/php_modules/7.0 b/7/tests/php_modules/7.0 index 3d6d4a6a..9db62148 100644 --- a/7/tests/php_modules/7.0 +++ b/7/tests/php_modules/7.0 @@ -58,7 +58,7 @@ sockets SPL sqlite3 standard -tideways +tideways_xhprof tidy tokenizer uploadprogress diff --git a/7/tests/php_modules/7.1 b/7/tests/php_modules/7.1 index 3d6d4a6a..9db62148 100644 --- a/7/tests/php_modules/7.1 +++ b/7/tests/php_modules/7.1 @@ -58,7 +58,7 @@ sockets SPL sqlite3 standard -tideways +tideways_xhprof tidy tokenizer uploadprogress diff --git a/7/tests/php_modules/7.2 b/7/tests/php_modules/7.2 index 0a72f084..e591bb3b 100644 --- a/7/tests/php_modules/7.2 +++ b/7/tests/php_modules/7.2 @@ -59,7 +59,7 @@ sodium SPL sqlite3 standard -tideways +tideways_xhprof tidy tokenizer uploadprogress diff --git a/README.md b/README.md index 0dccef91..3bbb55af 100644 --- a/README.md +++ b/README.md @@ -277,7 +277,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | SPL | | | | | | sqlite3 | | | | | | standard | | | | | -| [xhprof (tideways)] | v5.0-beta2 | v5.0-beta2 | v5.0-beta2 | | +| [tideways_xhprof] | v5.0-beta2 | v5.0-beta2 | v5.0-beta2 | | | tidy | | | | | | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | @@ -496,4 +496,4 @@ default params values: [7.0.5]: https://pecl.php.net/package/ZendOpcache [1.0.1]: https://pecl.php.net/package/mcrypt [blackfire]: https://blackfire.io/dashboard/mine/profiles -[tideways]: https://github.com/tideways/php-xhprof-extension +[tideways_xhprof]: https://github.com/tideways/php-xhprof-extension From c547b8e9c9d4189584f927783a1e8ec60729dda9 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 14 Sep 2018 04:11:36 +0000 Subject: [PATCH 234/559] Update php to 7.2.10 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 1b6171b0..a4456cbe 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.9#2018-08-31T05:37:57.624759Z +7.2.10#2018-08-31T05:37:55.795838Z 7.1.21#2018-08-31T05:37:02.811661Z 7.0.31#2018-08-31T05:36:37.834473Z 5.6.37#2018-08-31T05:35:26.092697Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index af19bc15..d8997ac8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP72=7.2.9 + - PHP72=7.2.10 - PHP71=7.1.21 - PHP70=7.0.31 - PHP56=5.6.37 diff --git a/7/Makefile b/7/Makefile index 16744b95..25c2c4ed 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.9 +PHP_VER ?= 7.2.10 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From c38493c1952b6e147e7aed76d103c6b6c358c7a5 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 14 Sep 2018 04:11:36 +0000 Subject: [PATCH 235/559] Update php to 7.1.22 --- .base-php | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index a4456cbe..51855067 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.10#2018-08-31T05:37:55.795838Z -7.1.21#2018-08-31T05:37:02.811661Z +7.1.22#2018-08-31T05:37:00.943915Z 7.0.31#2018-08-31T05:36:37.834473Z 5.6.37#2018-08-31T05:35:26.092697Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index d8997ac8..5d5c538f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP72=7.2.10 - - PHP71=7.1.21 + - PHP71=7.1.22 - PHP70=7.0.31 - PHP56=5.6.37 - PHP53=5.3.29 From feec0256d2b69ebb8d54ce5b1e85448a8f8eb1a7 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 14 Sep 2018 04:11:37 +0000 Subject: [PATCH 236/559] Update php to 7.0.32 --- .base-php | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index 51855067..a818ff09 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.10#2018-08-31T05:37:55.795838Z 7.1.22#2018-08-31T05:37:00.943915Z -7.0.31#2018-08-31T05:36:37.834473Z +7.0.32#2018-08-31T05:36:35.855037Z 5.6.37#2018-08-31T05:35:26.092697Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 5d5c538f..0a74e06f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP72=7.2.10 - PHP71=7.1.22 - - PHP70=7.0.31 + - PHP70=7.0.32 - PHP56=5.6.37 - PHP53=5.3.29 matrix: From 0f9dbad2cbc33ebc193c0c758b849084c366c86a Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 14 Sep 2018 04:11:37 +0000 Subject: [PATCH 237/559] Update php to 5.6.38 --- .base-php | 2 +- .travis.yml | 2 +- 5.6/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index a818ff09..967da4ee 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.10#2018-08-31T05:37:55.795838Z 7.1.22#2018-08-31T05:37:00.943915Z 7.0.32#2018-08-31T05:36:35.855037Z -5.6.37#2018-08-31T05:35:26.092697Z \ No newline at end of file +5.6.38#2018-08-31T05:35:24.267465Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 0a74e06f..07352347 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ env: - PHP72=7.2.10 - PHP71=7.1.22 - PHP70=7.0.32 - - PHP56=5.6.37 + - PHP56=5.6.38 - PHP53=5.3.29 matrix: - PHP_VER="${PHP72}" TAGS=7.2,7,latest diff --git a/5.6/Makefile b/5.6/Makefile index e5b26542..15a033ca 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 5.6.37 +PHP_VER ?= 5.6.38 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 33ba6c843acc9b5f432e10b1d0821aeb9c17de7b Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 14 Sep 2018 04:11:43 +0000 Subject: [PATCH 238/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 967da4ee..9d6caea0 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.10#2018-08-31T05:37:55.795838Z -7.1.22#2018-08-31T05:37:00.943915Z -7.0.32#2018-08-31T05:36:35.855037Z -5.6.38#2018-08-31T05:35:24.267465Z \ No newline at end of file +7.2.10#2018-09-13T18:55:46.483164Z +7.1.22#2018-09-13T18:54:32.794654Z +7.0.32#2018-09-13T18:54:13.644900Z +5.6.38#2018-09-13T18:53:22.665258Z \ No newline at end of file From bd92cbb4804af010e1e5a838e6635bcdb79cc4e9 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 14 Sep 2018 04:22:50 +0000 Subject: [PATCH 239/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 9d6caea0..8e1084f6 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.10#2018-09-13T18:55:46.483164Z -7.1.22#2018-09-13T18:54:32.794654Z -7.0.32#2018-09-13T18:54:13.644900Z -5.6.38#2018-09-13T18:53:22.665258Z \ No newline at end of file +7.2.10#2018-09-14T04:20:11.744445Z +7.1.22#2018-09-14T04:19:59.195892Z +7.0.32#2018-09-14T04:19:02.566049Z +5.6.38#2018-09-14T04:18:03.932648Z \ No newline at end of file From 28ecc2733003e023cb2887258c4327329761312f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 14 Sep 2018 11:41:54 +0700 Subject: [PATCH 240/559] Add env vars for Phar runtime configuration #39 --- 5.6/templates/docker-php.ini.tmpl | 5 + 7/templates/docker-php-7.0.ini.tmpl | 5 + 7/templates/docker-php-7.1.ini.tmpl | 5 + 7/templates/docker-php-7.2.ini.tmpl | 5 + README.md | 162 ++++++++++++++-------------- 5 files changed, 104 insertions(+), 78 deletions(-) diff --git a/5.6/templates/docker-php.ini.tmpl b/5.6/templates/docker-php.ini.tmpl index b1c8daa1..8acd84e6 100644 --- a/5.6/templates/docker-php.ini.tmpl +++ b/5.6/templates/docker-php.ini.tmpl @@ -20,6 +20,11 @@ date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} [Pdo_mysql] pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} +[Phar] +phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} +phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} +phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} + [mail function] sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} diff --git a/7/templates/docker-php-7.0.ini.tmpl b/7/templates/docker-php-7.0.ini.tmpl index 317c8b19..e497f21f 100644 --- a/7/templates/docker-php-7.0.ini.tmpl +++ b/7/templates/docker-php-7.0.ini.tmpl @@ -17,6 +17,11 @@ auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} [Date] date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} +[Phar] +phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} +phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} +phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} + [Pdo_mysql] pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} diff --git a/7/templates/docker-php-7.1.ini.tmpl b/7/templates/docker-php-7.1.ini.tmpl index 9c546669..acac5a4d 100644 --- a/7/templates/docker-php-7.1.ini.tmpl +++ b/7/templates/docker-php-7.1.ini.tmpl @@ -20,6 +20,11 @@ date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} [Pdo_mysql] pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} +[Phar] +phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} +phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} +phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} + [mail function] sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} diff --git a/7/templates/docker-php-7.2.ini.tmpl b/7/templates/docker-php-7.2.ini.tmpl index 56b9a00e..cec9395e 100644 --- a/7/templates/docker-php-7.2.ini.tmpl +++ b/7/templates/docker-php-7.2.ini.tmpl @@ -19,6 +19,11 @@ date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} [Pdo_mysql] pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} +[Phar] +phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} +phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} +phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} + [mail function] sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} diff --git a/README.md b/README.md index 3bbb55af..f43aac1a 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,9 @@ The default configuration is not recommended to be used for production environme | [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | `1` | `1` | `1` | | [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | | [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_CACHE_LIST`] | | | | | | [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | | [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | | [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | @@ -213,84 +216,84 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag ## PHP Extensions -| Extension | 7.2 | 7.1 | 7.0 | 5.6 | -| ---------------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | -| apc | - | - | - | - | -| [apcu] | 5.1.11 | 5.1.11 | 5.1.11 | 4.0.11 | -| [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | -| [blackfire] | latest | latest | latest | latest | -| bcmath | | | | | -| bz2 | | | | | -| calendar | | | | | -| Core | | | | | -| ctype | | | | | -| curl | | | | | -| date | | | | | -| dom | | | | | -| [ds] | 1.2.4 | 1.2.4 | 1.2.4 | - | -| exif | | | | | -| ereg | - | - | - | | -| fileinfo | | | | | -| filter | | | | | -| ftp | | | | | -| gd | | | | | -| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.12.0 | 1.12.0 | 1.12.0 | - | -| hash | | | | | -| iconv | | | | | -| [igbinary] | 2.0.6 | 2.0.6 | 2.0.6 | 2.0.6 | -| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | -| imap | | | | | -| intl | | | | | -| json | | | | | -| ldap | | | | | -| libxml | | | | | -| mbstring | | | | | -| mcrypt | [1.0.1] | | | | -| [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | -| [mongodb] | 1.4.4 | 1.4.4 | 1.4.4 | 1.4.4 | -| mysql | - | - | - | | -| mysqli | | | | | -| mysqlnd | | | | | -| [newrelic] | latest | latest | latest | latest | -| [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | -| openssl | | | | | -| pcntl | | | | | -| pcre | | | | | -| PDO | | | | | -| pdo_mysql | | | | | -| pdo_pgsql | | | | | -| pdo_sqlite | | | | | -| pgsql | | | | | -| Phar | | | | | -| posix | | | | | -| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | -| readline | | | | | -| [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | -| Reflection | | | | | -| session | | | | | -| SimpleXML | | | | | -| soap | | | | | -| sockets | | | | | -| sodium | | - | - | - | -| SPL | | | | | -| sqlite3 | | | | | -| standard | | | | | -| [tideways_xhprof] | v5.0-beta2 | v5.0-beta2 | v5.0-beta2 | | -| tidy | | | | | -| tokenizer | | | | | -| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | -| [xdebug] | 2.6.0 | 2.6.0 | 2.6.0 | 2.5.5 | -| xml | | | | | -| xmlreader | | | | | -| xmlrpc | | | | | -| xmlwriter | | | | | -| xsl | | | | | -| [yaml] | 2.0.2 | 2.0.2 | 2.0.2 | 1.3.1 | -| Zend OPcache | | | | | -| zip | | | | | -| zlib | | | | | +| Extension | 7.2 | 7.1 | 7.0 | 5.6 | +| ---------------- | -------- | -------- | -------- | -------- | +| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | +| apc | - | - | - | - | +| [apcu] | 5.1.11 | 5.1.11 | 5.1.11 | 4.0.11 | +| [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | +| [blackfire] | latest | latest | latest | latest | +| bcmath | | | | | +| bz2 | | | | | +| calendar | | | | | +| Core | | | | | +| ctype | | | | | +| curl | | | | | +| date | | | | | +| dom | | | | | +| [ds] | 1.2.4 | 1.2.4 | 1.2.4 | - | +| exif | | | | | +| ereg | - | - | - | | +| fileinfo | | | | | +| filter | | | | | +| ftp | | | | | +| gd | | | | | +| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | +| [grpc] | 1.12.0 | 1.12.0 | 1.12.0 | - | +| hash | | | | | +| iconv | | | | | +| [igbinary] | 2.0.6 | 2.0.6 | 2.0.6 | 2.0.6 | +| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | +| imap | | | | | +| intl | | | | | +| json | | | | | +| ldap | | | | | +| libxml | | | | | +| mbstring | | | | | +| mcrypt | [1.0.1] | | | | +| [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | +| [mongodb] | 1.4.4 | 1.4.4 | 1.4.4 | 1.4.4 | +| mysql | - | - | - | | +| mysqli | | | | | +| mysqlnd | | | | | +| [newrelic] | latest | latest | latest | latest | +| [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | +| openssl | | | | | +| pcntl | | | | | +| pcre | | | | | +| PDO | | | | | +| pdo_mysql | | | | | +| pdo_pgsql | | | | | +| pdo_sqlite | | | | | +| pgsql | | | | | +| Phar | | | | | +| posix | | | | | +| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | +| readline | | | | | +| [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | +| Reflection | | | | | +| session | | | | | +| SimpleXML | | | | | +| soap | | | | | +| sockets | | | | | +| sodium | | - | - | - | +| SPL | | | | | +| sqlite3 | | | | | +| standard | | | | | +| [tideways_xhprof] | v5.0-beta2 | v5.0-beta2 | v5.0-beta2 | | +| tidy | | | | | +| tokenizer | | | | | +| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | +| [xdebug] | 2.6.0 | 2.6.0 | 2.6.0 | 2.5.5 | +| xml | | | | | +| xmlreader | | | | | +| xmlrpc | | | | | +| xmlwriter | | | | | +| xsl | | | | | +| [yaml] | 2.0.2 | 2.0.2 | 2.0.2 | 1.3.1 | +| Zend OPcache | | | | | +| zip | | | | | +| zlib | | | | | Legend: @@ -451,6 +454,9 @@ default params values: [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps [`PHP_OUTPUT_BUFFERING`]: http://php.net/output-buffering [`PHP_PDO_MYSQL_CACHE_SIZE`]: http://php.net/pdo_mysql.cache_size +[`PHP_PHAR_READONLY`]: http://php.net/manual/en/phar.configuration.php#ini.phar.readonly +[`PHP_PHAR_REQUIRE_HASH`]: http://php.net/manual/en/phar.configuration.php#ini.phar.require-hash +[`PHP_PHAR_CACHE_LIST`]: http://php.net/manual/en/phar.configuration.php#ini.phar.cache-list [`PHP_ZEND_ASSERTIONS`]: http://php.net/zend.assertions [`PHP_XDEBUG_DEFAULT_ENABLE`]: https://xdebug.org/docs/all_settings [`PHP_UPLOAD_MAX_FILESIZE`]: http://php.net/upload-max-filesize From 7a47e0a9a7ff98137cdf46c81ee8366628947a7c Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 14 Sep 2018 12:28:53 +0700 Subject: [PATCH 241/559] Update PHP extensions: - patch updates: apcu 5.1.12, ds 1.2.6, igbinary 2.0.7, xdebug 2.6.0 - minor updates: mongodb 1.5.2, grpc 1.15.0 - major updates: redis 4.1.1 --- 5.6/Dockerfile | 8 ++++---- 7/Dockerfile | 14 +++++++------- README.md | 14 +++++++------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index fe178d61..35b6a24e 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -171,14 +171,14 @@ RUN set -xe; \ amqp-1.9.3 \ apcu-4.0.11 \ geoip-1.1.1 \ - grpc-1.8.5 \ - igbinary-2.0.5 \ + grpc-1.15.0 \ + igbinary-2.0.7 \ imagick-3.4.3 \ memcached-2.2.0 \ - mongodb-1.4.0 \ + mongodb-1.5.2 \ oauth-1.2.3 \ rdkafka-3.0.5 \ - redis-3.1.6 \ + redis-4.1.1 \ uploadprogress-1.0.3.1 \ xdebug-2.5.5 \ yaml-1.3.1; \ diff --git a/7/Dockerfile b/7/Dockerfile index 3351b8e3..eed9c1f8 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -176,19 +176,19 @@ RUN set -xe; \ \ pecl install \ amqp-1.9.3 \ - apcu-5.1.11 \ + apcu-5.1.12 \ ast-0.1.6 \ - ds-1.2.4 \ + ds-1.2.6 \ geoip-1.1.1 \ - grpc-1.10.0 \ - igbinary-2.0.5 \ + grpc-1.15.0 \ + igbinary-2.0.7 \ imagick-3.4.3 \ memcached-3.0.4 \ - mongodb-1.4.0 \ + mongodb-1.5.2 \ oauth-2.0.2 \ rdkafka-3.0.5 \ - redis-3.1.6 \ - xdebug-2.6.0 \ + redis-4.1.1 \ + xdebug-2.6.1 \ yaml-2.0.2; \ \ docker-php-ext-enable \ diff --git a/README.md b/README.md index f43aac1a..c530bd9a 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | ---------------- | -------- | -------- | -------- | -------- | | [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | | apc | - | - | - | - | -| [apcu] | 5.1.11 | 5.1.11 | 5.1.11 | 4.0.11 | +| [apcu] | 5.1.12 | 5.1.12 | 5.1.12 | 4.0.11 | | [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | | [blackfire] | latest | latest | latest | latest | | bcmath | | | | | @@ -231,7 +231,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | curl | | | | | | date | | | | | | dom | | | | | -| [ds] | 1.2.4 | 1.2.4 | 1.2.4 | - | +| [ds] | 1.2.6 | 1.2.6 | 1.2.6 | - | | exif | | | | | | ereg | - | - | - | | | fileinfo | | | | | @@ -239,10 +239,10 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | ftp | | | | | | gd | | | | | | [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.12.0 | 1.12.0 | 1.12.0 | - | +| [grpc] | 1.15.0 | 1.15.0 | 1.15.0 | 1.15.0 | | hash | | | | | | iconv | | | | | -| [igbinary] | 2.0.6 | 2.0.6 | 2.0.6 | 2.0.6 | +| [igbinary] | 2.0.7 | 2.0.7 | 2.0.7 | 2.0.7 | | [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | | imap | | | | | | intl | | | | | @@ -252,7 +252,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | mbstring | | | | | | mcrypt | [1.0.1] | | | | | [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | -| [mongodb] | 1.4.4 | 1.4.4 | 1.4.4 | 1.4.4 | +| [mongodb] | 1.5.2 | 1.5.2 | 1.5.2 | 1.5.2 | | mysql | - | - | - | | | mysqli | | | | | | mysqlnd | | | | | @@ -270,7 +270,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | posix | | | | | | [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | | readline | | | | | -| [redis] | 3.1.6 | 3.1.6 | 3.1.6 | 3.1.6 | +| [redis] | 4.1.1 | 4.1.1 | 4.1.1 | 4.1.1 | | Reflection | | | | | | session | | | | | | SimpleXML | | | | | @@ -284,7 +284,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | tidy | | | | | | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | -| [xdebug] | 2.6.0 | 2.6.0 | 2.6.0 | 2.5.5 | +| [xdebug] | 2.6.1 | 2.6.1 | 2.6.1 | 2.5.5 | | xml | | | | | | xmlreader | | | | | | xmlrpc | | | | | From d502aadba9de5503eff436941682fb7cdbc99fc1 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 14 Sep 2018 12:42:28 +0000 Subject: [PATCH 242/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 8e1084f6..90b6e9fd 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.10#2018-09-14T04:20:11.744445Z -7.1.22#2018-09-14T04:19:59.195892Z -7.0.32#2018-09-14T04:19:02.566049Z -5.6.38#2018-09-14T04:18:03.932648Z \ No newline at end of file +7.2.10#2018-09-14T12:20:45.360803Z +7.1.22#2018-09-14T12:19:14.645175Z +7.0.32#2018-09-14T12:18:52.293527Z +5.6.38#2018-09-14T12:17:55.194260Z \ No newline at end of file From fa3b938bab02a22236fb9c0139f33b154401245b Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 14 Sep 2018 18:46:17 +0000 Subject: [PATCH 243/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 90b6e9fd..9048810f 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.2.10#2018-09-14T12:20:45.360803Z -7.1.22#2018-09-14T12:19:14.645175Z +7.2.10#2018-09-14T13:34:53.814596Z +7.1.22#2018-09-14T13:33:50.144224Z 7.0.32#2018-09-14T12:18:52.293527Z -5.6.38#2018-09-14T12:17:55.194260Z \ No newline at end of file +5.6.38#2018-09-14T13:34:07.821270Z \ No newline at end of file From 6627d6e445907a8e1c7791349e0e91596ab882ec Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 15 Sep 2018 08:52:12 +0700 Subject: [PATCH 244/559] Update imagemagick to 7.0.8.11 from edge repository --- 5.6/Dockerfile | 12 ++++++++---- 7/Dockerfile | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 35b6a24e..a178eb9d 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -39,6 +39,8 @@ RUN set -xe; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ + echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories; \ + \ apk add --update --no-cache -t .php-rundeps \ c-client=2007f-r7 \ fcgi \ @@ -47,8 +49,11 @@ RUN set -xe; \ geoip=1.6.11-r0 \ git \ gmp=6.1.2-r1 \ + # from edge. + gnu-libiconv=1.15-r1 \ icu-libs=59.1-r1 \ - imagemagick=7.0.7.11-r1 \ + # from edge. + imagemagick=7.0.8.11-r0 \ jpegoptim=1.4.4-r0 \ less \ libbz2=1.0.6-r6 \ @@ -86,7 +91,8 @@ RUN set -xe; \ geoip-dev \ gmp-dev \ icu-dev \ - imagemagick-dev \ + # from edge. + imagemagick-dev=7.0.8.11-r0 \ imap-dev \ jpeg-dev \ libjpeg-turbo-dev \ @@ -103,8 +109,6 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ - apk add -U -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv; \ - \ # Install redis-cli. apk add --update --no-cache redis; \ mkdir -p /tmp/pkgs-bins; \ diff --git a/7/Dockerfile b/7/Dockerfile index eed9c1f8..02177e1e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -39,6 +39,8 @@ RUN set -xe; \ adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ + \ + echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories; \ \ apk add --update --no-cache -t .php-rundeps \ c-client=2007f-r7 \ @@ -48,8 +50,11 @@ RUN set -xe; \ geoip=1.6.11-r0 \ git \ gmp=6.1.2-r1 \ + # from edge. + gnu-libiconv=1.15-r1 \ icu-libs=59.1-r1 \ - imagemagick=7.0.7.11-r1 \ + # from edge. + imagemagick=7.0.8.11-r0 \ jpegoptim=1.4.4-r0 \ less \ libbz2=1.0.6-r6 \ @@ -87,7 +92,8 @@ RUN set -xe; \ geoip-dev \ gmp-dev \ icu-dev \ - imagemagick-dev \ + # from edge. + imagemagick-dev=7.0.8.11-r0 \ imap-dev \ jpeg-dev \ libjpeg-turbo-dev \ @@ -104,8 +110,6 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ - apk add -U -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv; \ - \ # Install redis-cli. apk add --update --no-cache redis; \ mv /usr/bin/redis-cli /tmp/; \ From 9c9f67bc8b28a235b49dd614f123d50a4344225b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 15 Sep 2018 09:12:12 +0700 Subject: [PATCH 245/559] Update imagemagick to 7.0.8.11 from edge repository --- 5.6/Dockerfile | 17 +++++++++-------- 7/Dockerfile | 17 +++++++++-------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index a178eb9d..eff8aa4a 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -39,7 +39,14 @@ RUN set -xe; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ - echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories; \ + apk add -U --no-cache \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ + gnu-libiconv=1.15-r1 \ + # @todo install imagemagick from stable repository once it comes with --disable-openmp option. + # @todo update purge line for imagemagick-dev. + imagemagick=7.0.8.11-r0 \ + imagemagick-dev=7.0.8.11-r0; \ \ apk add --update --no-cache -t .php-rundeps \ c-client=2007f-r7 \ @@ -49,11 +56,7 @@ RUN set -xe; \ geoip=1.6.11-r0 \ git \ gmp=6.1.2-r1 \ - # from edge. - gnu-libiconv=1.15-r1 \ icu-libs=59.1-r1 \ - # from edge. - imagemagick=7.0.8.11-r0 \ jpegoptim=1.4.4-r0 \ less \ libbz2=1.0.6-r6 \ @@ -91,8 +94,6 @@ RUN set -xe; \ geoip-dev \ gmp-dev \ icu-dev \ - # from edge. - imagemagick-dev=7.0.8.11-r0 \ imap-dev \ jpeg-dev \ libjpeg-turbo-dev \ @@ -286,7 +287,7 @@ RUN set -xe; \ # Cleanup su-exec wodby composer clear-cache; \ docker-php-source delete; \ - apk del --purge .build-deps; \ + apk del --purge .build-deps imagemagick-dev; \ pecl clear-cache; \ \ rm -rf \ diff --git a/7/Dockerfile b/7/Dockerfile index 02177e1e..d63fb972 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -40,7 +40,14 @@ RUN set -xe; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ - echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories; \ + apk add -U --no-cache \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ + gnu-libiconv=1.15-r1 \ + # @todo install imagemagick from stable repository once it comes with --disable-openmp option. + # @todo update purge line for imagemagick-dev. + imagemagick=7.0.8.11-r0 \ + imagemagick-dev=7.0.8.11-r0; \ \ apk add --update --no-cache -t .php-rundeps \ c-client=2007f-r7 \ @@ -50,11 +57,7 @@ RUN set -xe; \ geoip=1.6.11-r0 \ git \ gmp=6.1.2-r1 \ - # from edge. - gnu-libiconv=1.15-r1 \ icu-libs=59.1-r1 \ - # from edge. - imagemagick=7.0.8.11-r0 \ jpegoptim=1.4.4-r0 \ less \ libbz2=1.0.6-r6 \ @@ -92,8 +95,6 @@ RUN set -xe; \ geoip-dev \ gmp-dev \ icu-dev \ - # from edge. - imagemagick-dev=7.0.8.11-r0 \ imap-dev \ jpeg-dev \ libjpeg-turbo-dev \ @@ -301,7 +302,7 @@ RUN set -xe; \ \ su-exec wodby composer clear-cache; \ docker-php-source delete; \ - apk del --purge .build-deps; \ + apk del --purge .build-deps imagemagick-dev; \ pecl clear-cache; \ \ rm -rf \ From e0bed13f29cac52698f41465829c99d89116a07e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 15 Sep 2018 09:29:34 +0700 Subject: [PATCH 246/559] Update imagemagick to 7.0.8.11 from edge repository --- 5.6/Dockerfile | 9 ++++++--- 7/Dockerfile | 13 ++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index eff8aa4a..ea576823 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -44,9 +44,7 @@ RUN set -xe; \ -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ gnu-libiconv=1.15-r1 \ # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - # @todo update purge line for imagemagick-dev. - imagemagick=7.0.8.11-r0 \ - imagemagick-dev=7.0.8.11-r0; \ + imagemagick=7.0.8.11-r0; \ \ apk add --update --no-cache -t .php-rundeps \ c-client=2007f-r7 \ @@ -85,6 +83,11 @@ RUN set -xe; \ tmux \ yaml=0.1.7-r0; \ \ + apk add -U --no-cache -t .edge-build-deps \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ + # @todo install imagemagick from stable repository once it comes with --disable-openmp option. + imagemagick=7.0.8.11-r0; \ + \ apk add --update --no-cache -t .build-deps \ autoconf \ cmake \ diff --git a/7/Dockerfile b/7/Dockerfile index d63fb972..75476487 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -40,14 +40,12 @@ RUN set -xe; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ - apk add -U --no-cache \ + apk add -U --no-cache -t .php-edge-rundeps \ -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ gnu-libiconv=1.15-r1 \ # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - # @todo update purge line for imagemagick-dev. - imagemagick=7.0.8.11-r0 \ - imagemagick-dev=7.0.8.11-r0; \ + imagemagick=7.0.8.11-r0; \ \ apk add --update --no-cache -t .php-rundeps \ c-client=2007f-r7 \ @@ -86,6 +84,11 @@ RUN set -xe; \ tmux \ yaml=0.1.7-r0; \ \ + apk add -U --no-cache -t .edge-build-deps \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ + # @todo install imagemagick from stable repository once it comes with --disable-openmp option. + imagemagick=7.0.8.11-r0; \ + \ apk add --update --no-cache -t .build-deps \ autoconf \ cmake \ @@ -302,7 +305,7 @@ RUN set -xe; \ \ su-exec wodby composer clear-cache; \ docker-php-source delete; \ - apk del --purge .build-deps imagemagick-dev; \ + apk del --purge .build-deps .edge-build-deps; \ pecl clear-cache; \ \ rm -rf \ From 297dcf9d85504661cbe6ee3271aaf3c860fc8799 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 15 Sep 2018 10:00:49 +0700 Subject: [PATCH 247/559] Update imagemagick to 7.0.8.11 from edge repository --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index ea576823..0666ad2f 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -86,7 +86,7 @@ RUN set -xe; \ apk add -U --no-cache -t .edge-build-deps \ -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - imagemagick=7.0.8.11-r0; \ + imagemagick-dev=7.0.8.11-r0; \ \ apk add --update --no-cache -t .build-deps \ autoconf \ diff --git a/7/Dockerfile b/7/Dockerfile index 75476487..af3f23f0 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -87,7 +87,7 @@ RUN set -xe; \ apk add -U --no-cache -t .edge-build-deps \ -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - imagemagick=7.0.8.11-r0; \ + imagemagick-dev=7.0.8.11-r0; \ \ apk add --update --no-cache -t .build-deps \ autoconf \ From 9a55271d7737fabd64144e8e50915491c1d90856 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 15 Sep 2018 12:09:09 +0700 Subject: [PATCH 248/559] Install imagemagick 7.0.8.11, freetype 2.9.1-r2 from edge repository --- 7/Dockerfile | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index af3f23f0..97da3025 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -40,18 +40,10 @@ RUN set -xe; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ - apk add -U --no-cache -t .php-edge-rundeps \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ - gnu-libiconv=1.15-r1 \ - # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - imagemagick=7.0.8.11-r0; \ - \ apk add --update --no-cache -t .php-rundeps \ c-client=2007f-r7 \ fcgi \ findutils \ - freetype=2.8.1-r3 \ geoip=1.6.11-r0 \ git \ gmp=6.1.2-r1 \ @@ -84,17 +76,11 @@ RUN set -xe; \ tmux \ yaml=0.1.7-r0; \ \ - apk add -U --no-cache -t .edge-build-deps \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ - # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - imagemagick-dev=7.0.8.11-r0; \ - \ apk add --update --no-cache -t .build-deps \ autoconf \ cmake \ build-base \ bzip2-dev \ - freetype-dev \ geoip-dev \ gmp-dev \ icu-dev \ @@ -114,6 +100,22 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ + apk add -U --no-cache -t .php-edge-rundeps \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ + freetype=2.9.1-r2 \ + gnu-libiconv=1.15-r1 \ + # @todo install imagemagick from stable repository once it comes with --disable-openmp option. + imagemagick=7.0.8.11-r0; \ + \ + apk add -U --no-cache -t .edge-build-deps \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ + # @todo install imagemagick from stable repository once it comes with --disable-openmp option. + freetype-dev=2.9.1-r2 \ + imagemagick-dev=7.0.8.11-r0; \ + \ # Install redis-cli. apk add --update --no-cache redis; \ mv /usr/bin/redis-cli /tmp/; \ From ad28c4de0343d17d5d1dc7bf4937b658d58a4cd1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 15 Sep 2018 12:09:22 +0700 Subject: [PATCH 249/559] Bugfix: tideways extension wasn't enabled --- 7/templates/docker-php-ext-tideways.ini.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/templates/docker-php-ext-tideways.ini.tmpl b/7/templates/docker-php-ext-tideways.ini.tmpl index d730e403..1a38c783 100644 --- a/7/templates/docker-php-ext-tideways.ini.tmpl +++ b/7/templates/docker-php-ext-tideways.ini.tmpl @@ -1,4 +1,4 @@ {{ if getenv "PHP_XHPROF" }} [xhprof] -extension = tideways.so +extension = tideways_xhprof.so {{ end }} \ No newline at end of file From 19cf3d00b6fa12f262a400a59a2b02e5b466efd6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 15 Sep 2018 13:24:06 +0700 Subject: [PATCH 250/559] Install imagemagick 7.0.8.11, freetype 2.9.1-r2 from edge repository --- 5.6/Dockerfile | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 0666ad2f..bb5a7ee1 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -39,18 +39,10 @@ RUN set -xe; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ - apk add -U --no-cache \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ - gnu-libiconv=1.15-r1 \ - # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - imagemagick=7.0.8.11-r0; \ - \ apk add --update --no-cache -t .php-rundeps \ c-client=2007f-r7 \ fcgi \ findutils \ - freetype=2.8.1-r3 \ geoip=1.6.11-r0 \ git \ gmp=6.1.2-r1 \ @@ -83,17 +75,11 @@ RUN set -xe; \ tmux \ yaml=0.1.7-r0; \ \ - apk add -U --no-cache -t .edge-build-deps \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ - # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - imagemagick-dev=7.0.8.11-r0; \ - \ apk add --update --no-cache -t .build-deps \ autoconf \ cmake \ build-base \ bzip2-dev \ - freetype-dev \ geoip-dev \ gmp-dev \ icu-dev \ @@ -113,6 +99,22 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ + apk add -U --no-cache -t .php-edge-rundeps \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ + freetype=2.9.1-r2 \ + gnu-libiconv=1.15-r1 \ + # @todo install imagemagick from stable repository once it comes with --disable-openmp option. + imagemagick=7.0.8.11-r0; \ + \ + apk add -U --no-cache -t .edge-build-deps \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ + # @todo install imagemagick from stable repository once it comes with --disable-openmp option. + freetype-dev=2.9.1-r2 \ + imagemagick-dev=7.0.8.11-r0; \ + \ # Install redis-cli. apk add --update --no-cache redis; \ mkdir -p /tmp/pkgs-bins; \ From 0ac0290bcdb21c8a0b0f02bade156f292bd5e210 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 15 Sep 2018 09:20:00 +0000 Subject: [PATCH 251/559] Rebuild against updated base image --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 9048810f..3213f6d7 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.2.10#2018-09-14T13:34:53.814596Z 7.1.22#2018-09-14T13:33:50.144224Z -7.0.32#2018-09-14T12:18:52.293527Z +7.0.32#2018-09-15T01:35:18.542659Z 5.6.38#2018-09-14T13:34:07.821270Z \ No newline at end of file From 2d5c47796f3f209a9d30050b9a2496c755730d64 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 25 Sep 2018 16:37:01 +0700 Subject: [PATCH 252/559] Rebase to Alpine 3.8 / Drop PHP 5.6, 7.0 --- .base-php | 1 - .travis.yml | 8 - 5.3/.dockerignore | 4 - 5.3/Dockerfile | 288 --- 5.3/Makefile | 79 - 5.3/bin/actions.mk | 48 - 5.3/bin/files_chmod | 16 - 5.3/bin/files_chown | 16 - 5.3/bin/files_import | 23 - 5.3/bin/files_link | 35 - 5.3/bin/files_sync | 19 - 5.3/bin/git_checkout | 19 - 5.3/bin/git_clone | 16 - 5.3/bin/init_container | 42 - 5.3/bin/migrate | 17 - 5.3/check-configs.sh | 41 - 5.3/docker-entrypoint.sh | 93 - 5.3/orig/php-5.3.ini-development | 1918 ----------------- 5.3/orig/php-5.3.ini-production | 1918 ----------------- 5.3/templates/authorized_keys.tmpl | 2 - 5.3/templates/crontab.tmpl | 1 - 5.3/templates/docker-php-ext-opcache.ini.tmpl | 10 - 5.3/templates/docker-php-ext-xdebug.ini.tmpl | 12 - 5.3/templates/docker-php.ini.tmpl | 66 - 5.3/templates/env.tmpl | 2 - 5.3/templates/id_rsa.tmpl | 1 - 5.3/templates/ssh_config.tmpl | 55 - 5.3/templates/sshd_config.tmpl | 121 -- 5.3/templates/zz-www.conf.tmpl | 48 - 5.3/tests/authorized_keys | 1 - 5.3/tests/crontab | 2 - 5.3/tests/docker-compose.yml | 36 - 5.3/tests/id_rsa | 51 - 5.3/tests/php_modules | 70 - 5.3/tests/run.sh | 74 - 5.3/tests/tests.sh | 29 - 5.6/Dockerfile | 28 +- 7/Dockerfile | 37 +- 7/orig/php-7.0.ini-development | 1918 ----------------- 7/orig/php-7.0.ini-production | 1918 ----------------- 7/templates/docker-php-7.0.ini.tmpl | 70 - .../docker-php-ext-opcache-7.0.ini.tmpl | 10 - 7/tests/php_modules/7.0 | 80 - README.md | 361 ++-- 44 files changed, 204 insertions(+), 9400 deletions(-) delete mode 100644 5.3/.dockerignore delete mode 100644 5.3/Dockerfile delete mode 100644 5.3/Makefile delete mode 100644 5.3/bin/actions.mk delete mode 100755 5.3/bin/files_chmod delete mode 100755 5.3/bin/files_chown delete mode 100755 5.3/bin/files_import delete mode 100755 5.3/bin/files_link delete mode 100755 5.3/bin/files_sync delete mode 100755 5.3/bin/git_checkout delete mode 100755 5.3/bin/git_clone delete mode 100755 5.3/bin/init_container delete mode 100755 5.3/bin/migrate delete mode 100755 5.3/check-configs.sh delete mode 100755 5.3/docker-entrypoint.sh delete mode 100644 5.3/orig/php-5.3.ini-development delete mode 100644 5.3/orig/php-5.3.ini-production delete mode 100644 5.3/templates/authorized_keys.tmpl delete mode 100644 5.3/templates/crontab.tmpl delete mode 100644 5.3/templates/docker-php-ext-opcache.ini.tmpl delete mode 100644 5.3/templates/docker-php-ext-xdebug.ini.tmpl delete mode 100644 5.3/templates/docker-php.ini.tmpl delete mode 100644 5.3/templates/env.tmpl delete mode 100644 5.3/templates/id_rsa.tmpl delete mode 100644 5.3/templates/ssh_config.tmpl delete mode 100644 5.3/templates/sshd_config.tmpl delete mode 100644 5.3/templates/zz-www.conf.tmpl delete mode 100644 5.3/tests/authorized_keys delete mode 100644 5.3/tests/crontab delete mode 100644 5.3/tests/docker-compose.yml delete mode 100644 5.3/tests/id_rsa delete mode 100644 5.3/tests/php_modules delete mode 100755 5.3/tests/run.sh delete mode 100755 5.3/tests/tests.sh delete mode 100644 7/orig/php-7.0.ini-development delete mode 100644 7/orig/php-7.0.ini-production delete mode 100644 7/templates/docker-php-7.0.ini.tmpl delete mode 100644 7/templates/docker-php-ext-opcache-7.0.ini.tmpl delete mode 100644 7/tests/php_modules/7.0 diff --git a/.base-php b/.base-php index 3213f6d7..f29fe6e7 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,3 @@ 7.2.10#2018-09-14T13:34:53.814596Z 7.1.22#2018-09-14T13:33:50.144224Z -7.0.32#2018-09-15T01:35:18.542659Z 5.6.38#2018-09-14T13:34:07.821270Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 07352347..617e6a98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,25 +7,17 @@ env: global: - PHP72=7.2.10 - PHP71=7.1.22 - - PHP70=7.0.32 - PHP56=5.6.38 - - PHP53=5.3.29 matrix: - PHP_VER="${PHP72}" TAGS=7.2,7,latest - PHP_VER="${PHP71}" TAGS=7.1 - - PHP_VER="${PHP70}" TAGS=7.0 - PHP_VER="${PHP56}" TAGS=5.6,5 - - PHP_VER="${PHP53}" TAGS=5.3 - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev,7-dev - PHP_VER="${PHP71}" PHP_DEV=1 TAGS=7.1-dev - - PHP_VER="${PHP70}" PHP_DEV=1 TAGS=7.0-dev - PHP_VER="${PHP56}" PHP_DEV=1 TAGS=5.6-dev,5-dev - - PHP_VER="${PHP53}" PHP_DEV=1 TAGS=5.3-dev - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos,7-dev-macos - PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.1-dev-macos - - PHP_VER="${PHP70}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.0-dev-macos - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos - - PHP_VER="${PHP53}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.3-dev-macos script: - set -e diff --git a/5.3/.dockerignore b/5.3/.dockerignore deleted file mode 100644 index 4cd0d8b6..00000000 --- a/5.3/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -tests -Makefile -check-configs.sh -orig \ No newline at end of file diff --git a/5.3/Dockerfile b/5.3/Dockerfile deleted file mode 100644 index abbe7c06..00000000 --- a/5.3/Dockerfile +++ /dev/null @@ -1,288 +0,0 @@ -ARG FROM_TAG - -FROM wodby/base-php:${FROM_TAG} - -ARG PHP_DEV - -ARG WODBY_USER_ID=1000 -ARG WODBY_GROUP_ID=1000 - -ENV PHP_DEV="${PHP_DEV}" \ - SSHD_PERMIT_USER_ENV="yes" \ - WALTER_VER="1.3.0" \ - \ - APP_ROOT="/var/www/html" \ - CONF_DIR="/var/www/conf" \ - FILES_DIR="/mnt/files" - -ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin" \ - SSHD_HOST_KEYS_DIR="/etc/ssh" \ - ENV="/home/wodby/.shrc" \ - \ - GIT_USER_EMAIL="wodby@example.com" \ - GIT_USER_NAME="wodby" \ - \ - LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" - -RUN set -xe; \ - \ - # Delete existing user/group if uid/gid occupied. - existing_group=$(getent group "${WODBY_GROUP_ID}" | cut -d: -f1); \ - if [[ -n "${existing_group}" ]]; then delgroup "${existing_group}"; fi; \ - existing_user=$(getent passwd "${WODBY_USER_ID}" | cut -d: -f1); \ - if [[ -n "${existing_user}" ]]; then deluser "${existing_user}"; fi; \ - \ - addgroup -g "${WODBY_GROUP_ID}" -S wodby; \ - adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ - adduser wodby www-data; \ - sed -i '/^wodby/s/!/*/' /etc/shadow; \ - \ - apk add --update --no-cache -t .php-rundeps \ - bzip2 \ - c-client \ - fcgi \ - findutils \ - freetype \ - git \ - icu-libs \ - imap \ - less \ - libbz2 \ - libjpeg-turbo \ - libjpeg-turbo-utils \ - libltdl \ - libmemcached-libs \ - libmcrypt \ - libpng \ - libxslt \ - make \ - mariadb-client \ - mariadb-client-libs \ - nano \ - openssh \ - openssh-client \ - openssl \ - patch \ - postgresql-client \ - rsync \ - su-exec \ - sudo \ - tig \ - tmux \ - yaml; \ - \ - apk add --update --no-cache -t .build-deps \ - autoconf \ - cmake \ - build-base \ - bzip2-dev \ - freetype-dev \ - icu-dev \ - imap-dev \ - jpeg-dev \ - libjpeg-turbo-dev \ - libmemcached-dev \ - libmcrypt-dev \ - libpng-dev \ - libtool \ - libxslt-dev \ - mariadb-dev \ - openldap-dev \ - pcre-dev \ - postgresql-dev \ - yaml-dev; \ - \ - apk add -U -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted gnu-libiconv; \ - \ - # Temporary install additional packages to keep client bins. - apk add --update --no-cache -t .bins-only \ - postgresql \ - redis; \ - mkdir -p /tmp/pkgs-bins; \ - mv \ - /usr/bin/pg_basebackup \ - /usr/bin/clusterdb \ - /usr/bin/pg_dump \ - /usr/bin/dropuser \ - /usr/bin/pg_isready \ - /usr/bin/createuser \ - /usr/bin/pg_recvlogical \ - /usr/bin/psql \ - /usr/bin/reindexdb \ - /usr/bin/vacuumdb \ - /usr/bin/pg_dumpall \ - /usr/bin/createdb \ - /usr/bin/pg_restore \ - /usr/bin/dropdb \ - /usr/bin/redis-cli \ - /tmp/pkgs-bins; \ - apk del --purge .bins-only; \ - mv /tmp/pkgs-bins/* /usr/bin; \ - \ - docker-php-source extract; \ - \ - docker-php-ext-install \ - bcmath \ - bz2 \ - calendar \ - exif \ - imap \ - intl \ - ldap \ - mcrypt \ - mysql \ - mysqli \ - pcntl \ - pdo_mysql \ - pdo_pgsql \ - pgsql \ - soap \ - sockets \ - xmlrpc \ - xsl \ - zip; \ - \ - # GD - docker-php-ext-configure gd \ - --with-gd \ - --with-freetype-dir=/usr/include/ \ - --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/; \ - NPROC=$(getconf _NPROCESSORS_ONLN); \ - docker-php-ext-install -j${NPROC} gd; \ - \ - # RabbitMQ C client - rmq_url="https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz"; \ - wget -qO- "${rmq_url}" | tar xz -C /tmp/; \ - cd /tmp/rabbitmq-c-*; \ - mkdir -p build && cd build; \ - cmake .. \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_C_FLAGS="${CFLAGS}"; \ - cmake --build . --target install; \ - \ - # PECL extensions - pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ - \ - # No imagick ext because of a bug in imagemagick library. - pecl install \ - amqp-1.8.0 \ - apcu-4.0.11 \ - memcached-2.2.0 \ - mongo-1.6.16 \ - oauth-1.2.3 \ - uploadprogress-1.0.3.1 \ - xdebug-2.2.7 \ - yaml-1.3.1 \ - ZendOpcache-7.0.5; \ - \ - docker-php-ext-enable \ - amqp \ - apcu \ - memcached \ - mongo \ - oauth \ - opcache \ - uploadprogress \ - xdebug \ - yaml; \ - \ - # Install composer - wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ - \ - # Install Walter tool - walter_url="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz"; \ - wget -qO- "${walter_url}" | tar xz -C /tmp/; \ - mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ - \ - { \ - echo 'export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ "'; \ - # Make sure PATH is the same for ssh sessions. - echo "export PATH=${PATH}"; \ - } | tee /home/wodby/.shrc; \ - \ - # Make sure bash uses the same settings as ash. - cp /home/wodby/.shrc /home/wodby/.bashrc; \ - cp /home/wodby/.shrc /home/wodby/.bash_profile; \ - \ - # Configure sudoers - { \ - echo 'Defaults env_keep += "APP_ROOT FILES_DIR"' ; \ - \ - if [[ -n "${PHP_DEV}" ]]; then \ - echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL'; \ - else \ - echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/bin/files_chmod, ' ; \ - echo -n '/usr/local/bin/files_chown, ' ; \ - echo -n '/usr/local/bin/files_sync, ' ; \ - echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ - echo -n '/usr/local/bin/init_container, ' ; \ - echo -n '/usr/local/bin/migrate, ' ; \ - echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/sbin/sshd, ' ; \ - echo '/usr/sbin/crond' ; \ - fi; \ - } | tee /etc/sudoers.d/wodby; \ - \ - # Configure ldap - echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ - \ - install -o wodby -g wodby -d \ - "${APP_ROOT}" \ - "${CONF_DIR}" \ - /home/wodby/.ssh; \ - \ - install -o www-data -g www-data -d \ - "${FILES_DIR}/public" \ - "${FILES_DIR}/private" \ - "${FILES_DIR}/xdebug/traces" \ - "${FILES_DIR}/xdebug/profiler" \ - /home/www-data/.ssh; \ - \ - chmod -R 775 "${FILES_DIR}"; \ - chown -R wodby:wodby \ - "${PHP_INI_DIR}/conf.d" \ - /usr/local/etc/php-fpm.d \ - /home/wodby/.*; \ - \ - # SSHD - touch /etc/ssh/sshd_config; \ - chown wodby: /etc/ssh/sshd_config; \ - \ - # Crontab - rm /etc/crontabs/root; \ - # deprecated: remove in favor of bind mounts. - touch /etc/crontabs/www-data; \ - chown root:www-data /etc/crontabs/www-data; \ - chmod 660 /etc/crontabs/www-data; \ - \ - # Cleanup - su-exec wodby composer clear-cache; \ - docker-php-source delete; \ - apk del --purge .build-deps; \ - pecl clear-cache; \ - \ - rm -rf \ - /usr/include/php \ - /usr/lib/php/build \ - /tmp/* \ - /root/.composer \ - /var/cache/apk/*; \ - \ - if [[ -z "${PHP_DEV}" ]]; then \ - rm -rf /usr/src/php.tar.xz; \ - fi - -USER wodby - -WORKDIR ${APP_ROOT} -EXPOSE 9000 - -COPY templates /etc/gotpl/ -COPY docker-entrypoint.sh / -COPY bin /usr/local/bin/ - -ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["sudo", "-E", "LD_PRELOAD=/usr/lib/preloadable_libiconv.so", "php-fpm"] diff --git a/5.3/Makefile b/5.3/Makefile deleted file mode 100644 index ab72b05f..00000000 --- a/5.3/Makefile +++ /dev/null @@ -1,79 +0,0 @@ --include env_make - -PHP_VER ?= 5.3.29 -PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') - -REPO = wodby/php -NAME = php-$(PHP_VER_MINOR) -FROM_TAG = $(PHP_VER) - -WODBY_USER_ID ?= 1000 -WODBY_GROUP_ID ?= 1000 - -ifeq ($(TAG),) - ifneq ($(PHP_DEBUG),) - TAG ?= $(PHP_VER_MINOR)-debug - else ifneq ($(PHP_DEV),) - TAG ?= $(PHP_VER_MINOR)-dev - else - TAG ?= $(PHP_VER_MINOR) - endif -endif - -ifneq ($(PHP_DEV),) - NAME := $(NAME)-dev -endif - -ifneq ($(PHP_DEBUG),) - NAME := $(NAME)-debug - FROM_TAG := $(FROM_TAG)-debug - PHP_DEV := 1 -endif - -ifneq ($(STABILITY_TAG),) - ifneq ($(TAG),latest) - override TAG := $(TAG)-$(STABILITY_TAG) - endif -endif - -.PHONY: build test push shell run start stop logs clean release - -default: build - -build: - docker build -t $(REPO):$(TAG) \ - --build-arg FROM_TAG=$(FROM_TAG) \ - --build-arg PHP_DEV=$(PHP_DEV) \ - --build-arg PHP_DEBUG=$(PHP_DEBUG) \ - --build-arg WODBY_USER_ID=$(WODBY_USER_ID) \ - --build-arg WODBY_GROUP_ID=$(WODBY_GROUP_ID) \ - ./ - -test: - cd ./tests && IMAGE=$(REPO):$(TAG) ./run.sh - -push: - docker push $(REPO):$(TAG) - -shell: - docker run --rm --name $(NAME) -i -t $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) /bin/bash - -run: - docker run --rm --name $(NAME) $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) $(CMD) - -start: - docker run -d --name $(NAME) $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) - -stop: - docker stop $(NAME) - -logs: - docker logs $(NAME) - -clean: - -docker rm -f $(NAME) - -check-configs: - ./check-configs.sh $(PHP_VER) $(PHP_VER_MINOR) - -release: build push diff --git a/5.3/bin/actions.mk b/5.3/bin/actions.mk deleted file mode 100644 index a0ababda..00000000 --- a/5.3/bin/actions.mk +++ /dev/null @@ -1,48 +0,0 @@ -.PHONY: migrate git-clone git-checkout files-import files-link walter check-ready check-live - -check_defined = \ - $(strip $(foreach 1,$1, \ - $(call __check_defined,$1,$(strip $(value 2))))) -__check_defined = \ - $(if $(value $1),, \ - $(error Required parameter is missing: $1$(if $2, ($2)))) - -host ?= localhost -max_try ?= 1 -wait_seconds ?= 1 -delay_seconds ?= 0 -is_hash ?= 0 -branch = "" -# Some symbols in env vars break cgi-fcgi -command ?= env -i SCRIPT_NAME="/ping" SCRIPT_FILENAME="/ping" REQUEST_METHOD=GET cgi-fcgi -bind -connect "${host}":9001 | grep -q "pong" -service = PHP-FPM - -default: check-ready - -migrate: - sudo migrate $(from) $(to) - -git-clone: - $(call check_defined, url) - git_clone $(url) $(branch) - -git-checkout: - $(call check_defined, target) - git_checkout $(target) $(is_hash) - -files-import: - $(call check_defined, source) - files_import $(source) - -files-link: - $(call check_defined, public_dir) - files_link $(public_dir) - -walter: - test ! -f "$(APP_ROOT)/wodby.yml" || walter -c "$(APP_ROOT)/wodby.yml" - -check-ready: - wait_for "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) - -check-live: - @echo "OK" diff --git a/5.3/bin/files_chmod b/5.3/bin/files_chmod deleted file mode 100755 index f62a05e6..00000000 --- a/5.3/bin/files_chmod +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -dir=$1 - -if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then - chmod -R ug=rwX,o=rX "${dir}" -else - echo "Only dir/files under ${FILES_DIR} allowed" - exit 1 -fi diff --git a/5.3/bin/files_chown b/5.3/bin/files_chown deleted file mode 100755 index c99b147c..00000000 --- a/5.3/bin/files_chown +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -dir=$1 - -if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then - chown -R www-data:www-data "${dir}" -else - echo "Only dir/files under ${FILES_DIR} allowed" - exit 1 -fi diff --git a/5.3/bin/files_import b/5.3/bin/files_import deleted file mode 100755 index faf188e8..00000000 --- a/5.3/bin/files_import +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -source=$1 -tmp_dir="/tmp/source" - -get_archive "${source}" "${tmp_dir}" "zip tgz tar.gz tar" - -# TODO: allow top level dir import only for wodby archives. -if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then - echo "Wodby backup archive detected. Importing to top directory" - sudo files_sync "${tmp_dir}/" "${FILES_DIR}" -else - echo "Importing files to public directory" - sudo files_sync "${tmp_dir}/" "${FILES_DIR}/public/" -fi - -rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.3/bin/files_link b/5.3/bin/files_link deleted file mode 100755 index 548da8e9..00000000 --- a/5.3/bin/files_link +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -app_public_dir=$1 - -# Add symlink from persistent files volume to application's storage public dir. -if [[ -n "${app_public_dir}" ]]; then - echo "Application's public storage dir specified, trying to symlink from files persistent volume" - - if [[ -d "${app_public_dir}" ]]; then - if [[ ! -L "${app_public_dir}" ]]; then - if [[ "$(ls -A "${app_public_dir}")" ]]; then - echo "Error: failed to symlink public storage directory to a persistent volume" - echo "Directory ${app_public_dir} must not exists or be empty" - echo "(use files import to migrate existing public files)" - exit 1 - # If dir is not symlink and empty, remove it and link. - else - echo "Empty public storage dir detected: removing and symlinking" - rm -rf "${app_public_dir}" - ln -sf "${FILES_DIR}/public" "${app_public_dir}" - fi - else - echo "Symlink already in place" - fi - else - echo "No public storage dir detected: just symlinking" - ln -sf "${FILES_DIR}/public" "${app_public_dir}" - fi -fi diff --git a/5.3/bin/files_sync b/5.3/bin/files_sync deleted file mode 100755 index c54ad257..00000000 --- a/5.3/bin/files_sync +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -from=$1 -to=$2 - -if [[ "${to}" == "${FILES_DIR}" || "${to}" =~ ^"${FILES_DIR}/" ]]; then - rsync -rltpog --chown=www-data:www-data "${from}" "${to}" - # Ensure files volume permissions are still correct. - init_container -else - echo "Invalid destination. Must be under ${FILES_DIR}" - exit 1 -fi diff --git a/5.3/bin/git_checkout b/5.3/bin/git_checkout deleted file mode 100755 index a3f6865e..00000000 --- a/5.3/bin/git_checkout +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -target=$1 -is_hash=$2 - -cd "${APP_ROOT}" -git stash -git fetch --all -git checkout "${target}" - -if [[ "${is_hash}" -eq '0' ]]; then - git pull origin "${target}" -fi diff --git a/5.3/bin/git_clone b/5.3/bin/git_clone deleted file mode 100755 index 63cbf83d..00000000 --- a/5.3/bin/git_clone +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -url=$1 -branch=$2 - -if [[ -n "${branch}" ]]; then - git clone -b "${branch}" "${url}" "${APP_ROOT}" -else - git clone "${url}" "${APP_ROOT}" -fi diff --git a/5.3/bin/init_container b/5.3/bin/init_container deleted file mode 100755 index 79a8dbfa..00000000 --- a/5.3/bin/init_container +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -chown wodby:wodby "${APP_ROOT}" - -declare -a dirs=( - "${FILES_DIR}" - "${FILES_DIR}/private" - "${FILES_DIR}/public" - "${FILES_DIR}/xdebug/profiler" - "${FILES_DIR}/xdebug/traces" -) - -if [[ -n $1 && $1 =~ ^"${FILES_DIR}/" ]]; then - dirs+=($1) -fi - -for dir in "${dirs[@]}"; do - mkdir -p "${dir}" - chown www-data:www-data "${dir}" - chmod 775 "${dir}" -done - -if [[ -f /etc/crontabs/www-data && -z "${CRONTAB}" ]]; then - chown root:www-data /etc/crontabs/www-data - chmod 660 /etc/crontabs/www-data -fi - -if [[ -f /home/wodby/.ssh/id_rsa ]]; then - chown wodby:wodby /home/wodby/.ssh/id_rsa - chmod 600 /home/wodby/.ssh/id_rsa -fi - -if [[ -f /home/wodby/.ssh/authorized_keys ]]; then - chown wodby:wodby /home/wodby/.ssh/authorized_keys - chmod 600 /home/wodby/.ssh/authorized_keys -fi diff --git a/5.3/bin/migrate b/5.3/bin/migrate deleted file mode 100755 index 91548f4d..00000000 --- a/5.3/bin/migrate +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -from="${1:-}" -to="${2:-}" - -# Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. -if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then - echo "Migrating to a new major 5.x version." - echo "Fixing permissions for codebase volume except symlinks (public files dir)" - find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + -fi diff --git a/5.3/check-configs.sh b/5.3/check-configs.sh deleted file mode 100755 index 9557cd9d..00000000 --- a/5.3/check-configs.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -php_ver=$1 -php_ver_minor=$2 - -url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" - -array=( - "./orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" - "./orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" -) - -outdated=0 - -for index in "${array[@]}" ; do - local="${index%%::*}" - url="${index##*::}" - - orig="/tmp/${RANDOM}" - wget -qO "${orig}" "${url}" - - echo "Checking ${local}" - - if diff --strip-trailing-cr "${local}" "${orig}"; then - echo "OK" - else - echo "!!! OUTDATED" - echo "${url}" - outdated=1 - fi - - rm -f "${orig}" -done - -[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file diff --git a/5.3/docker-entrypoint.sh b/5.3/docker-entrypoint.sh deleted file mode 100755 index 9c6ae932..00000000 --- a/5.3/docker-entrypoint.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -ssh_dir=/home/wodby/.ssh - -_gotpl() { - if [[ -f "/etc/gotpl/$1" ]]; then - gotpl "/etc/gotpl/$1" > "$2" - fi -} - -# @deprecated will be removed in favor of bind mounts (config maps). -init_ssh_client() { - if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - _gotpl "id_rsa.tmpl" "${ssh_dir}/id_rsa" - chmod -f 600 "${ssh_dir}/id_rsa" - unset SSH_PRIVATE_KEY - fi -} - -init_sshd() { - _gotpl "sshd_config.tmpl" "/etc/ssh/sshd_config" - - # @deprecated will be removed in favor of bind mounts (config maps). - if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - _gotpl "authorized_keys.tmpl" "${ssh_dir}/authorized_keys" - unset SSH_PUBLIC_KEYS - fi - - printenv | xargs -I{} echo {} | awk ' \ - BEGIN { FS = "=" }; { \ - if ($1 != "HOME" \ - && $1 != "PWD" \ - && $1 != "PATH" \ - && $1 != "SHLVL") { \ - \ - print ""$1"="$2"" \ - } \ - }' > "${ssh_dir}/environment" - - sudo gen_ssh_keys "rsa" "${SSHD_HOST_KEYS_DIR}" -} - -# @deprecated will be removed in favor of bind mounts (config maps). -init_crond() { - if [[ -n "${CRONTAB}" ]]; then - _gotpl "crontab.tmpl" "/etc/crontabs/www-data" - fi -} - -process_templates() { - if [[ -n "${PHP_DEV}" ]]; then - export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" - fi - - _gotpl "docker-php.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - _gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" - - _gotpl "ssh_config.tmpl" "${ssh_dir}/config" -} - -init_git() { - git config --global user.email "${GIT_USER_EMAIL}" - git config --global user.name "${GIT_USER_NAME}" -} - -sudo init_container - -init_ssh_client -init_git -process_templates - -if [[ "${@:1:2}" == "sudo /usr/sbin/sshd" ]]; then - init_sshd -elif [[ "${@:1:3}" == "sudo -E crond" ]]; then - init_crond -fi - -exec_init_scripts - -if [[ "${1}" == "make" ]]; then - exec "${@}" -f /usr/local/bin/actions.mk -else - exec /usr/local/bin/docker-php-entrypoint "${@}" -fi diff --git a/5.3/orig/php-5.3.ini-development b/5.3/orig/php-5.3.ini-development deleted file mode 100644 index d1fa7a35..00000000 --- a/5.3/orig/php-5.3.ini-development +++ /dev/null @@ -1,1918 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it's -; much more verbose when it comes to errors. We recommending using the -; development version only in development environments as errors shown to -; application users can inadvertently leak otherwise secure information. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; allow_call_time_pass_reference -; Default Value: On -; Development Value: Off -; Production Value: Off - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED - -; html_errors -; Default Value: On -; Development Value: On -; Production value: Off - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; magic_quotes_gpc -; Default Value: On -; Development Value: Off -; Production Value: Off - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; register_long_arrays -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.bug_compat_42 -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.bug_compat_warn -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It's been -; recommended for several years that you not use the short tag "short cut" and -; instead to use the full tag combination. With the wide spread use -; of XML and use of these tags by other languages, the server can become easily -; confused and end up parsing the wrong code in the wrong context. But because -; this short cut has been a feature for such a long time, it's currently still -; supported for backwards compatibility, but we recommend you don't use them. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/short-open-tag -short_open_tag = Off - -; Allow ASP-style <% %> tags. -; http://php.net/asp-tags -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -; http://php.net/precision -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -; http://php.net/y2k-compliance -y2k_compliance = On - -; Output buffering is a mechanism for controlling how much output data -; (excluding headers and cookies) PHP should keep internally before pushing that -; data to the client. If your application's output exceeds this setting, PHP -; will send that data in chunks of roughly the size you specify. -; Turning on this setting and managing its maximum buffer size can yield some -; interesting side-effects depending on your application and web server. -; You may be able to send headers and cookies after you've already sent output -; through print or echo. You also may see performance benefits if your server is -; emitting less packets due to buffered output versus PHP streaming the output -; as it gets it. On production servers, 4096 bytes is a good setting for performance -; reasons. -; Note: Output buffering can also be controlled via Output Buffering Control -; functions. -; Possible Values: -; On = Enabled and buffer is unlimited. (Use with caution) -; Off = Disabled -; Integer = Enables the buffer and sets its maximum size in bytes. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 -; http://php.net/output-buffering -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -; http://php.net/output-handler -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression -zlib.output_compression = Off - -; http://php.net/zlib.output-compression-level -;zlib.output_compression_level = -1 - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -; http://php.net/zlib.output-handler -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush -; Note: This directive is hardcoded to On for the CLI SAPI -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. A warning appears if the specified function is -; not defined, or if the function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func = - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 17 - -; This directive allows you to enable and disable warnings which PHP will issue -; if you pass a value by reference at function call time. Passing values by -; reference at function call time is a deprecated feature which will be removed -; from PHP at some point in the near future. The acceptable method for passing a -; value by reference to a function is by declaring the reference in the functions -; definition, not at call time. This directive does not disable this feature, it -; only determines whether PHP will warn you about it or not. These warnings -; should enabled in development environments only. -; Default Value: On (Suppress warnings) -; Development Value: Off (Issue warnings) -; Production Value: Off (Issue warnings) -; http://php.net/allow-call-time-pass-reference -allow_call_time_pass_reference = Off - -; Safe Mode -; http://php.net/safe-mode -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -; http://php.net/safe-mode-gid -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -; http://php.net/safe-mode-include-dir -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -; http://php.net/safe-mode-exec-dir -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -; http://php.net/safe-mode-allowed-env-vars -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -; http://php.net/safe-mode-protected-env-vars -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-classes -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.bg = #FFFFFF -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc -zend.enable_gc = On - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) -; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED -; http://php.net/error-reporting -error_reporting = E_ALL | E_STRICT - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; It's recommended that errors be logged on production servers rather than -; having the errors sent to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = On - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. But, it's strongly recommended that you -; leave this setting off on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = On - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = On - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of inserting html -; links to documentation related to that error. This directive controls whether -; those HTML links appear in error messages or not. For performance and security -; reasons, it's recommended you disable this on production servers. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: Off -; http://php.net/html-errors -html_errors = On - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - -;windows.show_crt_warning -; Default value: 0 -; Development value: 0 -; Production value: 0 - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. If the register_globals directive is enabled, it also determines -; what order variables are populated into the global space. G,P,C,E & S are -; abbreviations for the following respective super globals: GET, POST, COOKIE, -; ENV and SERVER. There is a performance penalty paid for the registration of -; these arrays and because ENV is not as commonly used as the others, ENV is -; is not recommended on productions servers. You can still get access to -; the environment variables through getenv() should you need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P,C,E & S) should -; be registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive are -; specified in the same manner as the variables_order directive, EXCEPT one. -; Leaving this value empty will cause PHP to use the value set in the -; variables_order directive. It does not mean it will leave the super globals -; array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -; http://php.net/register-globals -register_globals = Off - -; Determines whether the deprecated long $HTTP_*_VARS type predefined variables -; are registered by PHP or not. As they are deprecated, we obviously don't -; recommend you use them. They are on by default for compatibility reasons but -; they are not recommended on production servers. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-long-arrays -register_long_arrays = Off - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -; http://php.net/post-max-size -post_max_size = 8M - -; Magic quotes are a preprocessing feature of PHP where PHP will attempt to -; escape any character sequences in GET, POST, COOKIE and ENV data which might -; otherwise corrupt data being placed in resources such as databases before -; making that data available to you. Because of character encoding issues and -; non-standard SQL implementations across many databases, it's not currently -; possible for this feature to be 100% accurate. PHP's default behavior is to -; enable the feature. We strongly recommend you use the escaping mechanisms -; designed specifically for the database your using instead of relying on this -; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is -; removed in PHP 5.4. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/magic-quotes-gpc -magic_quotes_gpc = Off - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -; http://php.net/magic-quotes-runtime -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -; http://php.net/magic-quotes-sybase -magic_quotes_sybase = Off - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a character encoding using -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to empty. -; http://php.net/default-charset -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = On - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) -; extension folders as well as the separate PECL DLL download (PHP 5). -; Be sure to appropriately set the extension_dir directive. -; -;extension=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysql.dll -;extension=php_mysqli.dll -;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client -;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mssql.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_pspell.dll -;extension=php_shmop.dll - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=php_snmp.dll - -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite.dll -;extension=php_sqlite3.dll -;extension=php_sybase_ct.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll -;extension=php_zip.dll - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -;iconv.input_encoding = ISO-8859-1 -;iconv.internal_encoding = ISO-8859-1 -;iconv.output_encoding = ISO-8859-1 - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING - -[sqlite] -; http://php.net/sqlite.assoc-case -;sqlite.assoc_case = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -; http://php.net/define-syslog-variables -define_syslog_variables = Off - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = On - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgreSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combating -; session hijacking when not specifying and managing your own session id. It is -; not the end all be all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, even when register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. This feature -; introduces some serious security problems if not handled correctly. It's -; recommended that you do not use this feature on production servers. But you -; should enable this on development servers and enable the warning as well. If you -; do not enable the feature on development servers, you won't be warned when it's -; used and debugging errors caused by this can be difficult to track down. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-42 -session.bug_compat_42 = On - -; This setting controls whether or not you are warned by PHP when initializing a -; session value into the global space. session.bug_compat_42 must be enabled before -; these warnings can be issued by PHP. See the directive above for more information. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-warn -session.bug_compat_warn = On - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -session.entropy_length = 0 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; On systems that don't have /dev/urandom /dev/arandom can be used -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publicly accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.conf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -; http://php.net/mbstring.internal-encoding -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -; http://php.net/mbstring.http-input -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -; http://php.net/mbstring.http-output -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_detection = Off - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -; Allows to set script encoding. Only affects if PHP is compiled with --enable-zend-multibyte -; Default: "" -;mbstring.script_encoding= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -[xsl] -; Write operations from within XSLT are disabled by default. -; XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_NETWORK | XSL_SECPREF_WRITE_FILE = 44 -; Set it to 0 to allow all operations -;xsl.security_prefs = 44 - -; Local Variables: -; tab-width: 4 -; End: diff --git a/5.3/orig/php-5.3.ini-production b/5.3/orig/php-5.3.ini-production deleted file mode 100644 index 9d5861dd..00000000 --- a/5.3/orig/php-5.3.ini-production +++ /dev/null @@ -1,1918 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it's -; much more verbose when it comes to errors. We recommending using the -; development version only in development environments as errors shown to -; application users can inadvertently leak otherwise secure information. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; allow_call_time_pass_reference -; Default Value: On -; Development Value: Off -; Production Value: Off - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED - -; html_errors -; Default Value: On -; Development Value: On -; Production value: Off - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; magic_quotes_gpc -; Default Value: On -; Development Value: Off -; Production Value: Off - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; register_long_arrays -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.bug_compat_42 -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.bug_compat_warn -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It's been -; recommended for several years that you not use the short tag "short cut" and -; instead to use the full tag combination. With the wide spread use -; of XML and use of these tags by other languages, the server can become easily -; confused and end up parsing the wrong code in the wrong context. But because -; this short cut has been a feature for such a long time, it's currently still -; supported for backwards compatibility, but we recommend you don't use them. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/short-open-tag -short_open_tag = Off - -; Allow ASP-style <% %> tags. -; http://php.net/asp-tags -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -; http://php.net/precision -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -; http://php.net/y2k-compliance -y2k_compliance = On - -; Output buffering is a mechanism for controlling how much output data -; (excluding headers and cookies) PHP should keep internally before pushing that -; data to the client. If your application's output exceeds this setting, PHP -; will send that data in chunks of roughly the size you specify. -; Turning on this setting and managing its maximum buffer size can yield some -; interesting side-effects depending on your application and web server. -; You may be able to send headers and cookies after you've already sent output -; through print or echo. You also may see performance benefits if your server is -; emitting less packets due to buffered output versus PHP streaming the output -; as it gets it. On production servers, 4096 bytes is a good setting for performance -; reasons. -; Note: Output buffering can also be controlled via Output Buffering Control -; functions. -; Possible Values: -; On = Enabled and buffer is unlimited. (Use with caution) -; Off = Disabled -; Integer = Enables the buffer and sets its maximum size in bytes. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 -; http://php.net/output-buffering -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -; http://php.net/output-handler -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression -zlib.output_compression = Off - -; http://php.net/zlib.output-compression-level -;zlib.output_compression_level = -1 - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -; http://php.net/zlib.output-handler -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush -; Note: This directive is hardcoded to On for the CLI SAPI -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. A warning appears if the specified function is -; not defined, or if the function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func = - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 17 - -; This directive allows you to enable and disable warnings which PHP will issue -; if you pass a value by reference at function call time. Passing values by -; reference at function call time is a deprecated feature which will be removed -; from PHP at some point in the near future. The acceptable method for passing a -; value by reference to a function is by declaring the reference in the functions -; definition, not at call time. This directive does not disable this feature, it -; only determines whether PHP will warn you about it or not. These warnings -; should enabled in development environments only. -; Default Value: On (Suppress warnings) -; Development Value: Off (Issue warnings) -; Production Value: Off (Issue warnings) -; http://php.net/allow-call-time-pass-reference -allow_call_time_pass_reference = Off - -; Safe Mode -; http://php.net/safe-mode -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -; http://php.net/safe-mode-gid -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -; http://php.net/safe-mode-include-dir -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -; http://php.net/safe-mode-exec-dir -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -; http://php.net/safe-mode-allowed-env-vars -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -; http://php.net/safe-mode-protected-env-vars -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-classes -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.bg = #FFFFFF -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc -zend.enable_gc = On - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) -; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED -; http://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; It's recommended that errors be logged on production servers rather than -; having the errors sent to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = Off - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. But, it's strongly recommended that you -; leave this setting off on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = Off - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of inserting html -; links to documentation related to that error. This directive controls whether -; those HTML links appear in error messages or not. For performance and security -; reasons, it's recommended you disable this on production servers. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: Off -; http://php.net/html-errors -html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - -;windows.show_crt_warning -; Default value: 0 -; Development value: 0 -; Production value: 0 - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. If the register_globals directive is enabled, it also determines -; what order variables are populated into the global space. G,P,C,E & S are -; abbreviations for the following respective super globals: GET, POST, COOKIE, -; ENV and SERVER. There is a performance penalty paid for the registration of -; these arrays and because ENV is not as commonly used as the others, ENV is -; is not recommended on productions servers. You can still get access to -; the environment variables through getenv() should you need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P,C,E & S) should -; be registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive are -; specified in the same manner as the variables_order directive, EXCEPT one. -; Leaving this value empty will cause PHP to use the value set in the -; variables_order directive. It does not mean it will leave the super globals -; array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -; http://php.net/register-globals -register_globals = Off - -; Determines whether the deprecated long $HTTP_*_VARS type predefined variables -; are registered by PHP or not. As they are deprecated, we obviously don't -; recommend you use them. They are on by default for compatibility reasons but -; they are not recommended on production servers. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-long-arrays -register_long_arrays = Off - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -; http://php.net/post-max-size -post_max_size = 8M - -; Magic quotes are a preprocessing feature of PHP where PHP will attempt to -; escape any character sequences in GET, POST, COOKIE and ENV data which might -; otherwise corrupt data being placed in resources such as databases before -; making that data available to you. Because of character encoding issues and -; non-standard SQL implementations across many databases, it's not currently -; possible for this feature to be 100% accurate. PHP's default behavior is to -; enable the feature. We strongly recommend you use the escaping mechanisms -; designed specifically for the database your using instead of relying on this -; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is -; scheduled removed in PHP 5.4. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/magic-quotes-gpc -magic_quotes_gpc = Off - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -; http://php.net/magic-quotes-runtime -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -; http://php.net/magic-quotes-sybase -magic_quotes_sybase = Off - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a character encoding using -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to empty. -; http://php.net/default-charset -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = On - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) -; extension folders as well as the separate PECL DLL download (PHP 5). -; Be sure to appropriately set the extension_dir directive. -; -;extension=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysql.dll -;extension=php_mysqli.dll -;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client -;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mssql.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_pspell.dll -;extension=php_shmop.dll - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=php_snmp.dll - -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite.dll -;extension=php_sqlite3.dll -;extension=php_sybase_ct.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll -;extension=php_zip.dll - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -;iconv.input_encoding = ISO-8859-1 -;iconv.internal_encoding = ISO-8859-1 -;iconv.output_encoding = ISO-8859-1 - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING - -[sqlite] -; http://php.net/sqlite.assoc-case -;sqlite.assoc_case = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -; http://php.net/define-syslog-variables -define_syslog_variables = Off - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgreSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combating -; session hijacking when not specifying and managing your own session id. It is -; not the end all be all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, even when register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. This feature -; introduces some serious security problems if not handled correctly. It's -; recommended that you do not use this feature on production servers. But you -; should enable this on development servers and enable the warning as well. If you -; do not enable the feature on development servers, you won't be warned when it's -; used and debugging errors caused by this can be difficult to track down. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-42 -session.bug_compat_42 = Off - -; This setting controls whether or not you are warned by PHP when initializing a -; session value into the global space. session.bug_compat_42 must be enabled before -; these warnings can be issued by PHP. See the directive above for more information. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-warn -session.bug_compat_warn = Off - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -session.entropy_length = 0 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; On systems that don't have /dev/urandom /dev/arandom can be used -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publicly accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.conf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -; http://php.net/mbstring.internal-encoding -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -; http://php.net/mbstring.http-input -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -; http://php.net/mbstring.http-output -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_detection = Off - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -; Allows to set script encoding. Only affects if PHP is compiled with --enable-zend-multibyte -; Default: "" -;mbstring.script_encoding= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -[xsl] -; Write operations from within XSLT are disabled by default. -; XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_NETWORK | XSL_SECPREF_WRITE_FILE = 44 -; Set it to 0 to allow all operations -;xsl.security_prefs = 44 - -; Local Variables: -; tab-width: 4 -; End: diff --git a/5.3/templates/authorized_keys.tmpl b/5.3/templates/authorized_keys.tmpl deleted file mode 100644 index 13d7e16c..00000000 --- a/5.3/templates/authorized_keys.tmpl +++ /dev/null @@ -1,2 +0,0 @@ -{{ range jsonArray (getenv "SSH_PUBLIC_KEYS" "[]" ) }}{{ . }} -{{ end }} \ No newline at end of file diff --git a/5.3/templates/crontab.tmpl b/5.3/templates/crontab.tmpl deleted file mode 100644 index 6850ee4c..00000000 --- a/5.3/templates/crontab.tmpl +++ /dev/null @@ -1 +0,0 @@ -{{ getenv "CRONTAB" "" }} \ No newline at end of file diff --git a/5.3/templates/docker-php-ext-opcache.ini.tmpl b/5.3/templates/docker-php-ext-opcache.ini.tmpl deleted file mode 100644 index 50959dd0..00000000 --- a/5.3/templates/docker-php-ext-opcache.ini.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -[opcache] -zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20090626/opcache.so -opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} -opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} -opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} -opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} -opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} -opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} -opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "1" }} \ No newline at end of file diff --git a/5.3/templates/docker-php-ext-xdebug.ini.tmpl b/5.3/templates/docker-php-ext-xdebug.ini.tmpl deleted file mode 100644 index 3f32e300..00000000 --- a/5.3/templates/docker-php-ext-xdebug.ini.tmpl +++ /dev/null @@ -1,12 +0,0 @@ -{{ if getenv "PHP_XDEBUG" }} -[xdebug] -zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so -xdebug.default_enable = {{ getenv "PHP_XDEBUG_DEFAULT_ENABLE" "0" }} -xdebug.remote_enable = {{ getenv "PHP_XDEBUG_REMOTE_ENABLE" "1" }} -xdebug.remote_handler = dbgp -xdebug.remote_port = {{ getenv "PHP_XDEBUG_REMOTE_PORT" "9000" }} -xdebug.remote_autostart = {{ getenv "PHP_XDEBUG_REMOTE_AUTOSTART" "1" }} -xdebug.remote_connect_back = {{ getenv "PHP_XDEBUG_REMOTE_CONNECT_BACK" "1" }} -xdebug.remote_host = {{ getenv "PHP_XDEBUG_REMOTE_HOST" "localhost" }} -xdebug.max_nesting_level = {{ getenv "PHP_XDEBUG_MAX_NESTING_LEVEL" "256" }} -{{ end }} diff --git a/5.3/templates/docker-php.ini.tmpl b/5.3/templates/docker-php.ini.tmpl deleted file mode 100644 index f16bba8c..00000000 --- a/5.3/templates/docker-php.ini.tmpl +++ /dev/null @@ -1,66 +0,0 @@ -; This file user only to override default php.ini values -; BASIC SETTINGS: $PHP_INI_DIR/php.ini -; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf - -[PHP] -realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "16k" }} -realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} -memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} -error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} -track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} -error_log = /proc/self/fd/2 -auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} -auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} - -[Date] -date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} - -[Pdo_mysql] -pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} - -[mail function] -sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} - -[MySQL] -mysql.cache_size = {{ getenv "PHP_MYSQL_CACHE_SIZE" "2000" }} - -[MySQLi] -mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} - -[Session] -session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" -session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} -session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} -session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} -session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} -session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} -session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} -session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} -session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} -session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} -session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} -session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} -session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} -session.bug_compat_42 = {{ getenv "PHP_SESSION_BUG_COMPAT_42" "On" }} -session.bug_compat_warn = {{ getenv "PHP_SESSION_BUG_COMPAT_WARN" "On" }} -session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} -session.entropy_length = {{ getenv "PHP_SESSION_ENTROPY_LENGTH" "0" }} -session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "" }} -session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} -session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} -session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} -session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} -session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} -url_rewriter.tags = "{{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }}" - -[Assertion] -assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} - -[mbstring] -mbstring.http_input = {{ getenv "PHP_MBSTRING_HTTP_INPUT" "" }} -mbstring.http_output = {{ getenv "PHP_MBSTRING_HTTP_OUTPUT" "" }} -mbstring.encoding_translation = {{ getenv "PHP_MBSTRING_ENCODING_TRANSLATION" "Off" }} \ No newline at end of file diff --git a/5.3/templates/env.tmpl b/5.3/templates/env.tmpl deleted file mode 100644 index f9b70c73..00000000 --- a/5.3/templates/env.tmpl +++ /dev/null @@ -1,2 +0,0 @@ -{{ range jsonArray (getenv "FPM_ENV_VARS" "[]") }}{{ if getenv . }}env[{{ . }}] = {{ getenv . }} -{{ end }}{{ end }} \ No newline at end of file diff --git a/5.3/templates/id_rsa.tmpl b/5.3/templates/id_rsa.tmpl deleted file mode 100644 index 5d3f525c..00000000 --- a/5.3/templates/id_rsa.tmpl +++ /dev/null @@ -1 +0,0 @@ -{{ getenv "SSH_PRIVATE_KEY" "" }} \ No newline at end of file diff --git a/5.3/templates/ssh_config.tmpl b/5.3/templates/ssh_config.tmpl deleted file mode 100644 index 69bc5a2b..00000000 --- a/5.3/templates/ssh_config.tmpl +++ /dev/null @@ -1,55 +0,0 @@ -# $OpenBSD: ssh_config,v 1.30 2016/02/20 23:06:23 sobrado Exp $ - -# This is the ssh client system-wide configuration file. See -# ssh_config(5) for more information. This file provides defaults for -# users, and the values can be changed in per-user configuration files -# or on the command line. - -# Configuration data is parsed as follows: -# 1. command line options -# 2. user-specific file -# 3. system-wide file -# Any configuration value is only changed the first time it is set. -# Thus, host-specific definitions should be at the beginning of the -# configuration file, and defaults at the end. - -# Site-wide defaults for some commonly used options. For a comprehensive -# list of available options, their meanings and defaults, please see the -# ssh_config(5) man page. - -# Host * -# ForwardAgent no -# ForwardX11 no -# RhostsRSAAuthentication no -# RSAAuthentication yes -# PasswordAuthentication yes -# HostbasedAuthentication no -# GSSAPIAuthentication no -# GSSAPIDelegateCredentials no -# BatchMode no -# CheckHostIP yes -# AddressFamily any -# ConnectTimeout 0 -# StrictHostKeyChecking ask -# IdentityFile ~/.ssh/identity -# IdentityFile ~/.ssh/id_rsa -# IdentityFile ~/.ssh/id_dsa -# IdentityFile ~/.ssh/id_ecdsa -# IdentityFile ~/.ssh/id_ed25519 -# Port 22 -# Protocol 2 -# Cipher 3des -# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc -# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160 -# EscapeChar ~ -# Tunnel no -# TunnelDevice any:any -# PermitLocalCommand no -# VisualHostKey no -# ProxyCommand ssh -q -W %h:%p gateway.example.com -# RekeyLimit 1G 1h - -{{ if getenv "SSH_DISABLE_STRICT_KEY_CHECKING" }} -Host * - StrictHostKeyChecking no -{{ end }} \ No newline at end of file diff --git a/5.3/templates/sshd_config.tmpl b/5.3/templates/sshd_config.tmpl deleted file mode 100644 index 5f16dba5..00000000 --- a/5.3/templates/sshd_config.tmpl +++ /dev/null @@ -1,121 +0,0 @@ -# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $ - -# This is the sshd server system-wide configuration file. See -# sshd_config(5) for more information. - -# This sshd was compiled with PATH=/bin:/usr/bin:/sbin:/usr/sbin - -# The strategy used for options in the default sshd_config shipped with -# OpenSSH is to specify options with their default value where -# possible, but leave them commented. Uncommented options override the -# default value. - -#Port 22 -#AddressFamily any -#ListenAddress 0.0.0.0 -#ListenAddress :: - -{{ $keys_dir := (getenv "SSHD_HOST_KEYS_DIR" "/etc/ssh") }} -HostKey {{ $keys_dir }}/ssh_rsa_key -HostKey {{ $keys_dir }}/ssh_dsa_key -HostKey {{ $keys_dir }}/ssh_ecdsa_key -HostKey {{ $keys_dir }}/ssh_ed25519_key - -# Ciphers and keying -#RekeyLimit default none - -# Logging -#SyslogFacility AUTH -LogLevel {{ getenv "SSHD_LOG_LEVEL" "INFO" }} - -# Authentication: - -#LoginGraceTime 2m -#PermitRootLogin prohibit-password -#StrictModes yes -#MaxAuthTries 6 -#MaxSessions 10 - -PubkeyAuthentication yes - -# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 -# but this is overridden so installations will only check .ssh/authorized_keys -AuthorizedKeysFile .ssh/authorized_keys - -#AuthorizedPrincipalsFile none - -#AuthorizedKeysCommand none -#AuthorizedKeysCommandUser nobody - -# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts -#HostbasedAuthentication no -# Change to yes if you don't trust ~/.ssh/known_hosts for -# HostbasedAuthentication -#IgnoreUserKnownHosts no -# Don't read the user's ~/.rhosts and ~/.shosts files -#IgnoreRhosts yes - -# To disable tunneled clear text passwords, change to no here! -PasswordAuthentication {{ getenv "SSHD_PASSWORD_AUTHENTICATION" "no" }} -#PermitEmptyPasswords no - -# Change to no to disable s/key passwords -#ChallengeResponseAuthentication yes - -# Kerberos options -#KerberosAuthentication no -#KerberosOrLocalPasswd yes -#KerberosTicketCleanup yes -#KerberosGetAFSToken no - -# GSSAPI options -#GSSAPIAuthentication no -#GSSAPICleanupCredentials yes - -# UsePAM NOT SUPPORTED - -#AllowAgentForwarding yes -#AllowTcpForwarding yes -GatewayPorts {{ getenv "SSHD_GATEWAY_PORTS" "no" }} -#X11Forwarding no -#X11DisplayOffset 10 -#X11UseLocalhost yes -#PermitTTY yes -#PrintMotd yes -#PrintLastLog yes -#TCPKeepAlive yes -#UseLogin no -PermitUserEnvironment {{ getenv "SSHD_PERMIT_USER_ENV" "no" }} -#Compression delayed -#ClientAliveInterval 0 -#ClientAliveCountMax 3 -UseDNS {{ getenv "SSHD_USE_DNS" "yes" }} -#PidFile /run/sshd.pid -#MaxStartups 10:30:100 -#PermitTunnel no -#ChrootDirectory none -#VersionAddendum none - -# no default banner path -#Banner none - -# override default of no subsystems -Subsystem sftp /usr/lib/ssh/sftp-server - -# the following are HPN related configuration options -# tcp receive buffer polling. disable in non autotuning kernels -#TcpRcvBufPoll yes - -# disable hpn performance boosts -#HPNDisabled no - -# buffer size for hpn to non-hpn connections -#HPNBufferSize 2048 - - -# Example of overriding settings on a per-user basis -#Match User anoncvs -# X11Forwarding no -# AllowTcpForwarding no -# PermitTTY no -# ForceCommand cvs server diff --git a/5.3/templates/zz-www.conf.tmpl b/5.3/templates/zz-www.conf.tmpl deleted file mode 100644 index c9d676ec..00000000 --- a/5.3/templates/zz-www.conf.tmpl +++ /dev/null @@ -1,48 +0,0 @@ -[global] -log_level = {{ getenv "PHP_FPM_LOG_LEVEL" "notice" }} - -[www] -pm = {{ getenv "PHP_FPM_PM" "dynamic" }} -pm.max_children = {{ getenv "PHP_FPM_PM_MAX_CHILDREN" "8" }} -pm.start_servers = {{ getenv "PHP_FPM_PM_START_SERVERS" "2" }} -pm.min_spare_servers = {{ getenv "PHP_FPM_PM_MIN_SPARE_SERVERS" "1" }} -pm.max_spare_servers = {{ getenv "PHP_FPM_PM_MAX_SPARE_SERVERS" "3" }} -pm.max_requests = {{ getenv "PHP_FPM_PM_MAX_REQUESTS" "500" }} -{{ if getenv "PHP_FPM_PM_STATUS_PATH" }} -pm.status_path = {{ getenv "PHP_FPM_PM_STATUS_PATH" }} -{{ end }} -{{ if getenv "PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" }} -slowlog = /proc/self/fd/2 -request_slowlog_timeout = {{ getenv "PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" }} -{{ end }} - -php_value[display_errors] = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} -php_value[display_startup_errors] = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} -php_value[expose_php] = {{ getenv "PHP_EXPOSE" "Off" }} -php_value[max_execution_time] = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} -php_value[max_input_time] = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} -php_value[max_input_vars] = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} -php_value[memory_limit] = {{ getenv "PHP_MEMORY_LIMIT" "512M" }} -php_value[post_max_size] = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} -php_value[upload_max_filesize] = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} -php_value[max_file_uploads] = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} -php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} -php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} -php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} -php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} - -user = {{ getenv "PHP_FPM_USER" "www-data" }} -group = {{ getenv "PHP_FPM_GROUP" "www-data" }} - -{{ if getenv "PHP_FPM_ENV_VARS" }}{{ range jsonArray (getenv "PHP_FPM_ENV_VARS") }}{{ if getenv . }} -env[{{.}}] = {{ getenv . }}{{ end }}{{ end }}{{ end }} - -; Pool for health-check pings to avoid spam in access log. -[ping] -pm = static -pm.max_children = 1 -listen = 0.0.0.0:9001 -ping.path = "/ping" - -user = {{ getenv "PHP_FPM_USER" "www-data" }} -group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/5.3/tests/authorized_keys b/5.3/tests/authorized_keys deleted file mode 100644 index f7db54d3..00000000 --- a/5.3/tests/authorized_keys +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiTBsUnuHP6oi0hMYWVsy2pqiZx1c7Ku5ieAj4Y4qfkxaLWRAs7wxbce86YUoPefZ2jhlkm5wws37N+AWQaTXunisYR+5AMcYOa+3tQIDY27EiklIOvjmkEI2hObSfpJ42GYSD4+RMk1yDK5trMQ8npYVnlJUyD79sSfhyXiT6OmHoYGw2jJPdjKBrhPNeN3g7vHsJdPeTrz3/P9iC2LAiTyNe125Nzd4oAffSXEOmweZvZJSNtAWkFEw2grWDSlSKHVX+ZJMsFJ2nA2Cd1h3kIOMoRidN0obfN79xSPL8A5xf/hYB/FvKxxTpLit5uB1edrDwQMfJF3br8sQsy0TBj5jX/hJFLQsX09el3sj7+TLbU8+0NgJwnzxuq2d/vpa7aAYWcDsKY5L4OYGDXIn1kd9Y5MUvmC+j+ZbuXc2tP2BpxkZMKZj52DRZKkY06rDauowWH8OIeTvH3rs3KSEiS62aF/pFVkYMaSwBfPMJORpqJIM0G3+Ktq5hdhhh93GihiNSh9vjwC9McxnNxMZX0MiWMa6JnGVE8VFQenOM9QzFLvHkX8qDGWcBRq60dlzwMSYwkM0H85l39Zs2SOHaBK46XaqTVxShc2t6b+HLGycgB8iX1XcjLZKdR5mJ22Kqqb9947JYzzjgUjxUiBFqxi86xgp4m1DUHeYAocSx2Q== admin@example.com diff --git a/5.3/tests/crontab b/5.3/tests/crontab deleted file mode 100644 index dfe88cdb..00000000 --- a/5.3/tests/crontab +++ /dev/null @@ -1,2 +0,0 @@ -# min hour day month weekday command -*/1 * * * * echo "test" > /mnt/files/cron diff --git a/5.3/tests/docker-compose.yml b/5.3/tests/docker-compose.yml deleted file mode 100644 index 5d712e53..00000000 --- a/5.3/tests/docker-compose.yml +++ /dev/null @@ -1,36 +0,0 @@ -version: "2" - -services: - nginx: - image: wodby/nginx - environment: - NGINX_BACKEND_HOST: php - NGINX_VHOST_PRESET: php - depends_on: - - php - - sshd: - image: $IMAGE - command: sudo /usr/sbin/sshd -De - volumes: - - ./authorized_keys:/home/wodby/.ssh/authorized_keys - - php: - image: $IMAGE - environment: - SSH_DISABLE_STRICT_KEY_CHECKING: 1 - PHP_XDEBUG: 1 - volumes: - - ./tests.sh:/usr/local/bin/tests.sh - - ./php_modules:/home/wodby/php_modules - - ./id_rsa:/home/wodby/.ssh/id_rsa - depends_on: - - sshd - - crond: - image: $IMAGE - command: sudo -E crond -f -d 0 - volumes: - - ./crontab:/etc/crontabs/www-data - depends_on: - - sshd diff --git a/5.3/tests/id_rsa b/5.3/tests/id_rsa deleted file mode 100644 index f7e7825b..00000000 --- a/5.3/tests/id_rsa +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIJKQIBAAKCAgEAokwbFJ7hz+qItITGFlbMtqaomcdXOyruYngI+GOKn5MWi1kQ -LO8MW3HvOmFKD3n2do4ZZJucMLN+zfgFkGk17p4rGEfuQDHGDmvt7UCA2NuxIpJS -Dr45pBCNoTm0n6SeNhmEg+PkTJNcgyubazEPJ6WFZ5SVMg+/bEn4cl4k+jph6GBs -NoyT3Yyga4TzXjd4O7x7CXT3k689/z/YgtiwIk8jXtduTc3eKAH30lxDpsHmb2SU -jbQFpBRMNoK1g0pUih1V/mSTLBSdpwNgndYd5CDjKEYnTdKG3ze/cUjy/AOcX/4W -AfxbyscU6S4rebgdXnaw8EDHyRd26/LELMtEwY+Y1/4SRS0LF9PXpd7I+/ky21PP -tDYCcJ88bqtnf76Wu2gGFnA7CmOS+DmBg1yJ9ZHfWOTFL5gvo/mW7l3NrT9gacZG -TCmY+dg0WSpGNOqw2rqMFh/DiHk7x967NykhIkutmhf6RVZGDGksAXzzCTkaaiSD -NBt/irauYXYYYfdxooYjUofb48AvTHMZzcTGV9DIljGuiZxlRPFRUHpzjPUMxS7x -5F/KgxlnAUautHZc8DEmMJDNB/OZd/WbNkjh2gSuOl2qk1cUoXNrem/hyxsnIAfI -l9V3Iy2SnUeZidtiqqm/feOyWM844FI8VIgRasYvOsYKeJtQ1B3mAKHEsdkCAwEA -AQKCAgEAgUJj/xRbfKCqqDtnGLug54fsmC1viCw1GC/J1SpSaa1YMzuH6oGpMduY -UMLTnWfhp6KdDsfwqckLoTd8Fvv0fEt0vy3qzy3VM/85y8+nzw+KEKLAwAU5GzYj -1tiCxvLxHt1L8U87sNFcyQueCM1V6Jmnmkt4WBq6tqBjQ5M/mBuPhufkx71Gtxkd -WwTUX6GGHO2MgIer9u+HTReodO3nuiuVXB/wNf9UhECtA9l/9/xOb0GIHyPVqkyQ -Non7zskQc7/RkX7AyEbTGQVTmeHChMK8qILXIuAdkwJvcuZKv/SQQtO263X2FZZh -TSX8ckD1Axs86NxvQfVyPZFoNNTfuJTVJGaRoa5cwNQtCAKtQ9BmasAarlre02Jb -xplj6N4elzYFPr7iQzZ0ae2weWs3oAriAG3e2Z6WZTbIbwnqTCMbVQlXBh+VggRK -ja5VS3bkJDoX6C6dWjcFPkGhCSyKjjKJ3Ixw47EoZN+k+jlWNEOmpGpz/Q8DzctK -mmA50zgmdHsj41W/saZ4dRBHbo3bdNY7Z9Fmk+wNTZD7KMfv6Hr/ajiERDewkvDd -tIrODvZdDANPrtUEFa5lQKJ3e8yp8wx/FVXLX45b9kw4PwUlyyEHi2GD2nR8vHv6 -EqPInQA7YTeUC165wRFEz7POVWjnVDzQv+wHKoURnMz8uA4JQFECggEBAM4NzSs6 -3XlG9M1Kpn/sNvLOPbP9ALZM9EQMEJrHvjMOEAfwzSWo5WiqRpLhKo/Fee1RPRn8 -db4vVztSXfKPh+3C3PeaE/ZHMIiDr+f0Xl+3+nHzmWfiKvjH1amBlAk0FRwQYD4r -YxhAGJnRy90KeXTxRoTcsguYhk5E72nBd4+x+QUecxI1r+gbFJa4DpVqBLGDbszP -jkoW/goZ+aLHxgq71lzWtHjjKoNqdzCI8LOYsTX+VSz3yYPXdAPLrpVaaITEb91Z -hdca1B2NZiE9HsSuV1ou+KZtG00MTnnN/7tnGqzTYXdYbbdHFywAg3sCKo4Nl/K9 -383OLwgd/MxJoT8CggEBAMmjFp2bWiBXg5AgDk0zGQrQ2rkfq+snJLwblj8HXoBp -tIO1Nh+fEAs2sdY1bmGvdKp9TItciIEcPL+dCLUKXOQHpTqX0a6GS///XECtQDTZ -eLAK6PC/FoBHbQE4aDj/5C2h5k32Hq0pLU+qwNhFF/KkV5ZZbg5oPUkyd3f3ARMM -SdFBnmqq7vkWGpYvVVZuORmUYeRb56uuVxO/DOfBMr5A+ikU8eN3cxpUKu9ZaUJd -RvbIRAztz/4dKsVLyBuOgeN8T8OzxAVI8HiUW3THAQQy68AkqEPvy9djujmU/yTx -uf753mBb4ZVa/ocjbM4Pt1JWMKSIk8yHXRy4AFQNTucCggEAL0l7jDA2I17lTzeS -fkj3U0GBZ4zoXO3MINGj/eFZBN51T10ztzDLdPmeuJZz7gqjsJK0MwJ9AuhaXILK -jJ/j0eymSSxS6HHt8WZHODQcdFsEXqJI0k5VDkLOBdh24KXTMl2PuLS8SRRskOBU -qKV+uhek11jOg1q9d7jaOKrthUySmVojjkpD1EBiuTQEJMXvzc0b4GTBgr9EDY1o -fLLcABqbVzLut89qMj58m+bRVmX0RS/Y3DkBRgBr33Me3aeh1NY/1cx1qqe9hgqt -JXOhXAGmiku9RHRFj6kDWXCs/5Tpyj+4XmsswqLN7osvoUsd+Pulo09vzQtEP9ih -6z/6gQKCAQEAocgX8jbedkqhRbdiojBYbGQsyhIOV2udvswHneSkvzWQ34g6t95g -+g5VW8CdIwWq/svv6XVCFQ159Gfjv5Zj95XmzX9YfsZEHk9eTopzlLPUcLMgOWGo -hR5J6IvAm9M82hwnc/AApwD92QjxF9VAJLAVko2Ij0i1u5AhaQCnPQhEBgC3QXCK -sxI4HL43o1Rmvg5fCOFwnUARn8dPbHeH5jyuOt4SQmbp1Hspw8cifFvo/0KpzxHU -K1hto8Vs9ic+Mi7gtO38Xh0qzCSEyMqPFzZgD1eaJoA1NklO9rqEiLjmeh0zfm7a -LYLH69fRiff0J7z95FWs+JK3c75yjP3siwKCAQBOAf1hryhPigHfG1JAgY2IxQp5 -WNVg2ClDamAd6dfVCo4dn+NXf6WNjgGxopcaCEMv7YG+QMusWDNxy1h/Ai5xUovW -505qh8C1RF8/JBl/Ow9AU1Dc6zT6bX49wN7/ZDxwEinYz/2nuMl/15XL0iMcWQqH -jMb2UfWbuyvn9WJi8wlVKwEulQy5DyqJZ4f9u/1fxuiC3X/WsfTJp4PdyYG35gRn -c64EObY0Br/IXsZXqOx0aXwtEkhZq864QlBzwEvuj81oenkOzSt+fvwCNR5HjFxZ -iWFfSRvJbky07BoT7SLrcFDNyXVhhorCHXiwav2wS/OwHo3tBiZ6qy5/xLoJ ------END RSA PRIVATE KEY----- diff --git a/5.3/tests/php_modules b/5.3/tests/php_modules deleted file mode 100644 index f676791b..00000000 --- a/5.3/tests/php_modules +++ /dev/null @@ -1,70 +0,0 @@ -[PHP Modules] -amqp -apc -apcu -bcmath -bz2 -calendar -Core -ctype -curl -date -dom -ereg -exif -fileinfo -filter -ftp -gd -hash -iconv -imap -intl -json -ldap -libxml -mbstring -mcrypt -memcached -mongo -mysql -mysqli -mysqlnd -OAuth -openssl -pcntl -pcre -PDO -pdo_mysql -pdo_pgsql -pdo_sqlite -pgsql -Phar -posix -readline -Reflection -session -SimpleXML -soap -sockets -SPL -SQLite -sqlite3 -standard -tokenizer -uploadprogress -xdebug -xml -xmlreader -xmlrpc -xmlwriter -xsl -yaml -Zend OPcache -zip -zlib - -[Zend Modules] -Xdebug -Zend OPcache - diff --git a/5.3/tests/run.sh b/5.3/tests/run.sh deleted file mode 100755 index 5654d5c1..00000000 --- a/5.3/tests/run.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -git_url=https://github.com/wodby/php.git - -wait_for_cron() { - executed=0 - - for i in $(seq 1 13); do - if docker_exec crond cat /mnt/files/cron | grep -q "test"; then - executed=1 - break - fi - echo 'Waiting for cron execution...' - sleep 5 - done - - if [[ "${executed}" -eq '0' ]]; then - echo >&2 'Cron failed.' - exit 1 - fi - - echo 'Cron has been executed!' -} - -docker_exec() { - docker-compose exec "${@}" -} - -run_action() { - docker_exec "${1}" make "${@:2}" -f /usr/local/bin/actions.mk -} - -docker-compose up -d - -run_action php check-ready max_try=10 -run_action php migrate from=4.4.0 to=5.0.0 - -# PHP tools -docker_exec php tests.sh - -# SSH -echo -n "Testing ssh... " -docker_exec php touch /home/wodby/.ssh/known_hosts -docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@example.com -echo "OK" - -# Git actions -echo -n "Running git actions... " -run_action php git-clone url="${git_url}" branch=master -run_action php git-checkout target=develop -echo "OK" - -# PHP-FPM -echo -n "Checking PHP-FPM... " -docker_exec php curl nginx | grep -q "Hello World!" -echo "OK" - -# Walter CD -echo -n "Running walter scripts... " -run_action php walter -docker_exec php cat ./walter-shell-stage -docker_exec php cat ./walter-command-stage -echo "OK" - -# Crond -wait_for_cron - -docker-compose down diff --git a/5.3/tests/tests.sh b/5.3/tests/tests.sh deleted file mode 100755 index 094591e2..00000000 --- a/5.3/tests/tests.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -php -m > ~/php_modules.tmp -echo -n "Checking PHP modules... " - -# Modify copy, keep the mounted version untouched. -cp ~/php_modules ~/expected_modules - -if ! cmp -s ~/php_modules.tmp ~/expected_modules; then - echo "Error. PHP modules are not identical." - diff ~/php_modules.tmp ~/expected_modules - exit 1 -fi - -echo "OK" - -echo -n "Checking composer... " -composer --version | grep -q 'Composer version' -echo "OK" - -echo -n "Checking walter... " -walter -v | grep -q 'Walter version' -echo "OK" diff --git a/5.6/Dockerfile b/5.6/Dockerfile index bb5a7ee1..bff17aa1 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -11,7 +11,6 @@ ARG WODBY_GROUP_ID=1000 ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ - WALTER_VER="1.3.0" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" @@ -40,37 +39,37 @@ RUN set -xe; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ apk add --update --no-cache -t .php-rundeps \ - c-client=2007f-r7 \ + c-client=2007f-r8 \ fcgi \ findutils \ - geoip=1.6.11-r0 \ + geoip=1.6.12-r1 \ git \ gmp=6.1.2-r1 \ - icu-libs=59.1-r1 \ - jpegoptim=1.4.4-r0 \ + icu-libs=60.2-r2 \ + jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ - libjpeg-turbo=1.5.2-r0 \ + libjpeg-turbo=1.5.3-r1 \ libjpeg-turbo-utils \ - libldap=2.4.45-r3 \ - libltdl=2.4.6-r4 \ + libldap=2.4.46-r0 \ + libltdl=2.4.6-r5 \ libmemcached-libs=1.0.18-r2 \ libmcrypt=2.5.8-r7 \ libpng=1.6.34-r1 \ - librdkafka=0.11.1-r1 \ - libxslt=1.1.31-r0 \ + librdkafka=0.11.4-r1 \ + libxslt=1.1.32-r0 \ make \ - mariadb-client=10.1.32-r0 \ + mariadb-client=10.2.15-r0 \ nano \ openssh \ openssh-client \ patch \ postgresql-client=10.5-r0 \ - rabbitmq-c=0.8.0-r3 \ + rabbitmq-c=0.8.0-r4 \ rsync \ su-exec \ sudo \ - tidyhtml-libs=5.4.0-r0 \ + tidyhtml-libs=5.6.0-r0 \ tig \ tmux \ yaml=0.1.7-r0; \ @@ -223,7 +222,8 @@ RUN set -xe; \ su-exec wodby composer global require "hirak/prestissimo:^0.3"; \ \ # Install Walter - walter_url="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz"; \ + walter_ver="1.3.0"; \ + walter_url="https://github.com/walter-cd/walter/releases/download/v${walter_ver}/walter_${walter_ver}_linux_amd64.tar.gz"; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ diff --git a/7/Dockerfile b/7/Dockerfile index 97da3025..28e36cdb 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -11,8 +11,6 @@ ARG WODBY_GROUP_ID=1000 ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ SSHD_PERMIT_USER_ENV="yes" \ - PHP_PRESTISSIMO_VER="0.3" \ - WALTER_VER="1.3.0" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" @@ -41,37 +39,37 @@ RUN set -xe; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ apk add --update --no-cache -t .php-rundeps \ - c-client=2007f-r7 \ + c-client=2007f-r8 \ fcgi \ findutils \ - geoip=1.6.11-r0 \ + geoip=1.6.12-r1 \ git \ gmp=6.1.2-r1 \ - icu-libs=59.1-r1 \ - jpegoptim=1.4.4-r0 \ + icu-libs=60.2-r2 \ + jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ - libjpeg-turbo=1.5.2-r0 \ + libjpeg-turbo=1.5.3-r1 \ libjpeg-turbo-utils \ - libldap=2.4.45-r3 \ - libltdl=2.4.6-r4 \ + libldap=2.4.46-r0 \ + libltdl=2.4.6-r5 \ libmemcached-libs=1.0.18-r2 \ libmcrypt=2.5.8-r7 \ libpng=1.6.34-r1 \ - librdkafka=0.11.1-r1 \ - libxslt=1.1.31-r0 \ + librdkafka=0.11.4-r1 \ + libxslt=1.1.32-r0 \ make \ - mariadb-client=10.1.32-r0 \ + mariadb-client=10.2.15-r0 \ nano \ openssh \ openssh-client \ patch \ postgresql-client=10.5-r0 \ - rabbitmq-c=0.8.0-r3 \ + rabbitmq-c=0.8.0-r4 \ rsync \ su-exec \ sudo \ - tidyhtml-libs=5.4.0-r0 \ + tidyhtml-libs=5.6.0-r0 \ tig \ tmux \ yaml=0.1.7-r0; \ @@ -125,12 +123,6 @@ RUN set -xe; \ \ docker-php-source extract; \ \ - # Fix for tidy extension. - if [[ "${PHP_VERSION:0:3}" == "7.0" ]]; then \ - cd /usr/src/php; \ - sed -i 's/buffio.h/tidybuffio.h/' ext/tidy/*.c; \ - fi; \ - \ docker-php-ext-install \ bcmath \ bz2 \ @@ -241,10 +233,11 @@ RUN set -xe; \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Plugin for parallel install. - su-exec wodby composer global require "hirak/prestissimo:^${PHP_PRESTISSIMO_VER}"; \ + su-exec wodby composer global require "hirak/prestissimo:^0.3"; \ \ # Install Walter (deprecated). - walter_url="https://github.com/walter-cd/walter/releases/download/v${WALTER_VER}/walter_${WALTER_VER}_linux_amd64.tar.gz"; \ + walter_ver="1.3.0"; \ + walter_url="https://github.com/walter-cd/walter/releases/download/v${walter_ver}/walter_${walter_ver}_linux_amd64.tar.gz"; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ \ diff --git a/7/orig/php-7.0.ini-development b/7/orig/php-7.0.ini-development deleted file mode 100644 index 50b9dbc3..00000000 --- a/7/orig/php-7.0.ini-development +++ /dev/null @@ -1,1918 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it is -; much more verbose when it comes to errors. We recommend using the -; development version only in development environments, as errors shown to -; application users can inadvertently leak otherwise secure information. - -; This is php.ini-development INI file. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT - -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It is -; generally recommended that should be used and that this feature -; should be disabled, as enabling it may result in issues when generating XML -; documents, however this remains supported for backward compatibility reasons. -; Note that this directive does not control the would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 4096k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc -zend.enable_gc = On - -; If enabled, scripts may be written in encodings that are incompatible with -; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such -; encodings. To use this feature, mbstring extension must be enabled. -; Default: Off -;zend.multibyte = Off - -; Allows to set the default encoding for the scripts. This value will be used -; unless "declare(encoding=...)" directive appears at the top of the script. -; Only affects if zend.multibyte is set. -; Default: "" -;zend.script_encoding = - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it is automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL (Show all errors, warnings and notices including coding standards.) -; E_ALL & ~E_NOTICE (Show all errors, except for notices) -; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; http://php.net/error-reporting -error_reporting = E_ALL - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; For production environments, we recommend logging errors rather than -; sending them to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = On - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. We strongly recommend you -; set this to 'off' for production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = On - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = On - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of formatting the -; error message as HTML for easier reading. This directive controls whether -; the error message is formatted as HTML or not. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On -; http://php.net/html-errors -html_errors = On - -; If html_errors is set to On *and* docref_root is not empty, then PHP -; produces clickable error messages that direct to a page describing the error -; or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty, in which -; case no links to documentation are generated. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on Windows). -;error_log = syslog - -;windows.show_crt_warning -; Default value: 0 -; Development value: 0 -; Production value: 0 - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. G,P,C,E & S are abbreviations for the following respective super -; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty -; paid for the registration of these arrays and because ENV is not as commonly -; used as the others, ENV is not recommended on productions servers. You -; can still get access to the environment variables through getenv() should you -; need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P & C) should be -; registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive -; are specified in the same manner as the variables_order directive, -; EXCEPT one. Leaving this value empty will cause PHP to use the value set -; in the variables_order directive. It does not mean it will leave the super -; globals array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the ENV, REQUEST and SERVER variables are created when they're -; first used (Just In Time) instead of when the script starts. If these -; variables are not used within a script, having this directive on will result -; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Whether PHP will read the POST data. -; This option is enabled by default. -; Most likely, you won't want to disable this option globally. It causes $_POST -; and $_FILES to always be empty; the only way you will be able to read the -; POST data will be through the php://input stream wrapper. This can be useful -; to proxy requests or to process the POST data in a memory efficient fashion. -; http://php.net/enable-post-data-reading -;enable_post_data_reading = Off - -; Maximum size of POST data that PHP will accept. -; Its value may be 0 to disable the limit. It is ignored if POST data reading -; is disabled through enable_post_data_reading. -; http://php.net/post-max-size -post_max_size = 8M - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a media type using the Content-Type header. To -; disable this, simply set it to be empty. -; -; PHP's built-in default media type is set to text/html. -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to UTF-8. -; http://php.net/default-charset -default_charset = "UTF-8" - -; PHP internal character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/internal-encoding -;internal_encoding = - -; PHP input character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/input-encoding -;input_encoding = - -; PHP output character encoding is set to empty. -; If empty, default_charset is used. -; See also output_buffer. -; http://php.net/output-encoding -;output_encoding = - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Directory where the temporary files should be placed. -; Defaults to the system default (see sys_get_temp_dir) -; sys_temp_dir = "/tmp" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside -; of the web tree and people will not be able to circumvent .htaccess security. -; http://php.net/cgi.dicard-path -;cgi.discard_path=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If set to 0, PHP sends Status: header that -; is supported by Apache. When this option is set to 1, PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! -; (shebang) at the top of the running script. This line might be needed if the -; script support running both as stand-alone script and via PHP CGI<. PHP in CGI -; mode skips this line and ignores its content if this directive is turned on. -; http://php.net/cgi.check-shebang-line -;cgi.check_shebang_line=1 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) -; extension folders as well as the separate PECL DLL download (PHP 5+). -; Be sure to appropriately set the extension_dir directive. -; -;extension=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_ftp.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysqli.dll -;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_shmop.dll - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=php_snmp.dll - -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite3.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[CLI Server] -; Whether the CLI web server uses ANSI color coding in its terminal output. -cli_server.color = On - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -; Use of this INI entry is deprecated, use global input_encoding instead. -; If empty, default_charset or input_encoding or iconv.input_encoding is used. -; The precedence is: default_charset < intput_encoding < iconv.input_encoding -;iconv.input_encoding = - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;iconv.internal_encoding = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; If empty, default_charset or output_encoding or iconv.output_encoding is used. -; The precedence is: default_charset < output_encoding < iconv.output_encoding -; To use an output encoding conversion, iconv's output handler must be set -; otherwise output encoding conversion cannot be performed. -;iconv.output_encoding = - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING -;intl.use_exceptions = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -;Enables or disables JIT compilation of patterns. This requires the PCRE -;library to be compiled with JIT support. -;pcre.jit=1 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(). -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = -; Log mail to syslog (Event Log on Windows). -;mail.log = syslog - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = On - -; Records communication from all extensions using mysqlnd to the specified log -; file. -; http://php.net/mysqlnd.debug -;mysqlnd.debug = - -; Defines which queries will be logged. -; http://php.net/mysqlnd.log_mask -;mysqlnd.log_mask = 0 - -; Default size of the mysqlnd memory pool, which is used by result sets. -; http://php.net/mysqlnd.mempool_default_size -;mysqlnd.mempool_default_size = 16000 - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -; Timeout for network requests in seconds. -; http://php.net/mysqlnd.net_read_timeout -;mysqlnd.net_read_timeout = 31536000 - -; SHA-256 Authentication Plugin related. File with the MySQL server public RSA -; key. -; http://php.net/mysqlnd.sha256_server_public_key -;mysqlnd.sha256_server_public_key = - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgreSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if -; your OS has problems with many files in one directory, and is -; a more efficient layout for servers that handle many sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use strict session mode. -; Strict session mode does not accept uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via session adoption vulnerability. It is -; disabled by default for maximum compatibility, but enabling it is encouraged. -; https://wiki.php.net/rfc/strict_sessions -session.use_strict_mode = 0 - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combating -; session hijacking when not specifying and managing your own session id. It is -; not the be-all and end-all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 -type f | xargs rm - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -;session.entropy_length = 32 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; Defaults to /dev/urandom -; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom -; If neither are found at compile time, the default is no entropy file. -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users' security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publicly accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -; Enable upload progress tracking in $_SESSION -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.enabled -;session.upload_progress.enabled = On - -; Cleanup the progress information as soon as all POST data has been read -; (i.e. upload completed). -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.cleanup -;session.upload_progress.cleanup = On - -; A prefix used for the upload progress key in $_SESSION -; Default Value: "upload_progress_" -; Development Value: "upload_progress_" -; Production Value: "upload_progress_" -; http://php.net/session.upload-progress.prefix -;session.upload_progress.prefix = "upload_progress_" - -; The index name (concatenated with the prefix) in $_SESSION -; containing the upload progress information -; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" -; http://php.net/session.upload-progress.name -;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" - -; How frequently the upload progress should be updated. -; Given either in percentages (per-file), or in bytes -; Default Value: "1%" -; Development Value: "1%" -; Production Value: "1%" -; http://php.net/session.upload-progress.freq -;session.upload_progress.freq = "1%" - -; The minimum delay between updates, in seconds -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.upload-progress.min-freq -;session.upload_progress.min_freq = "1" - -; Only write session data when session data is changed. Enabled by default. -; http://php.net/session.lazy-write -;session.lazy_write = On - -[Assertion] -; Switch whether to compile assertions at all (to have no overhead at run-time) -; -1: Do not compile at all -; 0: Jump over assertion at run-time -; 1: Execute assertions -; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) -; Default Value: 1 -; Development Value: 1 -; Production Value: -1 -; http://php.net/zend.assertions -zend.assertions = 1 - -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Throw an AssertationException on failed assertions -; http://php.net/assert.exception -;assert.exception = On - -; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; This affects mb_send_mail() and mbstring.detect_order. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; internal/script encoding. -; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;mbstring.internal_encoding = - -; Use of this INI entry is deprecated, use global input_encoding instead. -; http input encoding. -; mbstring.encoding_traslation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.http_input -; http://php.net/mbstring.http-input -;mbstring.http_input = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; http output encoding. -; mb_output_handler must be registered as output buffer to function. -; If empty, default_charset or output_encoding or mbstring.http_output is used. -; The precedence is: default_charset < output_encoding < mbstring.http_output -; To use an output encoding conversion, mbstring's output handler must be set -; otherwise output encoding conversion cannot be performed. -; http://php.net/mbstring.http-output -;mbstring.http_output = - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; "auto" detect order is changed according to mbstring.language -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -; Default: Off -;mbstring.strict_detection = On - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -[opcache] -; Determines if Zend OPCache is enabled -;opcache.enable=0 - -; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=0 - -; The OPcache shared memory storage size. -;opcache.memory_consumption=64 - -; The amount of memory for interned strings in Mbytes. -;opcache.interned_strings_buffer=4 - -; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 1000000 are allowed. -;opcache.max_accelerated_files=2000 - -; The maximum percentage of "wasted" memory until a restart is scheduled. -;opcache.max_wasted_percentage=5 - -; When this directive is enabled, the OPcache appends the current working -; directory to the script key, thus eliminating possible collisions between -; files with the same name (basename). Disabling the directive improves -; performance, but may break existing applications. -;opcache.use_cwd=1 - -; When disabled, you must reset the OPcache manually or restart the -; webserver for changes to the filesystem to take effect. -;opcache.validate_timestamps=1 - -; How often (in seconds) to check file timestamps for changes to the shared -; memory storage allocation. ("1" means validate once per second, but only -; once per request. "0" means always validate) -;opcache.revalidate_freq=2 - -; Enables or disables file search in include_path optimization -;opcache.revalidate_path=0 - -; If disabled, all PHPDoc comments are dropped from the code to reduce the -; size of the optimized code. -;opcache.save_comments=1 - -; If enabled, a fast shutdown sequence is used for the accelerated code -; Depending on the used Memory Manager this may cause some incompatibilities. -;opcache.fast_shutdown=0 - -; Allow file existence override (file_exists, etc.) performance feature. -;opcache.enable_file_override=0 - -; A bitmask, where each bit enables or disables the appropriate OPcache -; passes -;opcache.optimization_level=0xffffffff - -;opcache.inherited_hack=1 -;opcache.dups_fix=0 - -; The location of the OPcache blacklist file (wildcards allowed). -; Each OPcache blacklist file is a text file that holds the names of files -; that should not be accelerated. The file format is to add each filename -; to a new line. The filename may be a full path or just a file prefix -; (i.e., /var/www/x blacklists all the files and directories in /var/www -; that start with 'x'). Line starting with a ; are ignored (comments). -;opcache.blacklist_filename= - -; Allows exclusion of large files from being cached. By default all files -; are cached. -;opcache.max_file_size=0 - -; Check the cache checksum each N requests. -; The default value of "0" means that the checks are disabled. -;opcache.consistency_checks=0 - -; How long to wait (in seconds) for a scheduled restart to begin if the cache -; is not being accessed. -;opcache.force_restart_timeout=180 - -; OPcache error_log file name. Empty string assumes "stderr". -;opcache.error_log= - -; All OPcache errors go to the Web server log. -; By default, only fatal errors (level 0) or errors (level 1) are logged. -; You can also enable warnings (level 2), info messages (level 3) or -; debug messages (level 4). -;opcache.log_verbosity_level=1 - -; Preferred Shared Memory back-end. Leave empty and let the system decide. -;opcache.preferred_memory_model= - -; Protect the shared memory from unexpected writing during script execution. -; Useful for internal debugging only. -;opcache.protect_memory=0 - -; Allows calling OPcache API functions only from PHP scripts which path is -; started from specified string. The default "" means no restriction -;opcache.restrict_api= - -; Mapping base of shared memory segments (for Windows only). All the PHP -; processes have to map shared memory into the same address space. This -; directive allows to manually fix the "Unable to reattach to base address" -; errors. -;opcache.mmap_base= - -; Enables and sets the second level cache directory. -; It should improve performance when SHM memory is full, at server restart or -; SHM reset. The default "" disables file based caching. -;opcache.file_cache= - -; Enables or disables opcode caching in shared memory. -;opcache.file_cache_only=0 - -; Enables or disables checksum validation when script loaded from file cache. -;opcache.file_cache_consistency_checks=1 - -; Implies opcache.file_cache_only=1 for a certain process that failed to -; reattach to the shared memory (for Windows only). Explicitly enabled file -; cache is required. -;opcache.file_cache_fallback=1 - -; Enables or disables copying of PHP code (text segment) into HUGE PAGES. -; This should improve performance, but requires appropriate OS configuration. -;opcache.huge_code_pages=0 - -; Validate cached file permissions. -; opcache.validate_permission=0 - -; Prevent name collisions in chroot'ed environment. -; opcache.validate_root=0 - -[curl] -; A default value for the CURLOPT_CAINFO option. This is required to be an -; absolute path. -;curl.cainfo = - -[openssl] -; The location of a Certificate Authority (CA) file on the local filesystem -; to use when verifying the identity of SSL/TLS peers. Most users should -; not specify a value for this directive as PHP will attempt to use the -; OS-managed cert stores in its absence. If specified, this value may still -; be overridden on a per-stream basis via the "cafile" SSL stream context -; option. -;openssl.cafile= - -; If openssl.cafile is not specified or if the CA file is not found, the -; directory pointed to by openssl.capath is searched for a suitable -; certificate. This value must be a correctly hashed certificate directory. -; Most users should not specify a value for this directive as PHP will -; attempt to use the OS-managed cert stores in its absence. If specified, -; this value may still be overridden on a per-stream basis via the "capath" -; SSL stream context option. -;openssl.capath= - -; Local Variables: -; tab-width: 4 -; End: diff --git a/7/orig/php-7.0.ini-production b/7/orig/php-7.0.ini-production deleted file mode 100644 index 52a11fce..00000000 --- a/7/orig/php-7.0.ini-production +++ /dev/null @@ -1,1918 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it is -; much more verbose when it comes to errors. We recommend using the -; development version only in development environments, as errors shown to -; application users can inadvertently leak otherwise secure information. - -; This is php.ini-production INI file. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT - -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It is -; generally recommended that should be used and that this feature -; should be disabled, as enabling it may result in issues when generating XML -; documents, however this remains supported for backward compatibility reasons. -; Note that this directive does not control the would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 4096k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc -zend.enable_gc = On - -; If enabled, scripts may be written in encodings that are incompatible with -; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such -; encodings. To use this feature, mbstring extension must be enabled. -; Default: Off -;zend.multibyte = Off - -; Allows to set the default encoding for the scripts. This value will be used -; unless "declare(encoding=...)" directive appears at the top of the script. -; Only affects if zend.multibyte is set. -; Default: "" -;zend.script_encoding = - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it is automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL (Show all errors, warnings and notices including coding standards.) -; E_ALL & ~E_NOTICE (Show all errors, except for notices) -; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; http://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; For production environments, we recommend logging errors rather than -; sending them to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = Off - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. We strongly recommend you -; set this to 'off' for production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = Off - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of formatting the -; error message as HTML for easier reading. This directive controls whether -; the error message is formatted as HTML or not. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On -; http://php.net/html-errors -html_errors = On - -; If html_errors is set to On *and* docref_root is not empty, then PHP -; produces clickable error messages that direct to a page describing the error -; or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty, in which -; case no links to documentation are generated. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on Windows). -;error_log = syslog - -;windows.show_crt_warning -; Default value: 0 -; Development value: 0 -; Production value: 0 - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. G,P,C,E & S are abbreviations for the following respective super -; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty -; paid for the registration of these arrays and because ENV is not as commonly -; used as the others, ENV is not recommended on productions servers. You -; can still get access to the environment variables through getenv() should you -; need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P & C) should be -; registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive -; are specified in the same manner as the variables_order directive, -; EXCEPT one. Leaving this value empty will cause PHP to use the value set -; in the variables_order directive. It does not mean it will leave the super -; globals array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the ENV, REQUEST and SERVER variables are created when they're -; first used (Just In Time) instead of when the script starts. If these -; variables are not used within a script, having this directive on will result -; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Whether PHP will read the POST data. -; This option is enabled by default. -; Most likely, you won't want to disable this option globally. It causes $_POST -; and $_FILES to always be empty; the only way you will be able to read the -; POST data will be through the php://input stream wrapper. This can be useful -; to proxy requests or to process the POST data in a memory efficient fashion. -; http://php.net/enable-post-data-reading -;enable_post_data_reading = Off - -; Maximum size of POST data that PHP will accept. -; Its value may be 0 to disable the limit. It is ignored if POST data reading -; is disabled through enable_post_data_reading. -; http://php.net/post-max-size -post_max_size = 8M - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a media type using the Content-Type header. To -; disable this, simply set it to be empty. -; -; PHP's built-in default media type is set to text/html. -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to UTF-8. -; http://php.net/default-charset -default_charset = "UTF-8" - -; PHP internal character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/internal-encoding -;internal_encoding = - -; PHP input character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/input-encoding -;input_encoding = - -; PHP output character encoding is set to empty. -; If empty, default_charset is used. -; See also output_buffer. -; http://php.net/output-encoding -;output_encoding = - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Directory where the temporary files should be placed. -; Defaults to the system default (see sys_get_temp_dir) -; sys_temp_dir = "/tmp" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside -; of the web tree and people will not be able to circumvent .htaccess security. -; http://php.net/cgi.dicard-path -;cgi.discard_path=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If set to 0, PHP sends Status: header that -; is supported by Apache. When this option is set to 1, PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! -; (shebang) at the top of the running script. This line might be needed if the -; script support running both as stand-alone script and via PHP CGI<. PHP in CGI -; mode skips this line and ignores its content if this directive is turned on. -; http://php.net/cgi.check-shebang-line -;cgi.check_shebang_line=1 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+) -; extension folders as well as the separate PECL DLL download (PHP 5+). -; Be sure to appropriately set the extension_dir directive. -; -;extension=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_ftp.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysqli.dll -;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_shmop.dll - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=php_snmp.dll - -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite3.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[CLI Server] -; Whether the CLI web server uses ANSI color coding in its terminal output. -cli_server.color = On - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -; Use of this INI entry is deprecated, use global input_encoding instead. -; If empty, default_charset or input_encoding or iconv.input_encoding is used. -; The precedence is: default_charset < intput_encoding < iconv.input_encoding -;iconv.input_encoding = - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;iconv.internal_encoding = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; If empty, default_charset or output_encoding or iconv.output_encoding is used. -; The precedence is: default_charset < output_encoding < iconv.output_encoding -; To use an output encoding conversion, iconv's output handler must be set -; otherwise output encoding conversion cannot be performed. -;iconv.output_encoding = - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING -;intl.use_exceptions = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -;Enables or disables JIT compilation of patterns. This requires the PCRE -;library to be compiled with JIT support. -;pcre.jit=1 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(). -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = -; Log mail to syslog (Event Log on Windows). -;mail.log = syslog - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Records communication from all extensions using mysqlnd to the specified log -; file. -; http://php.net/mysqlnd.debug -;mysqlnd.debug = - -; Defines which queries will be logged. -; http://php.net/mysqlnd.log_mask -;mysqlnd.log_mask = 0 - -; Default size of the mysqlnd memory pool, which is used by result sets. -; http://php.net/mysqlnd.mempool_default_size -;mysqlnd.mempool_default_size = 16000 - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -; Timeout for network requests in seconds. -; http://php.net/mysqlnd.net_read_timeout -;mysqlnd.net_read_timeout = 31536000 - -; SHA-256 Authentication Plugin related. File with the MySQL server public RSA -; key. -; http://php.net/mysqlnd.sha256_server_public_key -;mysqlnd.sha256_server_public_key = - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgreSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if -; your OS has problems with many files in one directory, and is -; a more efficient layout for servers that handle many sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use strict session mode. -; Strict session mode does not accept uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via session adoption vulnerability. It is -; disabled by default for maximum compatibility, but enabling it is encouraged. -; https://wiki.php.net/rfc/strict_sessions -session.use_strict_mode = 0 - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combating -; session hijacking when not specifying and managing your own session id. It is -; not the be-all and end-all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 -type f | xargs rm - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -;session.entropy_length = 32 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; Defaults to /dev/urandom -; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom -; If neither are found at compile time, the default is no entropy file. -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users' security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publicly accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -; Enable upload progress tracking in $_SESSION -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.enabled -;session.upload_progress.enabled = On - -; Cleanup the progress information as soon as all POST data has been read -; (i.e. upload completed). -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.cleanup -;session.upload_progress.cleanup = On - -; A prefix used for the upload progress key in $_SESSION -; Default Value: "upload_progress_" -; Development Value: "upload_progress_" -; Production Value: "upload_progress_" -; http://php.net/session.upload-progress.prefix -;session.upload_progress.prefix = "upload_progress_" - -; The index name (concatenated with the prefix) in $_SESSION -; containing the upload progress information -; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" -; http://php.net/session.upload-progress.name -;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" - -; How frequently the upload progress should be updated. -; Given either in percentages (per-file), or in bytes -; Default Value: "1%" -; Development Value: "1%" -; Production Value: "1%" -; http://php.net/session.upload-progress.freq -;session.upload_progress.freq = "1%" - -; The minimum delay between updates, in seconds -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.upload-progress.min-freq -;session.upload_progress.min_freq = "1" - -; Only write session data when session data is changed. Enabled by default. -; http://php.net/session.lazy-write -;session.lazy_write = On - -[Assertion] -; Switch whether to compile assertions at all (to have no overhead at run-time) -; -1: Do not compile at all -; 0: Jump over assertion at run-time -; 1: Execute assertions -; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) -; Default Value: 1 -; Development Value: 1 -; Production Value: -1 -; http://php.net/zend.assertions -zend.assertions = -1 - -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Throw an AssertationException on failed assertions -; http://php.net/assert.exception -;assert.exception = On - -; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; This affects mb_send_mail() and mbstring.detect_order. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; internal/script encoding. -; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;mbstring.internal_encoding = - -; Use of this INI entry is deprecated, use global input_encoding instead. -; http input encoding. -; mbstring.encoding_traslation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.http_input -; http://php.net/mbstring.http-input -;mbstring.http_input = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; http output encoding. -; mb_output_handler must be registered as output buffer to function. -; If empty, default_charset or output_encoding or mbstring.http_output is used. -; The precedence is: default_charset < output_encoding < mbstring.http_output -; To use an output encoding conversion, mbstring's output handler must be set -; otherwise output encoding conversion cannot be performed. -; http://php.net/mbstring.http-output -;mbstring.http_output = - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; "auto" detect order is changed according to mbstring.language -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -; Default: Off -;mbstring.strict_detection = On - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -[opcache] -; Determines if Zend OPCache is enabled -;opcache.enable=0 - -; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=0 - -; The OPcache shared memory storage size. -;opcache.memory_consumption=64 - -; The amount of memory for interned strings in Mbytes. -;opcache.interned_strings_buffer=4 - -; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 1000000 are allowed. -;opcache.max_accelerated_files=2000 - -; The maximum percentage of "wasted" memory until a restart is scheduled. -;opcache.max_wasted_percentage=5 - -; When this directive is enabled, the OPcache appends the current working -; directory to the script key, thus eliminating possible collisions between -; files with the same name (basename). Disabling the directive improves -; performance, but may break existing applications. -;opcache.use_cwd=1 - -; When disabled, you must reset the OPcache manually or restart the -; webserver for changes to the filesystem to take effect. -;opcache.validate_timestamps=1 - -; How often (in seconds) to check file timestamps for changes to the shared -; memory storage allocation. ("1" means validate once per second, but only -; once per request. "0" means always validate) -;opcache.revalidate_freq=2 - -; Enables or disables file search in include_path optimization -;opcache.revalidate_path=0 - -; If disabled, all PHPDoc comments are dropped from the code to reduce the -; size of the optimized code. -;opcache.save_comments=1 - -; If enabled, a fast shutdown sequence is used for the accelerated code -; Depending on the used Memory Manager this may cause some incompatibilities. -;opcache.fast_shutdown=0 - -; Allow file existence override (file_exists, etc.) performance feature. -;opcache.enable_file_override=0 - -; A bitmask, where each bit enables or disables the appropriate OPcache -; passes -;opcache.optimization_level=0xffffffff - -;opcache.inherited_hack=1 -;opcache.dups_fix=0 - -; The location of the OPcache blacklist file (wildcards allowed). -; Each OPcache blacklist file is a text file that holds the names of files -; that should not be accelerated. The file format is to add each filename -; to a new line. The filename may be a full path or just a file prefix -; (i.e., /var/www/x blacklists all the files and directories in /var/www -; that start with 'x'). Line starting with a ; are ignored (comments). -;opcache.blacklist_filename= - -; Allows exclusion of large files from being cached. By default all files -; are cached. -;opcache.max_file_size=0 - -; Check the cache checksum each N requests. -; The default value of "0" means that the checks are disabled. -;opcache.consistency_checks=0 - -; How long to wait (in seconds) for a scheduled restart to begin if the cache -; is not being accessed. -;opcache.force_restart_timeout=180 - -; OPcache error_log file name. Empty string assumes "stderr". -;opcache.error_log= - -; All OPcache errors go to the Web server log. -; By default, only fatal errors (level 0) or errors (level 1) are logged. -; You can also enable warnings (level 2), info messages (level 3) or -; debug messages (level 4). -;opcache.log_verbosity_level=1 - -; Preferred Shared Memory back-end. Leave empty and let the system decide. -;opcache.preferred_memory_model= - -; Protect the shared memory from unexpected writing during script execution. -; Useful for internal debugging only. -;opcache.protect_memory=0 - -; Allows calling OPcache API functions only from PHP scripts which path is -; started from specified string. The default "" means no restriction -;opcache.restrict_api= - -; Mapping base of shared memory segments (for Windows only). All the PHP -; processes have to map shared memory into the same address space. This -; directive allows to manually fix the "Unable to reattach to base address" -; errors. -;opcache.mmap_base= - -; Enables and sets the second level cache directory. -; It should improve performance when SHM memory is full, at server restart or -; SHM reset. The default "" disables file based caching. -;opcache.file_cache= - -; Enables or disables opcode caching in shared memory. -;opcache.file_cache_only=0 - -; Enables or disables checksum validation when script loaded from file cache. -;opcache.file_cache_consistency_checks=1 - -; Implies opcache.file_cache_only=1 for a certain process that failed to -; reattach to the shared memory (for Windows only). Explicitly enabled file -; cache is required. -;opcache.file_cache_fallback=1 - -; Enables or disables copying of PHP code (text segment) into HUGE PAGES. -; This should improve performance, but requires appropriate OS configuration. -;opcache.huge_code_pages=1 - -; Validate cached file permissions. -; opcache.validate_permission=0 - -; Prevent name collisions in chroot'ed environment. -; opcache.validate_root=0 - -[curl] -; A default value for the CURLOPT_CAINFO option. This is required to be an -; absolute path. -;curl.cainfo = - -[openssl] -; The location of a Certificate Authority (CA) file on the local filesystem -; to use when verifying the identity of SSL/TLS peers. Most users should -; not specify a value for this directive as PHP will attempt to use the -; OS-managed cert stores in its absence. If specified, this value may still -; be overridden on a per-stream basis via the "cafile" SSL stream context -; option. -;openssl.cafile= - -; If openssl.cafile is not specified or if the CA file is not found, the -; directory pointed to by openssl.capath is searched for a suitable -; certificate. This value must be a correctly hashed certificate directory. -; Most users should not specify a value for this directive as PHP will -; attempt to use the OS-managed cert stores in its absence. If specified, -; this value may still be overridden on a per-stream basis via the "capath" -; SSL stream context option. -;openssl.capath= - -; Local Variables: -; tab-width: 4 -; End: diff --git a/7/templates/docker-php-7.0.ini.tmpl b/7/templates/docker-php-7.0.ini.tmpl deleted file mode 100644 index e497f21f..00000000 --- a/7/templates/docker-php-7.0.ini.tmpl +++ /dev/null @@ -1,70 +0,0 @@ -; This file user only to override default php.ini values -; BASIC SETTINGS: $PHP_INI_DIR/php.ini -; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf - -[PHP] -realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} -realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} -memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} -error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} -track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} -error_log = /proc/self/fd/2 -auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} -auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} - -[Date] -date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} - -[Phar] -phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} -phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} -phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} - -[Pdo_mysql] -pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} - -[mail function] -sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} - -[MySQLi] -mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} - -[Session] -session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" -session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} -session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} -session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} -session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} -session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} -session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} -session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} -session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} -session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} -session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} -session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} -session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} -session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} -session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} -session.entropy_length = {{ getenv "PHP_SESSION_ENTROPY_LENGTH" "32" }} -session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "/dev/urandom" }} -session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} -session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} -session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} -session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} -session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} -url_rewriter.tags = "{{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }}" -session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} -session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} -session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" -session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" -session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" -session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" -session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} - -[Assertion] -zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} -assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} \ No newline at end of file diff --git a/7/templates/docker-php-ext-opcache-7.0.ini.tmpl b/7/templates/docker-php-ext-opcache-7.0.ini.tmpl deleted file mode 100644 index 1c1e51b3..00000000 --- a/7/templates/docker-php-ext-opcache-7.0.ini.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -[opcache] -zend_extension = opcache.so -opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} -opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} -opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} -opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} -opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} -opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} -opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} \ No newline at end of file diff --git a/7/tests/php_modules/7.0 b/7/tests/php_modules/7.0 deleted file mode 100644 index 9db62148..00000000 --- a/7/tests/php_modules/7.0 +++ /dev/null @@ -1,80 +0,0 @@ -[PHP Modules] -amqp -apcu -ast -bcmath -blackfire -bz2 -calendar -Core -ctype -curl -date -dom -ds -exif -fileinfo -filter -ftp -gd -geoip -gmp -grpc -hash -iconv -igbinary -imagick -imap -intl -json -ldap -libxml -mbstring -mcrypt -memcached -mongodb -mysqli -mysqlnd -newrelic -OAuth -openssl -pcntl -pcre -PDO -pdo_mysql -pdo_pgsql -pdo_sqlite -pgsql -Phar -posix -rdkafka -readline -redis -Reflection -session -SimpleXML -soap -sockets -SPL -sqlite3 -standard -tideways_xhprof -tidy -tokenizer -uploadprogress -xdebug -xml -xmlreader -xmlrpc -xmlwriter -xsl -yaml -Zend OPcache -zip -zlib - -[Zend Modules] -Xdebug -Zend OPcache -blackfire - diff --git a/README.md b/README.md index c530bd9a..41f17e0d 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ About images: * All images are based on Alpine Linux -* Base image: [wodby/base-php](https://github.com/wodby/base-php) ([wodby/alpine](https://github.com/wodby/alpine) for 5.3) +* Base image: [wodby/base-php](https://github.com/wodby/base-php) * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) @@ -43,26 +43,17 @@ Supported tags and respective `Dockerfile` links: * `7`, `7.2`, `latest` [_(7/Dockerfile)_] * `7.1` [_(7/Dockerfile)_] -* `7.0` [_(7/Dockerfile)_] * `5`, `5.6` [_(5.6/Dockerfile)_] -* `5.3` [_(5.3/Dockerfile)_] * `7-dev`, `7.2-dev` [_(7/Dockerfile)_] * `7.1-dev` [_(7/Dockerfile)_] -* `7.0-dev` [_(7/Dockerfile)_] * `5-dev`, `5.6-dev` [_(5.6/Dockerfile)_] -* `5.3-dev` [_(5.3/Dockerfile)_] * `7-dev-macos`, `7.2-dev-macos` [_(7/Dockerfile)_] * `7.1-dev-macos` [_(7/Dockerfile)_] -* `7.0-dev-macos` [_(7/Dockerfile)_] * `5-dev-macos`, `5.6-dev-macos` [_(5.6/Dockerfile)_] -* `5.3-dev-macos` [_(5.3/Dockerfile)_] * `7-debug`, `7.2-debug` [_(7/Dockerfile)_] * `7.1-debug` [_(7/Dockerfile)_] -* `7.0-debug` [_(7/Dockerfile)_] * `5-debug`, `5.6-debug` [_(5.6/Dockerfile)_] -> The 5.3 version is no longer supported by PHP team, we highly encourage updating to 5.6 - ### `-dev` Images with `-dev` tag have a few differences: @@ -90,98 +81,98 @@ Include all changes from `-dev` images and additionally: The default configuration is not recommended to be used for production environment: -| Variable | 7.2 | 7.1 | 7.0 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | -| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | -| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | -| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | -| [`PHP_APCU_SERIALIZER`] | | | | | -| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | -| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | -| [`PHP_AUTO_PREPEND_FILE`] | | | | | -| [`PHP_AUTO_APPEND_FILE`] | | | | | -| `PHP_BLACKFIRE` | | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | -| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | -| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | -| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | -| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | -| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | -| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | -| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | -| `PHP_FPM_ENV_VARS` | | | | | -| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | -| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | -| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | -| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | -| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | -| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | -| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | -| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | -| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | -| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | -| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | -| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | -| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | `My PHP app` | -| [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_FRAMEWORK`] | | | | | -| [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | | -| [`PHP_NEWRELIC_LABELS`] | | | | | -| [`PHP_NEWRELIC_LICENSE`] | | | | | -| [`PHP_NEWRELIC_LOGLEVEL`] | `info` | `info` | `info` | `info` | -| [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | -| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | -| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | -| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | -| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | -| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | `1` | `1` | `1` | -| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_CACHE_LIST`] | | | | | -| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | -| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | -| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | -| _see all session options_ | [7.2 session] | [7.1 session] | [7.0 session] | [5.6 session] | -| `PHP_XHPROF` | | | | - | -| [`PHP_TRACK_ERRORS`] | - | `On` | `On` | `On` | -| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | - | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | `0` | -| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | +| Variable | 7.2 | 7.1 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | +| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | `0` | +| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | +| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | +| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | +| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | +| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | +| [`PHP_APCU_SERIALIZER`] | | | | +| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | +| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | +| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | +| [`PHP_APCU_TTL`] | `0` | `0` | `0` | +| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | +| [`PHP_AUTO_PREPEND_FILE`] | | | | +| [`PHP_AUTO_APPEND_FILE`] | | | | +| `PHP_BLACKFIRE` | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | +| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | +| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | +| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | +| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | +| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | +| [`PHP_GEOIP_CUSTOM_DIR`] | | | | +| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | `Off` | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | `2000` | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | +| [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | +| [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | +| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | +| [`PHP_NEWRELIC_FRAMEWORK`] | | | | +| [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | +| [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | +| [`PHP_NEWRELIC_LABELS`] | | | | +| [`PHP_NEWRELIC_LICENSE`] | | | | +| [`PHP_NEWRELIC_LOGLEVEL`] | `info` | `info` | `info` | +| [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`] | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | +| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | +| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | +| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | +| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | +| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | +| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | `1` | `1` | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | +| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | +| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | +| [`PHP_PHAR_CACHE_LIST`] | | | | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `16k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | +| _see all session options_ | [7.2 session] | [7.1 session] | [5.6 session] | +| `PHP_XHPROF` | | | - | +| [`PHP_TRACK_ERRORS`] | - | `On` | `On` | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | - | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | +| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | > "-" - Not available for this version @@ -216,84 +207,84 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag ## PHP Extensions -| Extension | 7.2 | 7.1 | 7.0 | 5.6 | -| ---------------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | -| apc | - | - | - | - | -| [apcu] | 5.1.12 | 5.1.12 | 5.1.12 | 4.0.11 | -| [ast] | 0.1.6 | 0.1.6 | 0.1.6 | - | -| [blackfire] | latest | latest | latest | latest | -| bcmath | | | | | -| bz2 | | | | | -| calendar | | | | | -| Core | | | | | -| ctype | | | | | -| curl | | | | | -| date | | | | | -| dom | | | | | -| [ds] | 1.2.6 | 1.2.6 | 1.2.6 | - | -| exif | | | | | -| ereg | - | - | - | | -| fileinfo | | | | | -| filter | | | | | -| ftp | | | | | -| gd | | | | | -| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.15.0 | 1.15.0 | 1.15.0 | 1.15.0 | -| hash | | | | | -| iconv | | | | | -| [igbinary] | 2.0.7 | 2.0.7 | 2.0.7 | 2.0.7 | -| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | -| imap | | | | | -| intl | | | | | -| json | | | | | -| ldap | | | | | -| libxml | | | | | -| mbstring | | | | | -| mcrypt | [1.0.1] | | | | -| [memcached] | 3.0.4 | 3.0.4 | 3.0.4 | 2.2.0 | -| [mongodb] | 1.5.2 | 1.5.2 | 1.5.2 | 1.5.2 | -| mysql | - | - | - | | -| mysqli | | | | | -| mysqlnd | | | | | -| [newrelic] | latest | latest | latest | latest | -| [OAuth] | 2.0.2 | 2.0.2 | 2.0.2 | 1.2.3 | -| openssl | | | | | -| pcntl | | | | | -| pcre | | | | | -| PDO | | | | | -| pdo_mysql | | | | | -| pdo_pgsql | | | | | -| pdo_sqlite | | | | | -| pgsql | | | | | -| Phar | | | | | -| posix | | | | | -| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | -| readline | | | | | -| [redis] | 4.1.1 | 4.1.1 | 4.1.1 | 4.1.1 | -| Reflection | | | | | -| session | | | | | -| SimpleXML | | | | | -| soap | | | | | -| sockets | | | | | -| sodium | | - | - | - | -| SPL | | | | | -| sqlite3 | | | | | -| standard | | | | | -| [tideways_xhprof] | v5.0-beta2 | v5.0-beta2 | v5.0-beta2 | | -| tidy | | | | | -| tokenizer | | | | | -| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | -| [xdebug] | 2.6.1 | 2.6.1 | 2.6.1 | 2.5.5 | -| xml | | | | | -| xmlreader | | | | | -| xmlrpc | | | | | -| xmlwriter | | | | | -| xsl | | | | | -| [yaml] | 2.0.2 | 2.0.2 | 2.0.2 | 1.3.1 | -| Zend OPcache | | | | | -| zip | | | | | -| zlib | | | | | +| Extension | 7.2 | 7.1 | 5.6 | +| ---------------- | -------- | -------- | -------- | +| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | +| apc | - | - | - | +| [apcu] | 5.1.12 | 5.1.12 | 4.0.11 | +| [ast] | 0.1.6 | 0.1.6 | - | +| [blackfire] | latest | latest | latest | +| bcmath | | | | +| bz2 | | | | +| calendar | | | | +| Core | | | | +| ctype | | | | +| curl | | | | +| date | | | | +| dom | | | | +| [ds] | 1.2.6 | 1.2.6 | - | +| exif | | | | +| ereg | - | - | | +| fileinfo | | | | +| filter | | | | +| ftp | | | | +| gd | | | | +| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | +| [grpc] | 1.15.0 | 1.15.0 | 1.15.0 | +| hash | | | | +| iconv | | | | +| [igbinary] | 2.0.7 | 2.0.7 | 2.0.7 | +| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | +| imap | | | | +| intl | | | | +| json | | | | +| ldap | | | | +| libxml | | | | +| mbstring | | | | +| mcrypt | [1.0.1] | | | +| [memcached] | 3.0.4 | 3.0.4 | 2.2.0 | +| [mongodb] | 1.5.2 | 1.5.2 | 1.5.2 | +| mysql | - | - | | +| mysqli | | | | +| mysqlnd | | | | +| [newrelic] | latest | latest | latest | +| [OAuth] | 2.0.2 | 2.0.2 | 1.2.3 | +| openssl | | | | +| pcntl | | | | +| pcre | | | | +| PDO | | | | +| pdo_mysql | | | | +| pdo_pgsql | | | | +| pdo_sqlite | | | | +| pgsql | | | | +| Phar | | | | +| posix | | | | +| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | +| readline | | | | +| [redis] | 4.1.1 | 4.1.1 | 4.1.1 | +| Reflection | | | | +| session | | | | +| SimpleXML | | | | +| soap | | | | +| sockets | | | | +| sodium | | - | - | +| SPL | | | | +| sqlite3 | | | | +| standard | | | | +| [tideways_xhprof] | v5.0-beta2 | v5.0-beta2 | | +| tidy | | | | +| tokenizer | | | | +| [uploadprogress] | [latest] | [latest] | 1.0.3.1 | +| [xdebug] | 2.6.1 | 2.6.1 | 2.5.5 | +| xml | | | | +| xmlreader | | | | +| xmlrpc | | | | +| xmlwriter | | | | +| xsl | | | | +| [yaml] | 2.0.2 | 2.0.2 | 1.3.1 | +| Zend OPcache | | | | +| zip | | | | +| zlib | | | | Legend: @@ -305,10 +296,10 @@ Extensions xdebug, blackfire and xhprof disabled by default. ## Tools -| Tool | 7.2 | 7.1 | 7.0 | 5.6 | -| --------------------------------------------- | ------- | ------- | ------- | ------- | -| [Composer](https://getcomposer.org) | latest | latest | latest | latest | -| [Walter](https://github.com/walter-cd/walter) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | +| Tool | 7.2 | 7.1 | 5.6 | +| ---------------------------------------------------------- | ------- | ------- | ------- | +| [Composer](https://getcomposer.org) | latest | latest | latest | +| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.3.0 | 1.3.0 | 1.3.0 | ## Global Composer Packages @@ -389,14 +380,12 @@ default params values: [_(7/Dockerfile)_]: https://github.com/wodby/php/tree/master/7/Dockerfile [_(5.6/Dockerfile)_]: https://github.com/wodby/php/tree/master/5.6/Dockerfile -[_(5.3/Dockerfile)_]: https://github.com/wodby/php/tree/master/5.3/Dockerfile [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl [7.2 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl [7.1 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl -[7.0 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.0.ini.tmpl [5.6 session]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen From ed19688eb91b5fcaf057275a298349eb5557b89e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 25 Sep 2018 16:56:28 +0700 Subject: [PATCH 253/559] Update mongodb extension to 1.5.3 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index bff17aa1..16a31606 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -184,7 +184,7 @@ RUN set -xe; \ igbinary-2.0.7 \ imagick-3.4.3 \ memcached-2.2.0 \ - mongodb-1.5.2 \ + mongodb-1.5.3 \ oauth-1.2.3 \ rdkafka-3.0.5 \ redis-4.1.1 \ diff --git a/7/Dockerfile b/7/Dockerfile index 28e36cdb..d2761b03 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -186,7 +186,7 @@ RUN set -xe; \ igbinary-2.0.7 \ imagick-3.4.3 \ memcached-3.0.4 \ - mongodb-1.5.2 \ + mongodb-1.5.3 \ oauth-2.0.2 \ rdkafka-3.0.5 \ redis-4.1.1 \ diff --git a/README.md b/README.md index 41f17e0d..9efdfa37 100644 --- a/README.md +++ b/README.md @@ -243,7 +243,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | mbstring | | | | | mcrypt | [1.0.1] | | | | [memcached] | 3.0.4 | 3.0.4 | 2.2.0 | -| [mongodb] | 1.5.2 | 1.5.2 | 1.5.2 | +| [mongodb] | 1.5.3 | 1.5.3 | 1.5.3 | | mysql | - | - | | | mysqli | | | | | mysqlnd | | | | From 8370e5b7c67d5f6b376aff209b64708bd0d08097 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 25 Sep 2018 17:33:44 +0700 Subject: [PATCH 254/559] Fixes: tideways extension enabled twice, fix walter test pipeline --- 7/docker-entrypoint.sh | 2 +- ...eways.ini.tmpl => docker-php-ext-tideways_xhprof.ini.tmpl} | 0 wodby.yml | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) rename 7/templates/{docker-php-ext-tideways.ini.tmpl => docker-php-ext-tideways_xhprof.ini.tmpl} (100%) diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 29aa14ec..6927a6f5 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -74,7 +74,7 @@ process_templates() { _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - _gotpl "docker-php-ext-tideways.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways.ini" + _gotpl "docker-php-ext-tideways.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways_xhprof.ini" _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" diff --git a/7/templates/docker-php-ext-tideways.ini.tmpl b/7/templates/docker-php-ext-tideways_xhprof.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-tideways.ini.tmpl rename to 7/templates/docker-php-ext-tideways_xhprof.ini.tmpl diff --git a/wodby.yml b/wodby.yml index 77af4890..fd8ddfd4 100644 --- a/wodby.yml +++ b/wodby.yml @@ -5,8 +5,8 @@ pipeline: type: command command: echo "Hello" > "${PWD}/walter-command-stage" directory: $PWD - only_if: test "${WALTER_VER}" = "1.3.0" + only_if: test "${APP_ROOT}" = "/var/www/html" - name: Run shell script type: command command: sh script.sh - directory: $PWD \ No newline at end of file + directory: $PWD˚ \ No newline at end of file From 620dd9394e9d0f37fac6b9b85a317781d064bf06 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 25 Sep 2018 17:50:18 +0700 Subject: [PATCH 255/559] Update libs dependencies --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 16a31606..b9970c19 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -49,7 +49,7 @@ RUN set -xe; \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ - libjpeg-turbo=1.5.3-r1 \ + libjpeg-turbo=1.5.3-r2 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ libltdl=2.4.6-r5 \ diff --git a/7/Dockerfile b/7/Dockerfile index d2761b03..9b3e639a 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -49,7 +49,7 @@ RUN set -xe; \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ - libjpeg-turbo=1.5.3-r1 \ + libjpeg-turbo=1.5.3-r2 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ libltdl=2.4.6-r5 \ From 0a32ef9d977dd088b8922a847c9e9fdd7721602b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 25 Sep 2018 18:05:33 +0700 Subject: [PATCH 256/559] Fixes --- wodby.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wodby.yml b/wodby.yml index fd8ddfd4..745b3326 100644 --- a/wodby.yml +++ b/wodby.yml @@ -9,4 +9,4 @@ pipeline: - name: Run shell script type: command command: sh script.sh - directory: $PWD˚ \ No newline at end of file + directory: $PWD \ No newline at end of file From 3403e3586d05741e985a9e327a778e53ebd372a1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 25 Sep 2018 18:29:29 +0700 Subject: [PATCH 257/559] Add additional tags --- .travis.yml | 4 ++-- README.md | 21 ++++++++++----------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 617e6a98..5a2fab68 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,10 +12,10 @@ env: - PHP_VER="${PHP72}" TAGS=7.2,7,latest - PHP_VER="${PHP71}" TAGS=7.1 - PHP_VER="${PHP56}" TAGS=5.6,5 - - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev,7-dev + - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev,7-dev,dev - PHP_VER="${PHP71}" PHP_DEV=1 TAGS=7.1-dev - PHP_VER="${PHP56}" PHP_DEV=1 TAGS=5.6-dev,5-dev - - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos,7-dev-macos + - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos,7-dev-macos,dev-macos - PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.1-dev-macos - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos diff --git a/README.md b/README.md index 9efdfa37..a5000593 100644 --- a/README.md +++ b/README.md @@ -41,18 +41,15 @@ About images: Supported tags and respective `Dockerfile` links: -* `7`, `7.2`, `latest` [_(7/Dockerfile)_] +* `7.2`, `7`, `latest` [_(7/Dockerfile)_] * `7.1` [_(7/Dockerfile)_] -* `5`, `5.6` [_(5.6/Dockerfile)_] -* `7-dev`, `7.2-dev` [_(7/Dockerfile)_] +* `5.6`, `5` [_(5.6/Dockerfile)_] +* `7.2-dev`, `7-dev`, `dev` [_(7/Dockerfile)_] * `7.1-dev` [_(7/Dockerfile)_] -* `5-dev`, `5.6-dev` [_(5.6/Dockerfile)_] -* `7-dev-macos`, `7.2-dev-macos` [_(7/Dockerfile)_] +* `5.6-dev`, `5-dev` [_(5.6/Dockerfile)_] +* `7.2-dev-macos`, `7-dev-macos`, `dev-macos` [_(7/Dockerfile)_] * `7.1-dev-macos` [_(7/Dockerfile)_] -* `5-dev-macos`, `5.6-dev-macos` [_(5.6/Dockerfile)_] -* `7-debug`, `7.2-debug` [_(7/Dockerfile)_] -* `7.1-debug` [_(7/Dockerfile)_] -* `5-debug`, `5.6-debug` [_(5.6/Dockerfile)_] +* `5.6-dev-macos`, `5-dev-macos` [_(5.6/Dockerfile)_] ### `-dev` @@ -75,6 +72,8 @@ Include all changes from `-dev` images and additionally: * Some extensions do not work with `--enabled-debug` such as newrelic and blackfire * `PHP_FPM_LOG_LEVEL` is set to `debug` by default +> We currently do not build -debug images to save build time + ## Environment Variables #### PHP and PHP-FPM configuration @@ -176,7 +175,7 @@ The default configuration is not recommended to be used for production environme > "-" - Not available for this version -> Default value of environment variables marked with `*` is different for [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images +> Default value of environment variables marked with `*` is different for [`-dev`](#-dev) and [`-debug`](#-debug) images #### Additional configuration @@ -290,7 +289,7 @@ Legend: > - [EMPTY] – Core PHP extension > - "-" - Not exists in this version -> Some extensions may not be available in [`-dev`](#-dev-images) and [`-debug`](#-debug-images) images +> Some extensions may not be available in [`-dev`](#-dev) and [`-debug`](#-debug) images Extensions xdebug, blackfire and xhprof disabled by default. From 46b54e9370dc5a41efeb90204d3c0ac379f2f703 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 25 Sep 2018 18:50:45 +0700 Subject: [PATCH 258/559] Update libjpeg package --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index b9970c19..ae076026 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -49,7 +49,7 @@ RUN set -xe; \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ - libjpeg-turbo=1.5.3-r2 \ + libjpeg-turbo=1.5.3-r3 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ libltdl=2.4.6-r5 \ diff --git a/7/Dockerfile b/7/Dockerfile index 9b3e639a..873368a1 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -49,7 +49,7 @@ RUN set -xe; \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ - libjpeg-turbo=1.5.3-r2 \ + libjpeg-turbo=1.5.3-r3 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ libltdl=2.4.6-r5 \ From 179caca3fc55f4392740a7be3fcdeb42e59331d7 Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 25 Sep 2018 13:19:48 +0000 Subject: [PATCH 259/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index f29fe6e7..4bce85ce 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.10#2018-09-14T13:34:53.814596Z -7.1.22#2018-09-14T13:33:50.144224Z -5.6.38#2018-09-14T13:34:07.821270Z \ No newline at end of file +7.2.10#2018-09-25T09:34:12.681267Z +7.1.22#2018-09-25T09:32:30.770754Z +5.6.38#2018-09-25T09:31:26.544463Z \ No newline at end of file From 5301c4c2c4558f8ff5fc8748144652ffdd0d1360 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 30 Sep 2018 18:53:47 +0000 Subject: [PATCH 260/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 4bce85ce..c6f90782 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.10#2018-09-25T09:34:12.681267Z -7.1.22#2018-09-25T09:32:30.770754Z -5.6.38#2018-09-25T09:31:26.544463Z \ No newline at end of file +7.2.10#2018-09-29T19:02:20.071146Z +7.1.22#2018-09-29T19:01:38.539438Z +5.6.38#2018-09-29T18:59:49.246651Z \ No newline at end of file From fdaa3e7e099034457ae3b0e672afa03f2a8e569f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 2 Oct 2018 14:00:48 +0700 Subject: [PATCH 261/559] Send email failure notifications --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index 5a2fab68..418728a5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,3 +28,10 @@ script: after_success: - . "${TRAVIS_BUILD_DIR}/release.sh" + +notifications: + email: + recipients: + - $NOTIFICATIONS_EMAIL + on_success: never + on_failure: always From a8c1be99448a0bac6b505c28e09b2940ab6c280e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 4 Oct 2018 13:15:59 +0700 Subject: [PATCH 262/559] Update oauth extension to 2.0.3 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 873368a1..db391029 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -187,7 +187,7 @@ RUN set -xe; \ imagick-3.4.3 \ memcached-3.0.4 \ mongodb-1.5.3 \ - oauth-2.0.2 \ + oauth-2.0.3 \ rdkafka-3.0.5 \ redis-4.1.1 \ xdebug-2.6.1 \ diff --git a/README.md b/README.md index a5000593..b5b56ecc 100644 --- a/README.md +++ b/README.md @@ -247,7 +247,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | mysqli | | | | | mysqlnd | | | | | [newrelic] | latest | latest | latest | -| [OAuth] | 2.0.2 | 2.0.2 | 1.2.3 | +| [OAuth] | 2.0.3 | 2.0.3 | 1.2.3 | | openssl | | | | | pcntl | | | | | pcre | | | | From 8cbb0229d2a7ae6c851af089f9f023d161de50ff Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 4 Oct 2018 13:26:35 +0700 Subject: [PATCH 263/559] Move php configuration from fpm to main php config --- 5.6/templates/docker-php.ini.tmpl | 14 ++++++++++++++ 5.6/templates/zz-www.conf.tmpl | 13 ------------- 7/templates/docker-php-7.1.ini.tmpl | 13 +++++++++++++ 7/templates/docker-php-7.2.ini.tmpl | 15 ++++++++++++++- 7/templates/zz-www.conf.tmpl | 12 ------------ 5 files changed, 41 insertions(+), 26 deletions(-) diff --git a/5.6/templates/docker-php.ini.tmpl b/5.6/templates/docker-php.ini.tmpl index 8acd84e6..925f9e08 100644 --- a/5.6/templates/docker-php.ini.tmpl +++ b/5.6/templates/docker-php.ini.tmpl @@ -3,6 +3,20 @@ ; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf [PHP] +display_errors = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} +display_startup_errors = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} +expose_php = {{ getenv "PHP_EXPOSE" "Off" }} +max_execution_time = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} +max_input_time = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} +max_input_vars = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} +post_max_size = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} +upload_max_filesize = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} +max_file_uploads = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} +allow_url_fopen = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} +default_socket_timeout = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} +output_buffering = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} +always_populate_raw_post_data = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} + realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "16k" }} realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} diff --git a/5.6/templates/zz-www.conf.tmpl b/5.6/templates/zz-www.conf.tmpl index 1c70723e..378472d3 100644 --- a/5.6/templates/zz-www.conf.tmpl +++ b/5.6/templates/zz-www.conf.tmpl @@ -17,20 +17,7 @@ slowlog = /proc/self/fd/2 request_slowlog_timeout = {{ getenv "PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" }} {{ end }} -php_value[display_errors] = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} -php_value[display_startup_errors] = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} -php_value[expose_php] = {{ getenv "PHP_EXPOSE" "Off" }} -php_value[max_execution_time] = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} -php_value[max_input_time] = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} -php_value[max_input_vars] = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} php_value[memory_limit] = {{ getenv "PHP_MEMORY_LIMIT" "512M" }} -php_value[post_max_size] = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} -php_value[upload_max_filesize] = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} -php_value[max_file_uploads] = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} -php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} -php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} -php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} -php_value[always_populate_raw_post_data] = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} diff --git a/7/templates/docker-php-7.1.ini.tmpl b/7/templates/docker-php-7.1.ini.tmpl index acac5a4d..d13921d2 100644 --- a/7/templates/docker-php-7.1.ini.tmpl +++ b/7/templates/docker-php-7.1.ini.tmpl @@ -3,6 +3,19 @@ ; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf [PHP] +display_errors = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} +display_startup_errors = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} +expose_php = {{ getenv "PHP_EXPOSE" "Off" }} +max_execution_time = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} +max_input_time = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} +max_input_vars = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} +post_max_size = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} +upload_max_filesize = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} +max_file_uploads = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} +allow_url_fopen = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} +default_socket_timeout = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} +output_buffering = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} + realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} diff --git a/7/templates/docker-php-7.2.ini.tmpl b/7/templates/docker-php-7.2.ini.tmpl index cec9395e..71af7f47 100644 --- a/7/templates/docker-php-7.2.ini.tmpl +++ b/7/templates/docker-php-7.2.ini.tmpl @@ -3,6 +3,19 @@ ; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf [PHP] +display_errors = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} +display_startup_errors = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} +expose_php = {{ getenv "PHP_EXPOSE" "Off" }} +max_execution_time = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} +max_input_time = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} +max_input_vars = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} +post_max_size = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} +upload_max_filesize = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} +max_file_uploads = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} +allow_url_fopen = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} +default_socket_timeout = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} +output_buffering = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} + realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} @@ -65,4 +78,4 @@ session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} [Assertion] zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} -assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} \ No newline at end of file +assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} diff --git a/7/templates/zz-www.conf.tmpl b/7/templates/zz-www.conf.tmpl index 434fc6b0..378472d3 100644 --- a/7/templates/zz-www.conf.tmpl +++ b/7/templates/zz-www.conf.tmpl @@ -17,19 +17,7 @@ slowlog = /proc/self/fd/2 request_slowlog_timeout = {{ getenv "PHP_FPM_REQUEST_SLOWLOG_TIMEOUT" }} {{ end }} -php_value[display_errors] = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} -php_value[display_startup_errors] = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} -php_value[expose_php] = {{ getenv "PHP_EXPOSE" "Off" }} -php_value[max_execution_time] = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} -php_value[max_input_time] = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} -php_value[max_input_vars] = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} php_value[memory_limit] = {{ getenv "PHP_MEMORY_LIMIT" "512M" }} -php_value[post_max_size] = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} -php_value[upload_max_filesize] = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} -php_value[max_file_uploads] = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} -php_value[allow_url_fopen] = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} -php_value[default_socket_timeout] = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} -php_value[output_buffering] = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} user = {{ getenv "PHP_FPM_USER" "www-data" }} group = {{ getenv "PHP_FPM_GROUP" "www-data" }} From ddd7f8ba511bb6293394b0ac21925a016585d35d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 11 Oct 2018 14:59:39 +0700 Subject: [PATCH 264/559] Add uuid pecl extension #43 --- 5.6/Dockerfile | 3 +++ 7/Dockerfile | 3 +++ README.md | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index ae076026..1f53eeed 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -57,6 +57,7 @@ RUN set -xe; \ libmcrypt=2.5.8-r7 \ libpng=1.6.34-r1 \ librdkafka=0.11.4-r1 \ + libuuid=2.32-r0 \ libxslt=1.1.32-r0 \ make \ mariadb-client=10.2.15-r0 \ @@ -189,6 +190,7 @@ RUN set -xe; \ rdkafka-3.0.5 \ redis-4.1.1 \ uploadprogress-1.0.3.1 \ + uuid-1.0.4 \ xdebug-2.5.5 \ yaml-1.3.1; \ \ @@ -205,6 +207,7 @@ RUN set -xe; \ redis \ rdkafka \ uploadprogress \ + uuid \ xdebug \ yaml; \ \ diff --git a/7/Dockerfile b/7/Dockerfile index db391029..e0ffad84 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -57,6 +57,7 @@ RUN set -xe; \ libmcrypt=2.5.8-r7 \ libpng=1.6.34-r1 \ librdkafka=0.11.4-r1 \ + libuuid=2.32-r0 \ libxslt=1.1.32-r0 \ make \ mariadb-client=10.2.15-r0 \ @@ -190,6 +191,7 @@ RUN set -xe; \ oauth-2.0.3 \ rdkafka-3.0.5 \ redis-4.1.1 \ + uuid-1.0.4 \ xdebug-2.6.1 \ yaml-2.0.2; \ \ @@ -207,6 +209,7 @@ RUN set -xe; \ oauth \ redis \ rdkafka \ + uuid \ xdebug \ yaml; \ \ diff --git a/README.md b/README.md index b5b56ecc..a66d17e3 100644 --- a/README.md +++ b/README.md @@ -274,6 +274,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | tidy | | | | | tokenizer | | | | | [uploadprogress] | [latest] | [latest] | 1.0.3.1 | +| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | | [xdebug] | 2.6.1 | 2.6.1 | 2.5.5 | | xml | | | | | xmlreader | | | | @@ -483,7 +484,7 @@ default params values: [rdkafka]: https://pecl.php.net/package/rdkafka [redis]: http://pecl.php.net/package/redis [uploadprogress]: https://pecl.php.net/package/uploadprogress -[uploadprogress]: https://pecl.php.net/package/uploadprogress +[uuid]: https://pecl.php.net/package/uuid [xdebug]: https://pecl.php.net/package/xdebug [yaml]: https://pecl.php.net/package/yaml [latest]: https://github.com/wodby/pecl-php-uploadprogress/releases/tag/latest From 3f357de0ac330dd33a85e6cdc45af6611347933c Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 11 Oct 2018 15:38:15 +0700 Subject: [PATCH 265/559] Update tests for uuid extension #43 --- 5.6/tests/php_modules | 1 + 7/tests/php_modules/7.2 | 1 + 2 files changed, 2 insertions(+) diff --git a/5.6/tests/php_modules b/5.6/tests/php_modules index 194151ef..314e66e7 100644 --- a/5.6/tests/php_modules +++ b/5.6/tests/php_modules @@ -63,6 +63,7 @@ standard tidy tokenizer uploadprogress +uuid xdebug xml xmlreader diff --git a/7/tests/php_modules/7.2 b/7/tests/php_modules/7.2 index e591bb3b..10619af2 100644 --- a/7/tests/php_modules/7.2 +++ b/7/tests/php_modules/7.2 @@ -63,6 +63,7 @@ tideways_xhprof tidy tokenizer uploadprogress +uuid xdebug xml xmlreader From f8fafcca6a8944af2334df71ed0ed3a43eda78d3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 11 Oct 2018 16:47:27 +0700 Subject: [PATCH 266/559] Update tests for uuid extension #43 --- 7/tests/php_modules/7.1 | 1 + 1 file changed, 1 insertion(+) diff --git a/7/tests/php_modules/7.1 b/7/tests/php_modules/7.1 index 9db62148..88d96de7 100644 --- a/7/tests/php_modules/7.1 +++ b/7/tests/php_modules/7.1 @@ -62,6 +62,7 @@ tideways_xhprof tidy tokenizer uploadprogress +uuid xdebug xml xmlreader From 72653d4546a390dc49fcdc4eaef69de040188391 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 12 Oct 2018 04:28:38 +0000 Subject: [PATCH 267/559] Update php to 7.2.11 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index c6f90782..995b11ae 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.10#2018-09-29T19:02:20.071146Z +7.2.11#2018-10-11T19:08:33.318385Z 7.1.22#2018-09-29T19:01:38.539438Z 5.6.38#2018-09-29T18:59:49.246651Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 418728a5..a7191a4f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP72=7.2.10 + - PHP72=7.2.11 - PHP71=7.1.22 - PHP56=5.6.38 matrix: diff --git a/7/Makefile b/7/Makefile index 25c2c4ed..94c911b7 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.10 +PHP_VER ?= 7.2.11 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From dd079d19e948948cbeb47b04bd4c2fe8f6406946 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 12 Oct 2018 04:28:38 +0000 Subject: [PATCH 268/559] Update php to 7.1.23 --- .base-php | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index 995b11ae..38aaa631 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ 7.2.11#2018-10-11T19:08:33.318385Z -7.1.22#2018-09-29T19:01:38.539438Z +7.1.23#2018-10-11T19:07:16.994519Z 5.6.38#2018-09-29T18:59:49.246651Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index a7191a4f..80b036d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP72=7.2.11 - - PHP71=7.1.22 + - PHP71=7.1.23 - PHP56=5.6.38 matrix: - PHP_VER="${PHP72}" TAGS=7.2,7,latest From 6610add30a7b97a58bed07ba02dc2395ea27e573 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 12 Oct 2018 04:28:45 +0000 Subject: [PATCH 269/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 38aaa631..e3ecd4d7 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.11#2018-10-11T19:08:33.318385Z -7.1.23#2018-10-11T19:07:16.994519Z -5.6.38#2018-09-29T18:59:49.246651Z \ No newline at end of file +7.2.11#2018-10-11T19:08:35.222512Z +7.1.23#2018-10-11T19:07:18.923794Z +5.6.38#2018-10-11T19:06:24.871089Z \ No newline at end of file From 8cf9bff89881241c663c4abe677cb997de5ca191 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 12 Oct 2018 05:03:18 +0000 Subject: [PATCH 270/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index e3ecd4d7..cd318adb 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.11#2018-10-11T19:08:35.222512Z -7.1.23#2018-10-11T19:07:18.923794Z -5.6.38#2018-10-11T19:06:24.871089Z \ No newline at end of file +7.2.11#2018-10-12T04:37:49.372400Z +7.1.23#2018-10-12T04:36:58.542666Z +5.6.38#2018-10-12T04:36:03.391840Z \ No newline at end of file From 695cde7ad651887d409c43fa0299031e9bfa44a0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 18 Oct 2018 10:45:18 +0000 Subject: [PATCH 271/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index cd318adb..e00790de 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.11#2018-10-12T04:37:49.372400Z -7.1.23#2018-10-12T04:36:58.542666Z -5.6.38#2018-10-12T04:36:03.391840Z \ No newline at end of file +7.2.11#2018-10-17T19:11:26.840486Z +7.1.23#2018-10-17T19:10:56.939890Z +5.6.38#2018-10-17T19:09:30.171690Z \ No newline at end of file From 1f641e18a25d139eaaeddb160fd85bf49e37d44e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 18 Oct 2018 18:03:25 +0700 Subject: [PATCH 272/559] Update ast extension to 0.1.7 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index e0ffad84..528d9372 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -180,7 +180,7 @@ RUN set -xe; \ pecl install \ amqp-1.9.3 \ apcu-5.1.12 \ - ast-0.1.6 \ + ast-0.1.7 \ ds-1.2.6 \ geoip-1.1.1 \ grpc-1.15.0 \ diff --git a/README.md b/README.md index a66d17e3..62c4b498 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | | apc | - | - | - | | [apcu] | 5.1.12 | 5.1.12 | 4.0.11 | -| [ast] | 0.1.6 | 0.1.6 | - | +| [ast] | 0.1.7 | 0.1.7 | - | | [blackfire] | latest | latest | latest | | bcmath | | | | | bz2 | | | | From 1dcd2f7b9c270201a1aa85848351e3e007982a35 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 18 Oct 2018 18:07:57 +0700 Subject: [PATCH 273/559] Update gnu-libiconv package #44 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 1f53eeed..a0ea184f 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -104,7 +104,7 @@ RUN set -xe; \ -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ freetype=2.9.1-r2 \ - gnu-libiconv=1.15-r1 \ + gnu-libiconv=1.15-r2 \ # @todo install imagemagick from stable repository once it comes with --disable-openmp option. imagemagick=7.0.8.11-r0; \ \ diff --git a/7/Dockerfile b/7/Dockerfile index 528d9372..8557f95d 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -104,7 +104,7 @@ RUN set -xe; \ -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ freetype=2.9.1-r2 \ - gnu-libiconv=1.15-r1 \ + gnu-libiconv=1.15-r2 \ # @todo install imagemagick from stable repository once it comes with --disable-openmp option. imagemagick=7.0.8.11-r0; \ \ From 19eba430c0f731bb13c980ed311b58fa1adca19a Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 21 Oct 2018 19:03:05 +0000 Subject: [PATCH 274/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index e00790de..42dbf284 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.11#2018-10-17T19:11:26.840486Z -7.1.23#2018-10-17T19:10:56.939890Z -5.6.38#2018-10-17T19:09:30.171690Z \ No newline at end of file +7.2.11#2018-10-20T19:11:55.303196Z +7.1.23#2018-10-20T19:12:01.663692Z +5.6.38#2018-10-20T19:10:14.181892Z \ No newline at end of file From c48d691a96f5174ea857dfd39067d06abf5eb204 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 23 Oct 2018 17:34:48 +0700 Subject: [PATCH 275/559] Add event extension --- 5.6/Dockerfile | 3 +++ 5.6/tests/php_modules | 1 + 7/Dockerfile | 5 +++++ 7/tests/php_modules/7.1 | 1 + 7/tests/php_modules/7.2 | 1 + README.md | 2 ++ 6 files changed, 13 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index a0ea184f..8efd13a2 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -49,6 +49,7 @@ RUN set -xe; \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ + libevent=2.1.8-r5 \ libjpeg-turbo=1.5.3-r3 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ @@ -71,6 +72,7 @@ RUN set -xe; \ su-exec \ sudo \ tidyhtml-libs=5.6.0-r0 \ + # todo: move out tig and tmux to -dev version. tig \ tmux \ yaml=0.1.7-r0; \ @@ -85,6 +87,7 @@ RUN set -xe; \ icu-dev \ imap-dev \ jpeg-dev \ + libevent-dev \ libjpeg-turbo-dev \ libmemcached-dev \ libmcrypt-dev \ diff --git a/5.6/tests/php_modules b/5.6/tests/php_modules index 314e66e7..a4a4eeb7 100644 --- a/5.6/tests/php_modules +++ b/5.6/tests/php_modules @@ -12,6 +12,7 @@ curl date dom ereg +event exif fileinfo filter diff --git a/7/Dockerfile b/7/Dockerfile index 8557f95d..89845217 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -49,6 +49,7 @@ RUN set -xe; \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ + libevent=2.1.8-r5 \ libjpeg-turbo=1.5.3-r3 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ @@ -71,6 +72,7 @@ RUN set -xe; \ su-exec \ sudo \ tidyhtml-libs=5.6.0-r0 \ + # todo: move out tig and tmux to -dev version. tig \ tmux \ yaml=0.1.7-r0; \ @@ -85,6 +87,7 @@ RUN set -xe; \ icu-dev \ imap-dev \ jpeg-dev \ + libevent-dev \ libjpeg-turbo-dev \ libmemcached-dev \ libmcrypt-dev \ @@ -182,6 +185,7 @@ RUN set -xe; \ apcu-5.1.12 \ ast-0.1.7 \ ds-1.2.6 \ + event-2.4.1 \ geoip-1.1.1 \ grpc-1.15.0 \ igbinary-2.0.7 \ @@ -200,6 +204,7 @@ RUN set -xe; \ apcu \ ast \ ds \ + event \ igbinary \ imagick \ geoip \ diff --git a/7/tests/php_modules/7.1 b/7/tests/php_modules/7.1 index 88d96de7..7f0091d8 100644 --- a/7/tests/php_modules/7.1 +++ b/7/tests/php_modules/7.1 @@ -12,6 +12,7 @@ curl date dom ds +event exif fileinfo filter diff --git a/7/tests/php_modules/7.2 b/7/tests/php_modules/7.2 index 10619af2..f85f5cab 100644 --- a/7/tests/php_modules/7.2 +++ b/7/tests/php_modules/7.2 @@ -12,6 +12,7 @@ curl date dom ds +event exif fileinfo filter diff --git a/README.md b/README.md index 62c4b498..74a29016 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | [ds] | 1.2.6 | 1.2.6 | - | | exif | | | | | ereg | - | - | | +| [event] | 2.4.1 | 2.4.1 | 2.4.1 | | fileinfo | | | | | filter | | | | | ftp | | | | @@ -472,6 +473,7 @@ default params values: [apcu]: http://pecl.php.net/package/apcu [ast]: https://github.com/nikic/php-ast [ds]: https://pecl.php.net/package/ds +[event]: https://pecl.php.net/package/event [geoip]: https://pecl.php.net/package/geoip [grpc]: https://pecl.php.net/package/grpc [igbinary]: https://pecl.php.net/package/igbinary From ada3582e047b562ff1a78e2133682996540736b7 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 24 Oct 2018 11:59:44 +0700 Subject: [PATCH 276/559] Bugfix: tideways xhprof extension could not be enabled --- 7/docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 6927a6f5..b9668d00 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -74,7 +74,7 @@ process_templates() { _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - _gotpl "docker-php-ext-tideways.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways_xhprof.ini" + _gotpl "docker-php-ext-tideways_xhprof.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways_xhprof.ini" _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" From 905d2c53f72d147743431e40cb396b0a16579ebb Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 24 Oct 2018 12:06:51 +0700 Subject: [PATCH 277/559] Downgrade imagemagick to 7.0.7.32 from 3.8 repository with enabled openmp --- 5.6/Dockerfile | 21 ++++++--------------- 7/Dockerfile | 21 ++++++--------------- 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 8efd13a2..9d613c06 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -42,10 +42,12 @@ RUN set -xe; \ c-client=2007f-r8 \ fcgi \ findutils \ + freetype=2.9.1-r1 \ geoip=1.6.12-r1 \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ + imagemagick=7.0.7.32-r0; \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ @@ -82,9 +84,11 @@ RUN set -xe; \ cmake \ build-base \ bzip2-dev \ + freetype-dev \ geoip-dev \ gmp-dev \ icu-dev \ + imagemagick-dev \ imap-dev \ jpeg-dev \ libevent-dev \ @@ -102,21 +106,8 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ - apk add -U --no-cache -t .php-edge-rundeps \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ - freetype=2.9.1-r2 \ - gnu-libiconv=1.15-r2 \ - # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - imagemagick=7.0.8.11-r0; \ - \ - apk add -U --no-cache -t .edge-build-deps \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ - # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - freetype-dev=2.9.1-r2 \ - imagemagick-dev=7.0.8.11-r0; \ + apk add -U --no-cache -t .php-edge-rundeps -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + gnu-libiconv=1.15-r2; \ \ # Install redis-cli. apk add --update --no-cache redis; \ diff --git a/7/Dockerfile b/7/Dockerfile index 89845217..018abecc 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -42,10 +42,12 @@ RUN set -xe; \ c-client=2007f-r8 \ fcgi \ findutils \ + freetype=2.9.1-r1 \ geoip=1.6.12-r1 \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ + imagemagick=7.0.7.32-r0; \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ @@ -82,9 +84,11 @@ RUN set -xe; \ cmake \ build-base \ bzip2-dev \ + freetype-dev \ geoip-dev \ gmp-dev \ icu-dev \ + imagemagick-dev \ imap-dev \ jpeg-dev \ libevent-dev \ @@ -102,21 +106,8 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ - apk add -U --no-cache -t .php-edge-rundeps \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ - freetype=2.9.1-r2 \ - gnu-libiconv=1.15-r2 \ - # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - imagemagick=7.0.8.11-r0; \ - \ - apk add -U --no-cache -t .edge-build-deps \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main/ \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ - # @todo install imagemagick from stable repository once it comes with --disable-openmp option. - freetype-dev=2.9.1-r2 \ - imagemagick-dev=7.0.8.11-r0; \ + apk add -U --no-cache -t .php-edge-rundeps -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + gnu-libiconv=1.15-r2; \ \ # Install redis-cli. apk add --update --no-cache redis; \ From 4d41129f359b6fa95791a8cf945b2946be76c313 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 24 Oct 2018 12:43:41 +0700 Subject: [PATCH 278/559] Minor fix --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 9d613c06..3314e92d 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -47,7 +47,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.7.32-r0; \ + imagemagick=7.0.7.32-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ diff --git a/7/Dockerfile b/7/Dockerfile index 018abecc..7fc52ab1 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -47,7 +47,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.7.32-r0; \ + imagemagick=7.0.7.32-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ From 9220b6d469cf4ed87095830b41810838f9588d47 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 24 Oct 2018 13:09:46 +0700 Subject: [PATCH 279/559] Minor fix --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 3314e92d..8c8f7154 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -289,7 +289,7 @@ RUN set -xe; \ # Cleanup su-exec wodby composer clear-cache; \ docker-php-source delete; \ - apk del --purge .build-deps imagemagick-dev; \ + apk del --purge .build-deps; \ pecl clear-cache; \ \ rm -rf \ diff --git a/7/Dockerfile b/7/Dockerfile index 7fc52ab1..4864d6ad 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -299,7 +299,7 @@ RUN set -xe; \ \ su-exec wodby composer clear-cache; \ docker-php-source delete; \ - apk del --purge .build-deps .edge-build-deps; \ + apk del --purge .build-deps; \ pecl clear-cache; \ \ rm -rf \ From 0352208a86ce8892bed1007bf6c28a4508509073 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 24 Oct 2018 17:09:32 +0700 Subject: [PATCH 280/559] Event extension must be loaded after sockets --- 5.6/Dockerfile | 4 ++++ 7/Dockerfile | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 8c8f7154..2e7670f1 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -205,6 +205,10 @@ RUN set -xe; \ xdebug \ yaml; \ \ + # Event extension should be loaded after sockets. + # http://osmanov-dev-notes.blogspot.com/2013/07/fixing-php-start-up-error-unable-to.html + mv /usr/local/etc/php/conf.d/docker-php-ext-event.ini /usr/local/etc/php/conf.d/z-docker-php-ext-event.ini; \ + \ # Blackfire extension (they have free tier). mkdir -p /tmp/blackfire; \ version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ diff --git a/7/Dockerfile b/7/Dockerfile index 4864d6ad..34ba5280 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -209,6 +209,10 @@ RUN set -xe; \ xdebug \ yaml; \ \ + # Event extension should be loaded after sockets. + # http://osmanov-dev-notes.blogspot.com/2013/07/fixing-php-start-up-error-unable-to.html + mv /usr/local/etc/php/conf.d/docker-php-ext-event.ini /usr/local/etc/php/conf.d/z-docker-php-ext-event.ini; \ + \ # Blackfire extension (they have free tier). mkdir -p /tmp/blackfire; \ version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ From fb36170c511846cbd78f726ebf6956ed5ce88ae3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 24 Oct 2018 17:19:12 +0700 Subject: [PATCH 281/559] Update igbinary to 2.0.8, ast to 1.0.0 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 4 ++-- README.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 2e7670f1..d779b0f4 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -176,7 +176,7 @@ RUN set -xe; \ apcu-4.0.11 \ geoip-1.1.1 \ grpc-1.15.0 \ - igbinary-2.0.7 \ + igbinary-2.0.8 \ imagick-3.4.3 \ memcached-2.2.0 \ mongodb-1.5.3 \ diff --git a/7/Dockerfile b/7/Dockerfile index 34ba5280..06f9c32b 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -174,12 +174,12 @@ RUN set -xe; \ pecl install \ amqp-1.9.3 \ apcu-5.1.12 \ - ast-0.1.7 \ + ast-1.0.0 \ ds-1.2.6 \ event-2.4.1 \ geoip-1.1.1 \ grpc-1.15.0 \ - igbinary-2.0.7 \ + igbinary-2.0.8 \ imagick-3.4.3 \ memcached-3.0.4 \ mongodb-1.5.3 \ diff --git a/README.md b/README.md index 74a29016..0ccefb6d 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | | apc | - | - | - | | [apcu] | 5.1.12 | 5.1.12 | 4.0.11 | -| [ast] | 0.1.7 | 0.1.7 | - | +| [ast] | 1.0.0 | 1.0.0 | - | | [blackfire] | latest | latest | latest | | bcmath | | | | | bz2 | | | | @@ -233,7 +233,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag | [grpc] | 1.15.0 | 1.15.0 | 1.15.0 | | hash | | | | | iconv | | | | -| [igbinary] | 2.0.7 | 2.0.7 | 2.0.7 | +| [igbinary] | 2.0.8 | 2.0.8 | 2.0.8 | | [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | | imap | | | | | intl | | | | From 2d069739d73668523aaeab25464893f070453248 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 24 Oct 2018 18:45:05 +0700 Subject: [PATCH 282/559] Add event extension to 5.6 --- 5.6/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index d779b0f4..627f1a02 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -174,6 +174,7 @@ RUN set -xe; \ pecl install \ amqp-1.9.3 \ apcu-4.0.11 \ + event-2.4.1 \ geoip-1.1.1 \ grpc-1.15.0 \ igbinary-2.0.8 \ @@ -191,6 +192,7 @@ RUN set -xe; \ docker-php-ext-enable \ amqp \ apcu \ + event \ igbinary \ imagick \ geoip \ From dbc8582967d2d9cbc3a96d4360c37ebf060a0ab0 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 26 Oct 2018 12:21:08 +0700 Subject: [PATCH 283/559] Allow to disable php extensions via $PHP_EXTENSIONS_DISABLE --- 5.6/docker-entrypoint.sh | 21 ++++++++++++++++++--- 7/docker-entrypoint.sh | 21 ++++++++++++++++++--- README.md | 3 +++ 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 23a73db2..3f05fae7 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -23,6 +23,11 @@ init_ssh_client() { fi } +init_git() { + git config --global user.email "${GIT_USER_EMAIL}" + git config --global user.name "${GIT_USER_NAME}" +} + init_sshd() { _gotpl "sshd_config.tmpl" "/etc/ssh/sshd_config" @@ -78,9 +83,18 @@ process_templates() { _gotpl "ssh_config.tmpl" "${ssh_dir}/config" } -init_git() { - git config --global user.email "${GIT_USER_EMAIL}" - git config --global user.name "${GIT_USER_NAME}" +disable_modules() { + if [[ -n "${PHP_EXTENSIONS_DISABLE}" ]]; then + IFS=',' read -r -a modules <<< "${PHP_EXTENSIONS_DISABLE}" + + for module in "${modules[@]}"; do + if [[ -f "${PHP_INI_DIR}/conf.d/docker-php-ext-${module}.ini" ]]; then + rm "${PHP_INI_DIR}/conf.d/docker-php-ext-${module}.ini"; + else + echo "WARNING: instructed to disable module ${module} but it was not found" + fi + done + fi } sudo init_container @@ -88,6 +102,7 @@ sudo init_container init_ssh_client init_git process_templates +disable_modules if [[ "${@:1:2}" == "sudo /usr/sbin/sshd" ]]; then init_sshd diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index b9668d00..f39c5f10 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -23,6 +23,11 @@ init_ssh_client() { fi } +init_git() { + git config --global user.email "${GIT_USER_EMAIL}" + git config --global user.name "${GIT_USER_NAME}" +} + init_sshd() { _gotpl "sshd_config.tmpl" "/etc/ssh/sshd_config" @@ -81,9 +86,18 @@ process_templates() { _gotpl "ssh_config.tmpl" "${ssh_dir}/config" } -init_git() { - git config --global user.email "${GIT_USER_EMAIL}" - git config --global user.name "${GIT_USER_NAME}" +disable_modules() { + if [[ -n "${PHP_EXTENSIONS_DISABLE}" ]]; then + IFS=',' read -r -a modules <<< "${PHP_EXTENSIONS_DISABLE}" + + for module in "${modules[@]}"; do + if [[ -f "${PHP_INI_DIR}/conf.d/docker-php-ext-${module}.ini" ]]; then + rm "${PHP_INI_DIR}/conf.d/docker-php-ext-${module}.ini"; + else + echo "WARNING: instructed to disable module ${module} but it was not found" + fi + done + fi } sudo init_container @@ -91,6 +105,7 @@ sudo init_container init_ssh_client init_git process_templates +disable_modules if [[ "${@:1:2}" == "sudo /usr/sbin/sshd" ]]; then init_sshd diff --git a/README.md b/README.md index 0ccefb6d..d03797ff 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ The default configuration is not recommended to be used for production environme | [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | | [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | | [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | +| `PHP_EXTENSIONS_DISABLE` | | | | | [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | | `PHP_FPM_ENV_VARS` | | | | | [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | @@ -206,6 +207,8 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag ## PHP Extensions +You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated by `,`, e.g. `$PHP_EXTENSIONS_DISABLE=geoip,ds` + | Extension | 7.2 | 7.1 | 5.6 | | ---------------- | -------- | -------- | -------- | | [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | From b79b737fddd596f17643c39d1e283fee68acdee8 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 26 Oct 2018 12:22:20 +0700 Subject: [PATCH 284/559] grpc minor update: 1.16.0 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 627f1a02..02915486 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -176,7 +176,7 @@ RUN set -xe; \ apcu-4.0.11 \ event-2.4.1 \ geoip-1.1.1 \ - grpc-1.15.0 \ + grpc-1.16.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ memcached-2.2.0 \ diff --git a/7/Dockerfile b/7/Dockerfile index 06f9c32b..36f806ae 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -178,7 +178,7 @@ RUN set -xe; \ ds-1.2.6 \ event-2.4.1 \ geoip-1.1.1 \ - grpc-1.15.0 \ + grpc-1.16.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ memcached-3.0.4 \ diff --git a/README.md b/README.md index d03797ff..09cb33af 100644 --- a/README.md +++ b/README.md @@ -233,7 +233,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | ftp | | | | | gd | | | | | [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.15.0 | 1.15.0 | 1.15.0 | +| [grpc] | 1.16.0 | 1.16.0 | 1.16.0 | | hash | | | | | iconv | | | | | [igbinary] | 2.0.8 | 2.0.8 | 2.0.8 | From 4da59dd128dd8039e5f2cc9c210c7682e6545d19 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 26 Oct 2018 08:29:47 +0000 Subject: [PATCH 285/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 42dbf284..4918abc1 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.11#2018-10-20T19:11:55.303196Z -7.1.23#2018-10-20T19:12:01.663692Z -5.6.38#2018-10-20T19:10:14.181892Z \ No newline at end of file +7.2.11#2018-10-25T19:14:04.933777Z +7.1.23#2018-10-25T19:13:10.421396Z +5.6.38#2018-10-25T19:13:29.638829Z \ No newline at end of file From 6d7cccf123a8c52bf9b548b94c9151ef5b7d9abb Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 9 Nov 2018 01:57:20 +0000 Subject: [PATCH 286/559] Php patch update to 7.2.12 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 4918abc1..8964ef16 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.11#2018-10-25T19:14:04.933777Z +7.2.12#2018-11-08T19:20:58.828990Z 7.1.23#2018-10-25T19:13:10.421396Z 5.6.38#2018-10-25T19:13:29.638829Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 80b036d8..37f7b998 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP72=7.2.11 + - PHP72=7.2.12 - PHP71=7.1.23 - PHP56=5.6.38 matrix: diff --git a/7/Makefile b/7/Makefile index 94c911b7..90f3c2c5 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.11 +PHP_VER ?= 7.2.12 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 7951e203f756776a8ed0885ae6f3dfd87761253c Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 9 Nov 2018 01:57:20 +0000 Subject: [PATCH 287/559] Php patch update to 7.1.24 --- .base-php | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index 8964ef16..5f9bf4d5 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ 7.2.12#2018-11-08T19:20:58.828990Z -7.1.23#2018-10-25T19:13:10.421396Z +7.1.24#2018-11-08T19:19:49.521617Z 5.6.38#2018-10-25T19:13:29.638829Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 37f7b998..d9b35c0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP72=7.2.12 - - PHP71=7.1.23 + - PHP71=7.1.24 - PHP56=5.6.38 matrix: - PHP_VER="${PHP72}" TAGS=7.2,7,latest From a331d90074bf8b8461c068ada33771030eb53c01 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 9 Nov 2018 01:57:26 +0000 Subject: [PATCH 288/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 5f9bf4d5..46c24c75 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.12#2018-11-08T19:20:58.828990Z -7.1.24#2018-11-08T19:19:49.521617Z -5.6.38#2018-10-25T19:13:29.638829Z \ No newline at end of file +7.2.12#2018-11-08T19:21:00.955732Z +7.1.24#2018-11-08T19:19:51.464114Z +5.6.38#2018-11-08T19:20:00.987210Z \ No newline at end of file From 13e256f76246514311dea227162d8afc016a5942 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Nov 2018 09:08:43 +0700 Subject: [PATCH 289/559] Update orig configs --- 7/orig/php-7.2.ini-development | 2 +- 7/orig/php-7.2.ini-production | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index 8dbdba32..2c18ba41 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -865,7 +865,7 @@ default_socket_timeout = 60 ; For example: ; ; extension=mysqli -; +; ; When the extension library to load is not located in the default extension ; directory, You may specify an absolute path to the library file: ; diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index bcb08282..b8f8449a 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -872,7 +872,7 @@ default_socket_timeout = 60 ; For example: ; ; extension=mysqli -; +; ; When the extension library to load is not located in the default extension ; directory, You may specify an absolute path to the library file: ; From ad53675da2262db20b3789a94725abf7fc71be6b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 9 Nov 2018 09:15:01 +0700 Subject: [PATCH 290/559] Set default session.save_path to /mnt/files/sessions for persistent sessions by default, closes #47 --- 5.6/Dockerfile | 1 + 5.6/bin/init_container | 3 ++- 5.6/templates/docker-php.ini.tmpl | 2 +- 7/Dockerfile | 1 + 7/bin/init_container | 3 ++- 7/templates/docker-php-7.1.ini.tmpl | 2 +- 7/templates/docker-php-7.2.ini.tmpl | 2 +- 7 files changed, 9 insertions(+), 5 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 02915486..58e7fca9 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -271,6 +271,7 @@ RUN set -xe; \ install -o www-data -g www-data -d \ "${FILES_DIR}/public" \ "${FILES_DIR}/private" \ + "${FILES_DIR}/sessions" \ "${FILES_DIR}/xdebug/traces" \ "${FILES_DIR}/xdebug/profiler" \ /home/www-data/.ssh; \ diff --git a/5.6/bin/init_container b/5.6/bin/init_container index 79a8dbfa..e506c29e 100755 --- a/5.6/bin/init_container +++ b/5.6/bin/init_container @@ -10,8 +10,9 @@ chown wodby:wodby "${APP_ROOT}" declare -a dirs=( "${FILES_DIR}" - "${FILES_DIR}/private" "${FILES_DIR}/public" + "${FILES_DIR}/private" + "${FILES_DIR}/sessions" "${FILES_DIR}/xdebug/profiler" "${FILES_DIR}/xdebug/traces" ) diff --git a/5.6/templates/docker-php.ini.tmpl b/5.6/templates/docker-php.ini.tmpl index 925f9e08..928bf327 100644 --- a/5.6/templates/docker-php.ini.tmpl +++ b/5.6/templates/docker-php.ini.tmpl @@ -50,7 +50,7 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Session] session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" "/mnt/files/sessions" }}" session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} diff --git a/7/Dockerfile b/7/Dockerfile index 36f806ae..5af7a6c6 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -282,6 +282,7 @@ RUN set -xe; \ install -o www-data -g www-data -d \ "${FILES_DIR}/public" \ "${FILES_DIR}/private" \ + "${FILES_DIR}/sessions" \ "${FILES_DIR}/xdebug/traces" \ "${FILES_DIR}/xdebug/profiler" \ /home/www-data/.ssh; \ diff --git a/7/bin/init_container b/7/bin/init_container index 79a8dbfa..e506c29e 100755 --- a/7/bin/init_container +++ b/7/bin/init_container @@ -10,8 +10,9 @@ chown wodby:wodby "${APP_ROOT}" declare -a dirs=( "${FILES_DIR}" - "${FILES_DIR}/private" "${FILES_DIR}/public" + "${FILES_DIR}/private" + "${FILES_DIR}/sessions" "${FILES_DIR}/xdebug/profiler" "${FILES_DIR}/xdebug/traces" ) diff --git a/7/templates/docker-php-7.1.ini.tmpl b/7/templates/docker-php-7.1.ini.tmpl index d13921d2..9ee2558f 100644 --- a/7/templates/docker-php-7.1.ini.tmpl +++ b/7/templates/docker-php-7.1.ini.tmpl @@ -46,7 +46,7 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Session] session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" "/mnt/files/sessions" }}" session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} diff --git a/7/templates/docker-php-7.2.ini.tmpl b/7/templates/docker-php-7.2.ini.tmpl index 71af7f47..5ced03f5 100644 --- a/7/templates/docker-php-7.2.ini.tmpl +++ b/7/templates/docker-php-7.2.ini.tmpl @@ -45,7 +45,7 @@ mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} [Session] session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" }}" +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" "/mnt/files/sessions" }}" session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} From f5d0ef2e12d0e87c94115e4662c4b78106a0091a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 23 Nov 2018 11:15:19 +0700 Subject: [PATCH 291/559] Update imagemagick package (disabled openmp) --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 58e7fca9..6931445d 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -47,7 +47,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.7.32-r0 \ + imagemagick=7.0.7.32-r1 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ diff --git a/7/Dockerfile b/7/Dockerfile index 5af7a6c6..58527842 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -47,7 +47,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.7.32-r0 \ + imagemagick=7.0.7.32-r1 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ From 4472ff1c39a00b2b3cff57279c5dc703b7835688 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 23 Nov 2018 11:16:44 +0700 Subject: [PATCH 292/559] Bugfix: /home/* permissions was set to wodby https://github.com/wodby/drupal-php/issues/62 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 6931445d..8be41413 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -280,7 +280,7 @@ RUN set -xe; \ chown -R wodby:wodby \ "${PHP_INI_DIR}/conf.d" \ /usr/local/etc/php-fpm.d \ - /home/wodby/.*; \ + /home/wodby/.[^.]*; \ \ # SSHD touch /etc/ssh/sshd_config; \ diff --git a/7/Dockerfile b/7/Dockerfile index 58527842..2a39c6f8 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -291,7 +291,7 @@ RUN set -xe; \ chown -R wodby:wodby \ "${PHP_INI_DIR}/conf.d" \ /usr/local/etc/php-fpm.d \ - /home/wodby/.*; \ + /home/wodby/.[^.]*; \ \ touch /etc/ssh/sshd_config; \ chown wodby: /etc/ssh/sshd_config; \ From 45d31611fe94af582b037efa41729518973a63af Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 23 Nov 2018 11:20:18 +0700 Subject: [PATCH 293/559] Update pecl extensions, closes #49 --- 7/Dockerfile | 6 +++--- README.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 2a39c6f8..70c31f58 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -173,9 +173,9 @@ RUN set -xe; \ \ pecl install \ amqp-1.9.3 \ - apcu-5.1.12 \ + apcu-5.1.14 \ ast-1.0.0 \ - ds-1.2.6 \ + ds-1.2.7 \ event-2.4.1 \ geoip-1.1.1 \ grpc-1.16.0 \ @@ -188,7 +188,7 @@ RUN set -xe; \ redis-4.1.1 \ uuid-1.0.4 \ xdebug-2.6.1 \ - yaml-2.0.2; \ + yaml-2.0.3; \ \ docker-php-ext-enable \ amqp \ diff --git a/README.md b/README.md index 09cb33af..3f493235 100644 --- a/README.md +++ b/README.md @@ -213,7 +213,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | ---------------- | -------- | -------- | -------- | | [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | | apc | - | - | - | -| [apcu] | 5.1.12 | 5.1.12 | 4.0.11 | +| [apcu] | 5.1.14 | 5.1.14 | 4.0.11 | | [ast] | 1.0.0 | 1.0.0 | - | | [blackfire] | latest | latest | latest | | bcmath | | | | @@ -224,7 +224,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | curl | | | | | date | | | | | dom | | | | -| [ds] | 1.2.6 | 1.2.6 | - | +| [ds] | 1.2.7 | 1.2.7 | - | | exif | | | | | ereg | - | - | | | [event] | 2.4.1 | 2.4.1 | 2.4.1 | @@ -285,7 +285,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | xmlrpc | | | | | xmlwriter | | | | | xsl | | | | -| [yaml] | 2.0.2 | 2.0.2 | 1.3.1 | +| [yaml] | 2.0.3 | 2.0.3 | 1.3.1 | | Zend OPcache | | | | | zip | | | | | zlib | | | | From 17dc68f304efd37aa1168a42ab2c1c0c9ee91e46 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 10 Nov 2018 19:12:52 +0000 Subject: [PATCH 294/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 46c24c75..f7033902 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.12#2018-11-08T19:21:00.955732Z -7.1.24#2018-11-08T19:19:51.464114Z -5.6.38#2018-11-08T19:20:00.987210Z \ No newline at end of file +7.2.12#2018-11-09T19:22:02.102805Z +7.1.24#2018-11-09T19:20:14.113725Z +5.6.38#2018-11-09T19:19:10.280180Z \ No newline at end of file From 7487cab2ccc1f6a3cc4e5048b49b6d0383c94cb2 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 11 Nov 2018 19:12:31 +0000 Subject: [PATCH 295/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index f7033902..d2b82d57 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.12#2018-11-09T19:22:02.102805Z -7.1.24#2018-11-09T19:20:14.113725Z -5.6.38#2018-11-09T19:19:10.280180Z \ No newline at end of file +7.2.12#2018-11-10T19:22:13.007322Z +7.1.24#2018-11-10T19:21:21.198486Z +5.6.38#2018-11-10T19:20:32.124178Z \ No newline at end of file From d27263d27d3da2eff28f1bb5b1d62ec2c8d06855 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 14 Nov 2018 19:13:41 +0000 Subject: [PATCH 296/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index d2b82d57..d5b67b46 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.12#2018-11-10T19:22:13.007322Z -7.1.24#2018-11-10T19:21:21.198486Z -5.6.38#2018-11-10T19:20:32.124178Z \ No newline at end of file +7.2.12#2018-11-14T03:55:17.011141Z +7.1.24#2018-11-14T03:52:41.003649Z +5.6.38#2018-11-14T03:51:36.070433Z \ No newline at end of file From 35f169c46b525cac4ffbd291e78afefaf9daba86 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 16 Nov 2018 19:14:39 +0000 Subject: [PATCH 297/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index d5b67b46..9027fa3d 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.12#2018-11-14T03:55:17.011141Z -7.1.24#2018-11-14T03:52:41.003649Z -5.6.38#2018-11-14T03:51:36.070433Z \ No newline at end of file +7.2.12#2018-11-15T19:23:29.538368Z +7.1.24#2018-11-15T19:22:25.215790Z +5.6.38#2018-11-15T19:21:47.592328Z \ No newline at end of file From 8d5502c4c88489eb412558c40375b75f9b94a4d3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 23 Nov 2018 11:58:59 +0700 Subject: [PATCH 298/559] Rollback pecl extensions updates, reopens #49 --- 7/Dockerfile | 4 ++-- README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 70c31f58..29c9df2f 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -175,7 +175,7 @@ RUN set -xe; \ amqp-1.9.3 \ apcu-5.1.14 \ ast-1.0.0 \ - ds-1.2.7 \ + ds-1.2.6 \ event-2.4.1 \ geoip-1.1.1 \ grpc-1.16.0 \ @@ -188,7 +188,7 @@ RUN set -xe; \ redis-4.1.1 \ uuid-1.0.4 \ xdebug-2.6.1 \ - yaml-2.0.3; \ + yaml-2.0.2; \ \ docker-php-ext-enable \ amqp \ diff --git a/README.md b/README.md index 3f493235..1901b2e4 100644 --- a/README.md +++ b/README.md @@ -224,7 +224,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | curl | | | | | date | | | | | dom | | | | -| [ds] | 1.2.7 | 1.2.7 | - | +| [ds] | 1.2.6 | 1.2.6 | - | | exif | | | | | ereg | - | - | | | [event] | 2.4.1 | 2.4.1 | 2.4.1 | @@ -285,7 +285,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | xmlrpc | | | | | xmlwriter | | | | | xsl | | | | -| [yaml] | 2.0.3 | 2.0.3 | 1.3.1 | +| [yaml] | 2.0.2 | 2.0.2 | 1.3.1 | | Zend OPcache | | | | | zip | | | | | zlib | | | | From f2adb54598ac97e02199ad5ab2ed5bbcbe7248fc Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 23 Nov 2018 08:13:51 +0000 Subject: [PATCH 299/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 9027fa3d..f024e953 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.12#2018-11-15T19:23:29.538368Z -7.1.24#2018-11-15T19:22:25.215790Z -5.6.38#2018-11-15T19:21:47.592328Z \ No newline at end of file +7.2.12#2018-11-23T06:51:08.251065Z +7.1.24#2018-11-23T06:50:21.378028Z +5.6.38#2018-11-23T06:49:01.337457Z \ No newline at end of file From e7e6b9d25a8498991e02c7d45745becf7fc94530 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 29 Nov 2018 19:20:04 +0000 Subject: [PATCH 300/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index f024e953..5d926557 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.12#2018-11-23T06:51:08.251065Z -7.1.24#2018-11-23T06:50:21.378028Z -5.6.38#2018-11-23T06:49:01.337457Z \ No newline at end of file +7.2.12#2018-11-28T19:29:27.086819Z +7.1.24#2018-11-28T19:28:46.700086Z +5.6.38#2018-11-28T19:27:24.684906Z \ No newline at end of file From dab436b6cc27f7a64a82cc738eb0867b4df64b71 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 6 Dec 2018 19:24:46 +0000 Subject: [PATCH 301/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 5d926557..32f2f7d5 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.2.12#2018-11-28T19:29:27.086819Z -7.1.24#2018-11-28T19:28:46.700086Z -5.6.38#2018-11-28T19:27:24.684906Z \ No newline at end of file +7.2.12#2018-12-05T19:34:17.428963Z +7.1.24#2018-12-05T19:35:04.145982Z +5.6.38#2018-12-05T19:31:59.034041Z \ No newline at end of file From 3899f777493cd85e90cfb8119ae42e651707356f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 7 Dec 2018 12:07:37 +0700 Subject: [PATCH 302/559] Update PHP to 7.2.13, 7.1.25, 5.6.39 --- .travis.yml | 6 +++--- 5.6/Makefile | 2 +- 7/Makefile | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index d9b35c0a..0e7d0bd3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,9 @@ services: env: global: - - PHP72=7.2.12 - - PHP71=7.1.24 - - PHP56=5.6.38 + - PHP72=7.2.13 + - PHP71=7.1.25 + - PHP56=5.6.39 matrix: - PHP_VER="${PHP72}" TAGS=7.2,7,latest - PHP_VER="${PHP71}" TAGS=7.1 diff --git a/5.6/Makefile b/5.6/Makefile index 15a033ca..0b138a99 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 5.6.38 +PHP_VER ?= 5.6.39 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php diff --git a/7/Makefile b/7/Makefile index 90f3c2c5..9023e398 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.12 +PHP_VER ?= 7.2.13 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From f00822587ca0d28aa8929c10102e5a51a8ef861a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 7 Dec 2018 16:34:56 +0700 Subject: [PATCH 303/559] Add PHP 7.3 / update yaml extension to 2.0.4 --- .base-php | 7 +- .travis.yml | 10 +- 7/Dockerfile | 54 +- 7/Makefile | 2 +- 7/docker-entrypoint.sh | 13 +- 7/orig/php-7.3.ini-development | 1916 ++++++++++++++++ 7/orig/php-7.3.ini-production | 1923 +++++++++++++++++ 7/templates/docker-php-7.3.ini.tmpl | 78 + .../docker-php-ext-opcache-7.1.ini.tmpl | 3 +- .../docker-php-ext-opcache-7.2.ini.tmpl | 3 +- .../docker-php-ext-opcache-7.3.ini.tmpl | 10 + README.md | 368 ++-- 12 files changed, 4168 insertions(+), 219 deletions(-) create mode 100644 7/orig/php-7.3.ini-development create mode 100644 7/orig/php-7.3.ini-production create mode 100644 7/templates/docker-php-7.3.ini.tmpl create mode 100644 7/templates/docker-php-ext-opcache-7.3.ini.tmpl diff --git a/.base-php b/.base-php index 32f2f7d5..74afb67e 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,4 @@ -7.2.12#2018-12-05T19:34:17.428963Z -7.1.24#2018-12-05T19:35:04.145982Z -5.6.38#2018-12-05T19:31:59.034041Z \ No newline at end of file +7.3.0#2018-12-07T05:16:09.642467Z +7.2.13#2018-12-07T05:15:10.240752Z +7.1.25#2018-12-07T05:14:57.865032Z +5.6.39#2018-12-07T05:13:28.366677Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 0e7d0bd3..bc592d06 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,17 +5,21 @@ services: env: global: + - PHP73=7.3.0 - PHP72=7.2.13 - PHP71=7.1.25 - PHP56=5.6.39 matrix: - - PHP_VER="${PHP72}" TAGS=7.2,7,latest + - PHP_VER="${PHP73}" TAGS=7.3,7,latest + - PHP_VER="${PHP72}" TAGS=7.2 - PHP_VER="${PHP71}" TAGS=7.1 - PHP_VER="${PHP56}" TAGS=5.6,5 - - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev,7-dev,dev + - PHP_VER="${PHP73}" PHP_DEV=1 TAGS=7.3-dev,7-dev,dev + - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev - PHP_VER="${PHP71}" PHP_DEV=1 TAGS=7.1-dev - PHP_VER="${PHP56}" PHP_DEV=1 TAGS=5.6-dev,5-dev - - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos,7-dev-macos,dev-macos + - PHP_VER="${PHP73}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.3-dev-macos,7-dev-macos,dev-macos + - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos - PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.1-dev-macos - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos diff --git a/7/Dockerfile b/7/Dockerfile index 29c9df2f..c2ed7cbd 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -62,6 +62,7 @@ RUN set -xe; \ librdkafka=0.11.4-r1 \ libuuid=2.32-r0 \ libxslt=1.1.32-r0 \ + libzip=1.5.1-r1 \ make \ mariadb-client=10.2.15-r0 \ nano \ @@ -99,6 +100,7 @@ RUN set -xe; \ librdkafka-dev \ libtool \ libxslt-dev \ + libzip-dev \ openldap-dev \ pcre-dev \ postgresql-dev \ @@ -155,24 +157,29 @@ RUN set -xe; \ if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ pecl install mcrypt-1.0.1; \ docker-php-ext-enable mcrypt; \ - else \ + elif [[ "${PHP_VERSION:0:3}" == "7.1" ]]; then \ docker-php-ext-install mcrypt; \ fi; \ \ - # NewRelic extension and agent. - newrelic_url="http://download.newrelic.com/php_agent/release/"; \ - wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ - tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ - export NR_INSTALL_SILENT=true; \ - export NR_INSTALL_USE_CP_NOT_LN=true; \ - bash /tmp/newrelic/newrelic-install install; \ - rm /usr/local/etc/php/conf.d/newrelic.ini; \ - mkdir -p /var/log/newrelic/; \ - chown -R www-data:www-data /var/log/newrelic/; \ - chmod -R 775 /var/log/newrelic/; \ + if [[ "${PHP_VERSION:0:3}" != "7.3" ]]; then \ + # NewRelic extension and agent. + newrelic_url="http://download.newrelic.com/php_agent/release/"; \ + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ + tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ + export NR_INSTALL_SILENT=true; \ + export NR_INSTALL_USE_CP_NOT_LN=true; \ + bash /tmp/newrelic/newrelic-install install; \ + rm /usr/local/etc/php/conf.d/newrelic.ini; \ + mkdir -p /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ + chmod -R 775 /var/log/newrelic/; \ + \ + # 7.3 version not yet supported https://github.com/pdezwart/php-amqp/pull/323 + pecl install amqp-1.9.3 memcached-3.0.4 xdebug-2.6.1; \ + docker-php-ext-enable amqp memcached xdebug; \ + fi; \ \ pecl install \ - amqp-1.9.3 \ apcu-5.1.14 \ ast-1.0.0 \ ds-1.2.6 \ @@ -181,17 +188,14 @@ RUN set -xe; \ grpc-1.16.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ - memcached-3.0.4 \ mongodb-1.5.3 \ oauth-2.0.3 \ rdkafka-3.0.5 \ redis-4.1.1 \ uuid-1.0.4 \ - xdebug-2.6.1 \ - yaml-2.0.2; \ + yaml-2.0.4; \ \ docker-php-ext-enable \ - amqp \ apcu \ ast \ ds \ @@ -200,25 +204,25 @@ RUN set -xe; \ imagick \ geoip \ grpc \ - memcached \ mongodb \ oauth \ redis \ rdkafka \ uuid \ - xdebug \ yaml; \ \ # Event extension should be loaded after sockets. # http://osmanov-dev-notes.blogspot.com/2013/07/fixing-php-start-up-error-unable-to.html mv /usr/local/etc/php/conf.d/docker-php-ext-event.ini /usr/local/etc/php/conf.d/z-docker-php-ext-event.ini; \ \ - # Blackfire extension (they have free tier). - mkdir -p /tmp/blackfire; \ - version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ - blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ - wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ + if [[ "${PHP_VERSION:0:3}" != "7.3" ]]; then \ + # Blackfire extension (they have free tier). + mkdir -p /tmp/blackfire; \ + version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ + blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ + wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ + mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ + fi; \ \ # Uploadprogress. mkdir -p /usr/src/php/ext/uploadprogress; \ diff --git a/7/Makefile b/7/Makefile index 9023e398..1bf04a30 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.2.13 +PHP_VER ?= 7.3.0 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index f39c5f10..a652764d 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -69,8 +69,10 @@ process_templates() { export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else # Extensions that don't work with --enabled-debug - _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" + if [[ "${php_ver_minor}" != "7.3" ]]; then + _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" + fi fi _gotpl "docker-php-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" @@ -78,11 +80,14 @@ process_templates() { _gotpl "docker-php-ext-geoip.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" _gotpl "docker-php-ext-tideways_xhprof.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways_xhprof.ini" + + if [[ "${php_ver_minor}" != "7.3" ]]; then + _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + fi + _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" - _gotpl "ssh_config.tmpl" "${ssh_dir}/config" } diff --git a/7/orig/php-7.3.ini-development b/7/orig/php-7.3.ini-development new file mode 100644 index 00000000..9da3a1d5 --- /dev/null +++ b/7/orig/php-7.3.ini-development @@ -0,0 +1,1916 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (usually C:\windows) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is the php.ini-development INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to an empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +;max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = On + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = On + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +; The syslog ident is a string which is prepended to every message logged +; to syslog. Only used when error_log is set to syslog. +;syslog.ident = php + +; The syslog facility is used to specify what type of program is logging +; the message. Only used when error_log is set to syslog. +;syslog.facility = user + +; Set this to disable filtering control characters (the default). +; Some loggers only accept NVT-ASCII, others accept anything that's not +; control characters. If your logger accepts everything, then no filtering +; is needed at all. +; Allowed values are: +; ascii (only base ASCII characters) +; no_ctrl (all characters except control characters) +; all (all characters) +;syslog.filter = ascii + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +;extension_dir = "./" +; On windows: +;extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +;sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +;cgi.discard_path=1 + +; FastCGI under IIS supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=.so' and +; 'extension='php_.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=) syntax. +; +; Notes for Windows environments : +; +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +;extension=curl +;extension=fileinfo +;extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=interbase +;extension=ldap +;extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +;extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc +;extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sodium +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < input_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +; PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +; PCRE library recursion limit. +; Please note that if you set this value to a high number you may consume all +; the available process stack and eventually crash PHP (due to reaching the +; stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +; Enables or disables JIT compilation of patterns. This requires the PCRE +; library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = Off + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_memory_statistics = On + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept an uninitialized session ID, and +; regenerates the session ID if the browser sends an uninitialized session ID. +; Strict mode protects applications from session fixation via a session adoption +; vulnerability. It is disabled by default for maximum compatibility, but +; enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it +; inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) +; Current valid values are "Lax" or "Strict" +; https://tools.ietf.org/html/draft-west-first-party-cookies-07 +session.cookie_samesite = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any given request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 100 +; when the session.gc_probability value is 1 will give you approximately a 1% chance +; the gc will run on any given request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any given request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute paths, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = 1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertionError on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a component's typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_translation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < input_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0x7FFFBFFF + +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=0 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: diff --git a/7/orig/php-7.3.ini-production b/7/orig/php-7.3.ini-production new file mode 100644 index 00000000..ede9ac60 --- /dev/null +++ b/7/orig/php-7.3.ini-production @@ -0,0 +1,1923 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (usually C:\windows) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is the php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to an empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +;max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +; The syslog ident is a string which is prepended to every message logged +; to syslog. Only used when error_log is set to syslog. +;syslog.ident = php + +; The syslog facility is used to specify what type of program is logging +; the message. Only used when error_log is set to syslog. +;syslog.facility = user + +; Set this to disable filtering control characters (the default). +; Some loggers only accept NVT-ASCII, others accept anything that's not +; control characters. If your logger accepts everything, then no filtering +; is needed at all. +; Allowed values are: +; ascii (only base ASCII characters) +; no_ctrl (all characters except control characters) +; all (all characters) +;syslog.filter = ascii + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +;extension_dir = "./" +; On windows: +;extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +;sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +;cgi.discard_path=1 + +; FastCGI under IIS supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=.so' and +; 'extension='php_.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=) syntax. +; +; Notes for Windows environments : +; +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +;extension=curl +;extension=fileinfo +;extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=interbase +;extension=ldap +;extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +;extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc +;extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sodium +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < input_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +; PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +; PCRE library recursion limit. +; Please note that if you set this value to a high number you may consume all +; the available process stack and eventually crash PHP (due to reaching the +; stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +; Enables or disables JIT compilation of patterns. This requires the PCRE +; library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = Off + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept an uninitialized session ID, and +; regenerates the session ID if the browser sends an uninitialized session ID. +; Strict mode protects applications from session fixation via a session adoption +; vulnerability. It is disabled by default for maximum compatibility, but +; enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it +; inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) +; Current valid values are "Lax" or "Strict" +; https://tools.ietf.org/html/draft-west-first-party-cookies-07 +session.cookie_samesite = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any given request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 100 +; when the session.gc_probability value is 1 will give you approximately a 1% chance +; the gc will run on any given request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any given request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute paths, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = -1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertionError on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a component's typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_translation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < input_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0x7FFFBFFF + +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=1 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: diff --git a/7/templates/docker-php-7.3.ini.tmpl b/7/templates/docker-php-7.3.ini.tmpl new file mode 100644 index 00000000..1fd45852 --- /dev/null +++ b/7/templates/docker-php-7.3.ini.tmpl @@ -0,0 +1,78 @@ +; This file user only to override default php.ini values +; BASIC SETTINGS: $PHP_INI_DIR/php.ini +; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf + +[PHP] +display_errors = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} +display_startup_errors = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} +expose_php = {{ getenv "PHP_EXPOSE" "Off" }} +max_execution_time = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} +max_input_time = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} +max_input_vars = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} +post_max_size = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} +upload_max_filesize = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} +max_file_uploads = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} +allow_url_fopen = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} +default_socket_timeout = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} +output_buffering = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} + +realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} +realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} +memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} +error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} +log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} +log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} +error_log = /proc/self/fd/2 +auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} +auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} + +[Date] +date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} + +[Phar] +phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} +phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} +phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} + +[mail function] +sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} + +[MySQLi] +mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} + +[Session] +session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" "/mnt/files/sessions" }}" +session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} +session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} +session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} +session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} +session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} +session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} +session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} +session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} +session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} +session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} +session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} +session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} +session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} +session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} +session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} +session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} +session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} +session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} +session.sid_length = {{ getenv "PHP_SESSION_SID_LENGTH" "26" }} +session.trans_sid_tags = "{{ getenv "PHP_SESSION_TRANS_SID_TAGS" "a=href,area=href,frame=src,form=" }}" +session.trans_sid_hosts = {{ getenv "PHP_SESSION_TRANS_SID_HOSTS" "" }} +session.sid_bits_per_character = {{ getenv "PHP_SESSION_SID_BITS_PER_CHARACTER" "5" }} +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" +session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} + +[Assertion] +zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} +assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} diff --git a/7/templates/docker-php-ext-opcache-7.1.ini.tmpl b/7/templates/docker-php-ext-opcache-7.1.ini.tmpl index 1c1e51b3..b7bcb042 100644 --- a/7/templates/docker-php-ext-opcache-7.1.ini.tmpl +++ b/7/templates/docker-php-ext-opcache-7.1.ini.tmpl @@ -7,4 +7,5 @@ opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4 opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} \ No newline at end of file +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} +opcache.huge_code_pages = {{ getenv "PHP_OPCACHE_HUGE_CODE_PAGES" "0" }} \ No newline at end of file diff --git a/7/templates/docker-php-ext-opcache-7.2.ini.tmpl b/7/templates/docker-php-ext-opcache-7.2.ini.tmpl index 09d12a3f..2f84815a 100644 --- a/7/templates/docker-php-ext-opcache-7.2.ini.tmpl +++ b/7/templates/docker-php-ext-opcache-7.2.ini.tmpl @@ -6,4 +6,5 @@ opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} \ No newline at end of file +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} +opcache.huge_code_pages = {{ getenv "PHP_OPCACHE_HUGE_CODE_PAGES" "0" }} \ No newline at end of file diff --git a/7/templates/docker-php-ext-opcache-7.3.ini.tmpl b/7/templates/docker-php-ext-opcache-7.3.ini.tmpl new file mode 100644 index 00000000..2f84815a --- /dev/null +++ b/7/templates/docker-php-ext-opcache-7.3.ini.tmpl @@ -0,0 +1,10 @@ +[opcache] +zend_extension = opcache.so +opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} +opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} +opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} +opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} +opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} +opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} +opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} +opcache.huge_code_pages = {{ getenv "PHP_OPCACHE_HUGE_CODE_PAGES" "0" }} \ No newline at end of file diff --git a/README.md b/README.md index 1901b2e4..11807c94 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ ## Docker Images -❗For better reliability we release images with stability tags (`wodby/php:7.2-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We strongly recommend using images only with stability tags. +❗For better reliability we release images with stability tags (`wodby/php:7.3-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We strongly recommend using images only with stability tags. About images: @@ -41,13 +41,16 @@ About images: Supported tags and respective `Dockerfile` links: -* `7.2`, `7`, `latest` [_(7/Dockerfile)_] +* `7.3`, `7`, `latest` [_(7/Dockerfile)_] +* `7.2` [_(7/Dockerfile)_] * `7.1` [_(7/Dockerfile)_] * `5.6`, `5` [_(5.6/Dockerfile)_] -* `7.2-dev`, `7-dev`, `dev` [_(7/Dockerfile)_] +* `7.3-dev`, `7-dev`, `dev` [_(7/Dockerfile)_] +* `7.2-dev` [_(7/Dockerfile)_] * `7.1-dev` [_(7/Dockerfile)_] * `5.6-dev`, `5-dev` [_(5.6/Dockerfile)_] -* `7.2-dev-macos`, `7-dev-macos`, `dev-macos` [_(7/Dockerfile)_] +* `7.3-dev-macos`, `7-dev-macos`, `dev-macos` [_(7/Dockerfile)_] +* `7.2-dev-macos` [_(7/Dockerfile)_] * `7.1-dev-macos` [_(7/Dockerfile)_] * `5.6-dev-macos`, `5-dev-macos` [_(5.6/Dockerfile)_] @@ -80,99 +83,100 @@ Include all changes from `-dev` images and additionally: The default configuration is not recommended to be used for production environment: -| Variable | 7.2 | 7.1 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | -| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | `0` | -| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | -| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | -| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | -| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | -| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | -| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | -| [`PHP_APCU_SERIALIZER`] | | | | -| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | -| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | -| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | -| [`PHP_APCU_TTL`] | `0` | `0` | `0` | -| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | -| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | -| [`PHP_AUTO_PREPEND_FILE`] | | | | -| [`PHP_AUTO_APPEND_FILE`] | | | | -| `PHP_BLACKFIRE` | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | -| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | -| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | -| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | -| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | -| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | -| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | -| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | -| `PHP_EXTENSIONS_DISABLE` | | | | -| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | -| `PHP_FPM_ENV_VARS` | | | | -| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | -| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | -| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | -| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | -| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | -| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | -| [`PHP_GEOIP_CUSTOM_DIR`] | | | | -| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | -| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | -| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | -| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | -| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | `Off` | -| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | -| `PHP_MYSQL_CACHE_SIZE` | - | - | `2000` | -| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | -| [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | -| [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | -| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | -| [`PHP_NEWRELIC_FRAMEWORK`] | | | | -| [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | -| [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | -| [`PHP_NEWRELIC_LABELS`] | | | | -| [`PHP_NEWRELIC_LICENSE`] | | | | -| [`PHP_NEWRELIC_LOGLEVEL`] | `info` | `info` | `info` | -| [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`] | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | -| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | -| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | -| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | -| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | -| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | -| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | `1` | `1` | -| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | `2000` | `2000` | `2000` | -| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | -| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | -| [`PHP_PHAR_CACHE_LIST`] | | | | -| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | -| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `16k` | -| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | -| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | -| _see all session options_ | [7.2 session] | [7.1 session] | [5.6 session] | -| `PHP_XHPROF` | | | - | -| [`PHP_TRACK_ERRORS`] | - | `On` | `On` | -| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | - | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | `0` | `0` | -| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | +| Variable | 7.3 | 7.2 | 7.1 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | +| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | +| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | +| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | +| [`PHP_APCU_SERIALIZER`] | | | | | +| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | +| [`PHP_AUTO_PREPEND_FILE`] | | | | | +| [`PHP_AUTO_APPEND_FILE`] | | | | | +| `PHP_BLACKFIRE` | | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | +| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | +| `PHP_EXTENSIONS_DISABLE` | | | | | +| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | | +| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | +| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | +| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | +| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | +| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | `My PHP app` | +| [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_FRAMEWORK`] | | | | | +| [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | | +| [`PHP_NEWRELIC_LABELS`] | | | | | +| [`PHP_NEWRELIC_LICENSE`] | | | | | +| [`PHP_NEWRELIC_LOGLEVEL`] | `info` | `info` | `info` | `info` | +| [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | +| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | +| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | +| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | +| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | +| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | `1` | `1` | +| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | - | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | `2000` | `2000` | `2000` | +| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_CACHE_LIST`] | | | | | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | +| _see all session options_ | [7.3 session] | [7.2 session] | [7.1 session] | [5.6 session] | +| `PHP_XHPROF` | | | | - | +| [`PHP_TRACK_ERRORS`] | - | - | `On` | `On` | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | - | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | | `0` | `0` | +| _see all xdebug ext options_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version @@ -209,86 +213,86 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated by `,`, e.g. `$PHP_EXTENSIONS_DISABLE=geoip,ds` -| Extension | 7.2 | 7.1 | 5.6 | -| ---------------- | -------- | -------- | -------- | -| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | -| apc | - | - | - | -| [apcu] | 5.1.14 | 5.1.14 | 4.0.11 | -| [ast] | 1.0.0 | 1.0.0 | - | -| [blackfire] | latest | latest | latest | -| bcmath | | | | -| bz2 | | | | -| calendar | | | | -| Core | | | | -| ctype | | | | -| curl | | | | -| date | | | | -| dom | | | | -| [ds] | 1.2.6 | 1.2.6 | - | -| exif | | | | -| ereg | - | - | | -| [event] | 2.4.1 | 2.4.1 | 2.4.1 | -| fileinfo | | | | -| filter | | | | -| ftp | | | | -| gd | | | | -| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.16.0 | 1.16.0 | 1.16.0 | -| hash | | | | -| iconv | | | | -| [igbinary] | 2.0.8 | 2.0.8 | 2.0.8 | -| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | -| imap | | | | -| intl | | | | -| json | | | | -| ldap | | | | -| libxml | | | | -| mbstring | | | | -| mcrypt | [1.0.1] | | | -| [memcached] | 3.0.4 | 3.0.4 | 2.2.0 | -| [mongodb] | 1.5.3 | 1.5.3 | 1.5.3 | -| mysql | - | - | | -| mysqli | | | | -| mysqlnd | | | | -| [newrelic] | latest | latest | latest | -| [OAuth] | 2.0.3 | 2.0.3 | 1.2.3 | -| openssl | | | | -| pcntl | | | | -| pcre | | | | -| PDO | | | | -| pdo_mysql | | | | -| pdo_pgsql | | | | -| pdo_sqlite | | | | -| pgsql | | | | -| Phar | | | | -| posix | | | | -| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | -| readline | | | | -| [redis] | 4.1.1 | 4.1.1 | 4.1.1 | -| Reflection | | | | -| session | | | | -| SimpleXML | | | | -| soap | | | | -| sockets | | | | -| sodium | | - | - | -| SPL | | | | -| sqlite3 | | | | -| standard | | | | -| [tideways_xhprof] | v5.0-beta2 | v5.0-beta2 | | -| tidy | | | | -| tokenizer | | | | -| [uploadprogress] | [latest] | [latest] | 1.0.3.1 | -| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | 2.6.1 | 2.6.1 | 2.5.5 | -| xml | | | | -| xmlreader | | | | -| xmlrpc | | | | -| xmlwriter | | | | -| xsl | | | | -| [yaml] | 2.0.2 | 2.0.2 | 1.3.1 | -| Zend OPcache | | | | -| zip | | | | -| zlib | | | | +| Extension | 7.3 | 7.2 | 7.1 | 5.6 | +| ---------------- | -------- | -------- | -------- | -------- | +| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | +| apc | - | - | - | - | +| [apcu] | 5.1.14 | 5.1.14 | 5.1.14 | 4.0.11 | +| [ast] | 1.0.0 | 1.0.0 | 1.0.0 | - | +| [blackfire] | - | latest | latest | latest | +| bcmath | | | | | +| bz2 | | | | | +| calendar | | | | | +| Core | | | | | +| ctype | | | | | +| curl | | | | | +| date | | | | | +| dom | | | | | +| [ds] | 1.2.6 | 1.2.6 | 1.2.6 | - | +| exif | | | | | +| ereg | - | - | - | | +| [event] | 2.4.1 | 2.4.1 | 2.4.1 | 2.4.1 | +| fileinfo | | | | | +| filter | | | | | +| ftp | | | | | +| gd | | | | | +| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | +| [grpc] | 1.16.0 | 1.16.0 | 1.16.0 | 1.16.0 | +| hash | | | | | +| iconv | | | | | +| [igbinary] | 2.0.8 | 2.0.8 | 2.0.8 | 2.0.8 | +| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | +| imap | | | | | +| intl | | | | | +| json | | | | | +| ldap | | | | | +| libxml | | | | | +| mbstring | | | | | +| mcrypt | - | [1.0.1] | | | +| [memcached] | - | 3.0.4 | 3.0.4 | 2.2.0 | +| [mongodb] | 1.5.3 | 1.5.3 | 1.5.3 | 1.5.3 | +| mysql | - | - | - | | +| mysqli | | | | | +| mysqlnd | | | | | +| [newrelic] | - | latest | latest | latest | +| [OAuth] | 2.0.3 | 2.0.3 | 2.0.3 | 1.2.3 | +| openssl | | | | | +| pcntl | | | | | +| pcre | | | | | +| PDO | | | | | +| pdo_mysql | | | | | +| pdo_pgsql | | | | | +| pdo_sqlite | | | | | +| pgsql | | | | | +| Phar | | | | | +| posix | | | | | +| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | +| readline | | | | | +| [redis] | 4.1.1 | 4.1.1 | 4.1.1 | 4.1.1 | +| Reflection | | | | | +| session | | | | | +| SimpleXML | | | | | +| soap | | | | | +| sockets | | | | | +| sodium | | | - | - | +| SPL | | | | | +| sqlite3 | | | | | +| standard | | | | | +| [tideways_xhprof] | v5.0-beta2 | v5.0-beta2 | v5.0-beta2 | | +| tidy | | | | | +| tokenizer | | | | | +| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | +| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | +| [xdebug] | - | 2.6.1 | 2.6.1 | 2.5.5 | +| xml | | | | | +| xmlreader | | | | | +| xmlrpc | | | | | +| xmlwriter | | | | | +| xsl | | | | | +| [yaml] | 2.0.4 | 2.0.4 | 2.0.4 | 1.3.1 | +| Zend OPcache | | | | | +| zip | | | | | +| zlib | | | | | Legend: @@ -300,10 +304,10 @@ Extensions xdebug, blackfire and xhprof disabled by default. ## Tools -| Tool | 7.2 | 7.1 | 5.6 | -| ---------------------------------------------------------- | ------- | ------- | ------- | -| [Composer](https://getcomposer.org) | latest | latest | latest | -| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.3.0 | 1.3.0 | 1.3.0 | +| Tool | 7.3 | 7.2 | 7.1 | 5.6 | +| ---------------------------------------------------------- | ------- | ------- | ------- | ------- | +| [Composer](https://getcomposer.org) | latest | latest | latest | latest | +| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | ## Global Composer Packages @@ -388,6 +392,7 @@ default params values: [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl +[7.3 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.3.ini.tmpl [7.2 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl [7.1 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl [5.6 session]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl @@ -440,6 +445,7 @@ default params values: [`PHP_OPCACHE_ENABLE`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable [`PHP_OPCACHE_ENABLE_CLI`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable-cli [`PHP_OPCACHE_FAST_SHUTDOWN`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.fast-shutdown +[`PHP_OPCACHE_HUGE_CODE_PAGES`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.huge_code_pages [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.interned-strings-buffer [`PHP_OPCACHE_MAX_ACCELERATED_FILES`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.max-accelerated-files [`PHP_OPCACHE_MEMORY_CONSUMPTION`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.memory-consumption From e719ba46cc3fe8915e3d770356da12987903ea9e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 7 Dec 2018 16:45:11 +0700 Subject: [PATCH 304/559] Update tests for 7.3 --- 7/tests/php_modules/7.3 | 75 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 7/tests/php_modules/7.3 diff --git a/7/tests/php_modules/7.3 b/7/tests/php_modules/7.3 new file mode 100644 index 00000000..dc6bead6 --- /dev/null +++ b/7/tests/php_modules/7.3 @@ -0,0 +1,75 @@ +[PHP Modules] +apcu +ast +bcmath +bz2 +calendar +Core +ctype +curl +date +dom +ds +event +exif +fileinfo +filter +ftp +gd +geoip +gmp +grpc +hash +iconv +igbinary +imagick +imap +intl +json +ldap +libxml +mbstring +mongodb +mysqli +mysqlnd +OAuth +openssl +pcntl +pcre +PDO +pdo_mysql +pdo_pgsql +pdo_sqlite +pgsql +Phar +posix +rdkafka +readline +redis +Reflection +session +SimpleXML +soap +sockets +sodium +SPL +sqlite3 +standard +tideways_xhprof +tidy +tokenizer +uploadprogress +uuid +xml +xmlreader +xmlrpc +xmlwriter +xsl +yaml +Zend OPcache +zip +zlib + +[Zend Modules] +Zend OPcache + From 36c82c137cd2bc3de7e03c0b7e2cb2228db45e05 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 7 Dec 2018 16:47:59 +0700 Subject: [PATCH 305/559] Update ds and redis extensions #49 --- 7/Dockerfile | 4 ++-- README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index c2ed7cbd..c769134d 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -182,7 +182,7 @@ RUN set -xe; \ pecl install \ apcu-5.1.14 \ ast-1.0.0 \ - ds-1.2.6 \ + ds-1.2.7 \ event-2.4.1 \ geoip-1.1.1 \ grpc-1.16.0 \ @@ -191,7 +191,7 @@ RUN set -xe; \ mongodb-1.5.3 \ oauth-2.0.3 \ rdkafka-3.0.5 \ - redis-4.1.1 \ + redis-4.2.0 \ uuid-1.0.4 \ yaml-2.0.4; \ \ diff --git a/README.md b/README.md index 11807c94..675317be 100644 --- a/README.md +++ b/README.md @@ -228,7 +228,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | curl | | | | | | date | | | | | | dom | | | | | -| [ds] | 1.2.6 | 1.2.6 | 1.2.6 | - | +| [ds] | 1.2.7 | 1.2.7 | 1.2.7 | - | | exif | | | | | | ereg | - | - | - | | | [event] | 2.4.1 | 2.4.1 | 2.4.1 | 2.4.1 | @@ -268,7 +268,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | posix | | | | | | [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | | readline | | | | | -| [redis] | 4.1.1 | 4.1.1 | 4.1.1 | 4.1.1 | +| [redis] | 4.2.0 | 4.2.0 | 4.2.0 | 4.2.0 | | Reflection | | | | | | session | | | | | | SimpleXML | | | | | From 52df43cd1a615cedf1bc97e6449413f4f8787fb8 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 7 Dec 2018 17:14:36 +0700 Subject: [PATCH 306/559] Downgrade ds extension to 1.2.6 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index c769134d..800691c5 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -182,7 +182,7 @@ RUN set -xe; \ pecl install \ apcu-5.1.14 \ ast-1.0.0 \ - ds-1.2.7 \ + ds-1.2.6 \ event-2.4.1 \ geoip-1.1.1 \ grpc-1.16.0 \ diff --git a/README.md b/README.md index 675317be..84996443 100644 --- a/README.md +++ b/README.md @@ -228,7 +228,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | curl | | | | | | date | | | | | | dom | | | | | -| [ds] | 1.2.7 | 1.2.7 | 1.2.7 | - | +| [ds] | 1.2.6 | 1.2.6 | 1.2.6 | - | | exif | | | | | | ereg | - | - | - | | | [event] | 2.4.1 | 2.4.1 | 2.4.1 | 2.4.1 | From c3144cfe8ba284168354309c85737874a98b3aa5 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 7 Dec 2018 12:45:57 +0000 Subject: [PATCH 307/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 74afb67e..114c029e 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.0#2018-12-07T05:16:09.642467Z -7.2.13#2018-12-07T05:15:10.240752Z -7.1.25#2018-12-07T05:14:57.865032Z -5.6.39#2018-12-07T05:13:28.366677Z \ No newline at end of file +7.3.0#2018-12-07T05:16:11.617806Z +7.2.13#2018-12-07T05:15:12.432616Z +7.1.25#2018-12-07T05:14:59.850752Z +5.6.39#2018-12-07T05:13:30.255060Z \ No newline at end of file From 30c2452f510c86b568aa7219d06072ad6059a3bc Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 7 Dec 2018 19:56:11 +0700 Subject: [PATCH 308/559] Update list of images based on wodby/php --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 84996443..ce24c64b 100644 --- a/README.md +++ b/README.md @@ -364,6 +364,11 @@ See https://github.com/wodby/php/issues/22 for more details. * [wodby/drupal-php](https://github.com/wodby/drupal-php) * [wodby/wordpress-php](https://github.com/wodby/wordpress-php) +* [wodby/adminer](https://github.com/wodby/adminer) +* [wodby/matomo](https://github.com/wodby/matomo) +* [wodby/cachet](https://github.com/wodby/cachet) +* [wodby/webgrind](https://github.com/wodby/webgrind) +* [wodby/xhprof](https://github.com/wodby/xhprof) ## Orchestration Actions From cb40d5de3cf5808fbb35b653356506e5aa74f2f0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 7 Dec 2018 19:25:44 +0000 Subject: [PATCH 309/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 114c029e..acc365dd 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.0#2018-12-07T05:16:11.617806Z -7.2.13#2018-12-07T05:15:12.432616Z -7.1.25#2018-12-07T05:14:59.850752Z -5.6.39#2018-12-07T05:13:30.255060Z \ No newline at end of file +7.3.0#2018-12-07T14:41:44.001766Z +7.2.13#2018-12-07T14:41:16.951252Z +7.1.25#2018-12-07T14:41:29.548158Z +5.6.39#2018-12-07T14:49:44.915252Z \ No newline at end of file From 327f56a69fc673fb7064428436a58cade8c70ca2 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 8 Dec 2018 19:25:22 +0000 Subject: [PATCH 310/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index acc365dd..ff8f29fd 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.0#2018-12-07T14:41:44.001766Z -7.2.13#2018-12-07T14:41:16.951252Z -7.1.25#2018-12-07T14:41:29.548158Z -5.6.39#2018-12-07T14:49:44.915252Z \ No newline at end of file +7.3.0#2018-12-07T19:33:29.025394Z +7.2.13#2018-12-07T19:33:56.497671Z +7.1.25#2018-12-07T19:33:01.548540Z +5.6.39#2018-12-07T19:31:44.717884Z \ No newline at end of file From 4f57d6f975f1250a4281b23f7c42b38607a73f15 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 2 Jan 2019 19:37:48 +0000 Subject: [PATCH 311/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index ff8f29fd..83aa9ad1 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.0#2018-12-07T19:33:29.025394Z -7.2.13#2018-12-07T19:33:56.497671Z -7.1.25#2018-12-07T19:33:01.548540Z +7.3.0#2019-01-01T19:46:21.315357Z +7.2.13#2019-01-01T19:46:23.825391Z +7.1.25#2019-01-01T19:45:07.935497Z 5.6.39#2018-12-07T19:31:44.717884Z \ No newline at end of file From f49cb5e168de6c1e5db4902ed798fd2a9f7f3348 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 13 Jan 2019 19:44:09 +0000 Subject: [PATCH 312/559] Update php to 7.3.1 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 83aa9ad1..105488e7 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.0#2019-01-01T19:46:21.315357Z +7.3.1#2019-01-12T19:53:24.713929Z 7.2.13#2019-01-01T19:46:23.825391Z 7.1.25#2019-01-01T19:45:07.935497Z 5.6.39#2018-12-07T19:31:44.717884Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index bc592d06..9ab8a8ab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.0 + - PHP73=7.3.1 - PHP72=7.2.13 - PHP71=7.1.25 - PHP56=5.6.39 diff --git a/7/Makefile b/7/Makefile index 1bf04a30..4ca2e85a 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.0 +PHP_VER ?= 7.3.1 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 09dfc9ce6d1a03f0a85f67defafc54287753314a Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 13 Jan 2019 19:44:10 +0000 Subject: [PATCH 313/559] Update php to 7.2.14 --- .base-php | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index 105488e7..0211d35a 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.3.1#2019-01-12T19:53:24.713929Z -7.2.13#2019-01-01T19:46:23.825391Z +7.2.14#2019-01-12T19:53:24.491256Z 7.1.25#2019-01-01T19:45:07.935497Z 5.6.39#2018-12-07T19:31:44.717884Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 9ab8a8ab..44b2d3b6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.1 - - PHP72=7.2.13 + - PHP72=7.2.14 - PHP71=7.1.25 - PHP56=5.6.39 matrix: From b975e87664e8454c231c129ab3f9ecec0deb8ca4 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 13 Jan 2019 19:44:10 +0000 Subject: [PATCH 314/559] Update php to 7.1.26 --- .base-php | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index 0211d35a..e16dbe23 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.3.1#2019-01-12T19:53:24.713929Z 7.2.14#2019-01-12T19:53:24.491256Z -7.1.25#2019-01-01T19:45:07.935497Z +7.1.26#2019-01-12T19:52:16.852656Z 5.6.39#2018-12-07T19:31:44.717884Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 44b2d3b6..87cbbad4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP73=7.3.1 - PHP72=7.2.14 - - PHP71=7.1.25 + - PHP71=7.1.26 - PHP56=5.6.39 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest From faed3555098a7b1170612046e23f67df86788f7a Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 13 Jan 2019 19:44:11 +0000 Subject: [PATCH 315/559] Update php to 5.6.40 --- .base-php | 2 +- .travis.yml | 2 +- 5.6/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index e16dbe23..242cdfb6 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.3.1#2019-01-12T19:53:24.713929Z 7.2.14#2019-01-12T19:53:24.491256Z 7.1.26#2019-01-12T19:52:16.852656Z -5.6.39#2018-12-07T19:31:44.717884Z \ No newline at end of file +5.6.40#2019-01-12T19:51:10.570694Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 87cbbad4..4607a28f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ env: - PHP73=7.3.1 - PHP72=7.2.14 - PHP71=7.1.26 - - PHP56=5.6.39 + - PHP56=5.6.40 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest - PHP_VER="${PHP72}" TAGS=7.2 diff --git a/5.6/Makefile b/5.6/Makefile index 0b138a99..ebac0001 100644 --- a/5.6/Makefile +++ b/5.6/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 5.6.39 +PHP_VER ?= 5.6.40 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 20104a9ade4e72f0ed1f944ee6b434052e146662 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 13 Jan 2019 19:44:16 +0000 Subject: [PATCH 316/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 242cdfb6..abcda429 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.1#2019-01-12T19:53:24.713929Z -7.2.14#2019-01-12T19:53:24.491256Z -7.1.26#2019-01-12T19:52:16.852656Z -5.6.40#2019-01-12T19:51:10.570694Z \ No newline at end of file +7.3.1#2019-01-12T19:53:26.707352Z +7.2.14#2019-01-12T19:53:26.460048Z +7.1.26#2019-01-12T19:52:18.805495Z +5.6.40#2019-01-12T19:51:16.800082Z \ No newline at end of file From bcd89aae0f4ee7eb6946484db39ec2c293fef476 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 16 Jan 2019 12:34:01 +0000 Subject: [PATCH 317/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index abcda429..0d12ae67 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.1#2019-01-12T19:53:26.707352Z -7.2.14#2019-01-12T19:53:26.460048Z -7.1.26#2019-01-12T19:52:18.805495Z -5.6.40#2019-01-12T19:51:16.800082Z \ No newline at end of file +7.3.1#2019-01-16T10:54:10.071520Z +7.2.14#2019-01-16T10:55:32.937129Z +7.1.26#2019-01-16T10:54:46.059884Z +5.6.40#2019-01-16T10:53:19.538946Z \ No newline at end of file From 852d2d9d56ad65eb970cbdeefdb4feaee66d7fdf Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 16 Jan 2019 19:48:12 +0000 Subject: [PATCH 318/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 0d12ae67..5180fa67 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.1#2019-01-16T10:54:10.071520Z -7.2.14#2019-01-16T10:55:32.937129Z -7.1.26#2019-01-16T10:54:46.059884Z -5.6.40#2019-01-16T10:53:19.538946Z \ No newline at end of file +7.3.1#2019-01-16T12:43:12.703614Z +7.2.14#2019-01-16T12:42:58.415029Z +7.1.26#2019-01-16T12:42:16.201126Z +5.6.40#2019-01-16T12:39:46.238140Z \ No newline at end of file From f7bad3da36645d4589fa87c1691d04a9a636801f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 12:19:01 +0700 Subject: [PATCH 319/559] Update imagemagick, libjpeg-turbo, mariadb-client packages --- 7/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 800691c5..2575a481 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -47,12 +47,12 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.7.32-r1 \ + imagemagick=7.0.7.39-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ libevent=2.1.8-r5 \ - libjpeg-turbo=1.5.3-r3 \ + libjpeg-turbo=1.5.3-r4 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ libltdl=2.4.6-r5 \ @@ -64,7 +64,7 @@ RUN set -xe; \ libxslt=1.1.32-r0 \ libzip=1.5.1-r1 \ make \ - mariadb-client=10.2.15-r0 \ + mariadb-client=10.2.19-r1 \ nano \ openssh \ openssh-client \ From 16c64aa5e1c50f7dd6fe5bb21c814ea6ee69843b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 12:19:26 +0700 Subject: [PATCH 320/559] Update imagemagick, libjpeg-turbo, mariadb-client packages --- 5.6/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 8be41413..def20f67 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -47,12 +47,12 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.7.32-r1 \ + imagemagick=7.0.7.39-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ libevent=2.1.8-r5 \ - libjpeg-turbo=1.5.3-r3 \ + libjpeg-turbo=1.5.3-r4 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ libltdl=2.4.6-r5 \ @@ -63,7 +63,7 @@ RUN set -xe; \ libuuid=2.32-r0 \ libxslt=1.1.32-r0 \ make \ - mariadb-client=10.2.15-r0 \ + mariadb-client=10.2.19-r1 \ nano \ openssh \ openssh-client \ From 30f6c30587f06540510ed9b7ecf2c9734c5f655d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 14:05:04 +0700 Subject: [PATCH 321/559] Bugfix: extension disable did not work for extensions that have z- prefix to load last like event --- 7/docker-entrypoint.sh | 8 ++++++-- README.md | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index a652764d..e93bbe9c 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -92,12 +92,16 @@ process_templates() { } disable_modules() { + local dir="${PHP_INI_DIR}/conf.d" + if [[ -n "${PHP_EXTENSIONS_DISABLE}" ]]; then IFS=',' read -r -a modules <<< "${PHP_EXTENSIONS_DISABLE}" for module in "${modules[@]}"; do - if [[ -f "${PHP_INI_DIR}/conf.d/docker-php-ext-${module}.ini" ]]; then - rm "${PHP_INI_DIR}/conf.d/docker-php-ext-${module}.ini"; + if [[ -f "${dir}/z-docker-php-ext-${module}.ini" ]]; then + rm "${dir}/z-docker-php-ext-${module}.ini"; + elif [[ -f "${dir}/docker-php-ext-${module}.ini" ]]; then + rm "${dir}/docker-php-ext-${module}.ini"; else echo "WARNING: instructed to disable module ${module} but it was not found" fi diff --git a/README.md b/README.md index ce24c64b..dea37d07 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,8 @@ About images: * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) +❗PHP 5.6 [has reached end of life](http://php.net/supported-versions.php) and no longer supported by PHP team, we strongly advise you to migrate to the latest stable 7.x version. + Supported tags and respective `Dockerfile` links: * `7.3`, `7`, `latest` [_(7/Dockerfile)_] From 0ba058c2b8491d41655adc663670dab4eb323329 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 14:13:22 +0700 Subject: [PATCH 322/559] Update and enable amqp, memcached, newrelic, blackfire extensions for 7.3 --- 7/Dockerfile | 48 +++++++++++++++++++++-------------------- 7/docker-entrypoint.sh | 6 ------ 7/tests/php_modules/7.3 | 4 ++++ README.md | 8 +++---- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 2575a481..21804ef0 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -161,25 +161,26 @@ RUN set -xe; \ docker-php-ext-install mcrypt; \ fi; \ \ + # not yet supported extensions. if [[ "${PHP_VERSION:0:3}" != "7.3" ]]; then \ - # NewRelic extension and agent. - newrelic_url="http://download.newrelic.com/php_agent/release/"; \ - wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ - tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ - export NR_INSTALL_SILENT=true; \ - export NR_INSTALL_USE_CP_NOT_LN=true; \ - bash /tmp/newrelic/newrelic-install install; \ - rm /usr/local/etc/php/conf.d/newrelic.ini; \ - mkdir -p /var/log/newrelic/; \ - chown -R www-data:www-data /var/log/newrelic/; \ - chmod -R 775 /var/log/newrelic/; \ - \ - # 7.3 version not yet supported https://github.com/pdezwart/php-amqp/pull/323 - pecl install amqp-1.9.3 memcached-3.0.4 xdebug-2.6.1; \ - docker-php-ext-enable amqp memcached xdebug; \ + pecl install xdebug-2.6.1; \ + docker-php-ext-enable xdebug; \ fi; \ \ + # NewRelic extension and agent. + newrelic_url="http://download.newrelic.com/php_agent/release/"; \ + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ + tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ + export NR_INSTALL_SILENT=true; \ + export NR_INSTALL_USE_CP_NOT_LN=true; \ + bash /tmp/newrelic/newrelic-install install; \ + rm /usr/local/etc/php/conf.d/newrelic.ini; \ + mkdir -p /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ + chmod -R 775 /var/log/newrelic/; \ + \ pecl install \ + amqp-1.9.4 \ apcu-5.1.14 \ ast-1.0.0 \ ds-1.2.6 \ @@ -188,6 +189,7 @@ RUN set -xe; \ grpc-1.16.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ + memcached-3.1.3 \ mongodb-1.5.3 \ oauth-2.0.3 \ rdkafka-3.0.5 \ @@ -196,6 +198,7 @@ RUN set -xe; \ yaml-2.0.4; \ \ docker-php-ext-enable \ + amqp \ apcu \ ast \ ds \ @@ -204,6 +207,7 @@ RUN set -xe; \ imagick \ geoip \ grpc \ + memcached \ mongodb \ oauth \ redis \ @@ -215,14 +219,12 @@ RUN set -xe; \ # http://osmanov-dev-notes.blogspot.com/2013/07/fixing-php-start-up-error-unable-to.html mv /usr/local/etc/php/conf.d/docker-php-ext-event.ini /usr/local/etc/php/conf.d/z-docker-php-ext-event.ini; \ \ - if [[ "${PHP_VERSION:0:3}" != "7.3" ]]; then \ - # Blackfire extension (they have free tier). - mkdir -p /tmp/blackfire; \ - version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ - blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ - wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ - fi; \ + # Blackfire extension (they have free tier). + mkdir -p /tmp/blackfire; \ + version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ + blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ + wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ + mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ \ # Uploadprogress. mkdir -p /usr/src/php/ext/uploadprogress; \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index e93bbe9c..71800563 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -67,12 +67,6 @@ process_templates() { if [[ -n "${PHP_DEBUG}" ]]; then export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" - else - # Extensions that don't work with --enabled-debug - if [[ "${php_ver_minor}" != "7.3" ]]; then - _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" - fi fi _gotpl "docker-php-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" diff --git a/7/tests/php_modules/7.3 b/7/tests/php_modules/7.3 index dc6bead6..d52a0757 100644 --- a/7/tests/php_modules/7.3 +++ b/7/tests/php_modules/7.3 @@ -1,4 +1,5 @@ [PHP Modules] +amqp apcu ast bcmath @@ -29,9 +30,11 @@ json ldap libxml mbstring +memcached mongodb mysqli mysqlnd +newrelic OAuth openssl pcntl @@ -72,4 +75,5 @@ zlib [Zend Modules] Zend OPcache +blackfire diff --git a/README.md b/README.md index dea37d07..22f99a3d 100644 --- a/README.md +++ b/README.md @@ -217,11 +217,11 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | Extension | 7.3 | 7.2 | 7.1 | 5.6 | | ---------------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.3 | 1.9.3 | 1.9.3 | 1.9.3 | +| [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | | apc | - | - | - | - | | [apcu] | 5.1.14 | 5.1.14 | 5.1.14 | 4.0.11 | | [ast] | 1.0.0 | 1.0.0 | 1.0.0 | - | -| [blackfire] | - | latest | latest | latest | +| [blackfire] | latest | latest | latest | latest | | bcmath | | | | | | bz2 | | | | | | calendar | | | | | @@ -251,12 +251,12 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | libxml | | | | | | mbstring | | | | | | mcrypt | - | [1.0.1] | | | -| [memcached] | - | 3.0.4 | 3.0.4 | 2.2.0 | +| [memcached] | 3.1.3 | 3.1.3 | 3.1.3 | 2.2.0 | | [mongodb] | 1.5.3 | 1.5.3 | 1.5.3 | 1.5.3 | | mysql | - | - | - | | | mysqli | | | | | | mysqlnd | | | | | -| [newrelic] | - | latest | latest | latest | +| [newrelic] | latest | latest | latest | latest | | [OAuth] | 2.0.3 | 2.0.3 | 2.0.3 | 1.2.3 | | openssl | | | | | | pcntl | | | | | From 45f95b4696e0c262c7531c40a1be55fd51c5c84a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 15:08:30 +0700 Subject: [PATCH 323/559] Update orig configs --- 7/orig/php-7.1.ini-development | 7 +++++++ 7/orig/php-7.1.ini-production | 7 +++++++ 7/orig/php-7.2.ini-development | 9 +++++++++ 7/orig/php-7.2.ini-production | 9 +++++++++ 7/orig/php-7.3.ini-development | 7 +++++++ 7/orig/php-7.3.ini-production | 7 +++++++ 6 files changed, 46 insertions(+) diff --git a/7/orig/php-7.1.ini-development b/7/orig/php-7.1.ini-development index 9e7094c4..3b8a2aff 100644 --- a/7/orig/php-7.1.ini-development +++ b/7/orig/php-7.1.ini-development @@ -975,6 +975,13 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error diff --git a/7/orig/php-7.1.ini-production b/7/orig/php-7.1.ini-production index dafddeda..d8f686e2 100644 --- a/7/orig/php-7.1.ini-production +++ b/7/orig/php-7.1.ini-production @@ -975,6 +975,13 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index 2c18ba41..d6e219b2 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -300,6 +300,7 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. +; Note: disables the realpath cache ; http://php.net/open-basedir ;open_basedir = @@ -332,6 +333,7 @@ disable_classes = ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. +; Note: if open_basedir is set, the cache is disabled ; http://php.net/realpath-cache-size ;realpath_cache_size = 4096k @@ -968,6 +970,13 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index b8f8449a..0bd579a0 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -305,6 +305,7 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. +; Note: disables the realpath cache ; http://php.net/open-basedir ;open_basedir = @@ -337,6 +338,7 @@ disable_classes = ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. +; Note: if open_basedir is set, the cache is disabled ; http://php.net/realpath-cache-size ;realpath_cache_size = 4096k @@ -975,6 +977,13 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error diff --git a/7/orig/php-7.3.ini-development b/7/orig/php-7.3.ini-development index 9da3a1d5..db4fb299 100644 --- a/7/orig/php-7.3.ini-development +++ b/7/orig/php-7.3.ini-development @@ -986,6 +986,13 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error diff --git a/7/orig/php-7.3.ini-production b/7/orig/php-7.3.ini-production index ede9ac60..794d3e8d 100644 --- a/7/orig/php-7.3.ini-production +++ b/7/orig/php-7.3.ini-production @@ -993,6 +993,13 @@ cli_server.color = On ; otherwise output encoding conversion cannot be performed. ;iconv.output_encoding = +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + [intl] ;intl.default_locale = ; This directive allows you to produce PHP errors when some error From b6c41d50899b2b0e6523aca16309d52182365938 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 15:12:03 +0700 Subject: [PATCH 324/559] Update orig configs --- 7/orig/php-7.2.ini-development | 2 -- 7/orig/php-7.2.ini-production | 2 -- 2 files changed, 4 deletions(-) diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index d6e219b2..60b9f706 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -300,7 +300,6 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. -; Note: disables the realpath cache ; http://php.net/open-basedir ;open_basedir = @@ -333,7 +332,6 @@ disable_classes = ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. -; Note: if open_basedir is set, the cache is disabled ; http://php.net/realpath-cache-size ;realpath_cache_size = 4096k diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index 0bd579a0..1f4dfe2c 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -305,7 +305,6 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. -; Note: disables the realpath cache ; http://php.net/open-basedir ;open_basedir = @@ -338,7 +337,6 @@ disable_classes = ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. -; Note: if open_basedir is set, the cache is disabled ; http://php.net/realpath-cache-size ;realpath_cache_size = 4096k From 646b4fbcc1a0e3d3435f1e46f84044b79b10d177 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 15:14:08 +0700 Subject: [PATCH 325/559] Add /var/www/html/bin to $PATH #60 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index def20f67..dbc22885 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -18,7 +18,7 @@ ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" -ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin" \ +ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin:${APP_ROOT}/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ ENV="/home/wodby/.shrc" \ \ diff --git a/7/Dockerfile b/7/Dockerfile index 21804ef0..d1f0d1e4 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -18,7 +18,7 @@ ENV APP_ROOT="/var/www/html" \ CONF_DIR="/var/www/conf" \ FILES_DIR="/mnt/files" -ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin" \ +ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin:${APP_ROOT}/bin" \ SSHD_HOST_KEYS_DIR="/etc/ssh" \ ENV="/home/wodby/.shrc" \ \ From 8e8be0038a775b9eb6d024b4cc647b19a28eba91 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 15:17:28 +0700 Subject: [PATCH 326/559] Update extensions #57 --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 6 +++--- README.md | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index dbc22885..653b78e6 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -174,9 +174,9 @@ RUN set -xe; \ pecl install \ amqp-1.9.3 \ apcu-4.0.11 \ - event-2.4.1 \ + event-2.4.3 \ geoip-1.1.1 \ - grpc-1.16.0 \ + grpc-1.17.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ memcached-2.2.0 \ diff --git a/7/Dockerfile b/7/Dockerfile index d1f0d1e4..6854cdd4 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -181,12 +181,12 @@ RUN set -xe; \ \ pecl install \ amqp-1.9.4 \ - apcu-5.1.14 \ + apcu-5.1.16 \ ast-1.0.0 \ ds-1.2.6 \ - event-2.4.1 \ + event-2.4.3 \ geoip-1.1.1 \ - grpc-1.16.0 \ + grpc-1.17.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ memcached-3.1.3 \ diff --git a/README.md b/README.md index 22f99a3d..f1f50178 100644 --- a/README.md +++ b/README.md @@ -219,7 +219,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | ---------------- | -------- | -------- | -------- | -------- | | [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | | apc | - | - | - | - | -| [apcu] | 5.1.14 | 5.1.14 | 5.1.14 | 4.0.11 | +| [apcu] | 5.1.16 | 5.1.16 | 5.1.16 | 4.0.11 | | [ast] | 1.0.0 | 1.0.0 | 1.0.0 | - | | [blackfire] | latest | latest | latest | latest | | bcmath | | | | | @@ -233,13 +233,13 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | [ds] | 1.2.6 | 1.2.6 | 1.2.6 | - | | exif | | | | | | ereg | - | - | - | | -| [event] | 2.4.1 | 2.4.1 | 2.4.1 | 2.4.1 | +| [event] | 2.4.3 | 2.4.3 | 2.4.3 | 2.4.3 | | fileinfo | | | | | | filter | | | | | | ftp | | | | | | gd | | | | | | [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | -| [grpc] | 1.16.0 | 1.16.0 | 1.16.0 | 1.16.0 | +| [grpc] | 1.17.0 | 1.17.0 | 1.17.0 | 1.17.0 | | hash | | | | | | iconv | | | | | | [igbinary] | 2.0.8 | 2.0.8 | 2.0.8 | 2.0.8 | From 86f914c3f288bb9797114554487bd5d551711706 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 15:35:47 +0700 Subject: [PATCH 327/559] Rollback changes for newrelic and blackfire configs --- 7/docker-entrypoint.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 71800563..eb2c42a7 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -67,6 +67,10 @@ process_templates() { if [[ -n "${PHP_DEBUG}" ]]; then export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" + else + # Extensions that don't work with --enabled-debug + _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi _gotpl "docker-php-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" From 61aa0dcb1b955a5a2931b47847555ebb956c71a5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 17 Jan 2019 17:18:14 +0700 Subject: [PATCH 328/559] Update modules --- 7/tests/php_modules/7.3 | 1 + 1 file changed, 1 insertion(+) diff --git a/7/tests/php_modules/7.3 b/7/tests/php_modules/7.3 index d52a0757..e206d1bf 100644 --- a/7/tests/php_modules/7.3 +++ b/7/tests/php_modules/7.3 @@ -3,6 +3,7 @@ amqp apcu ast bcmath +blackfire bz2 calendar Core From 51f2f644d38eb683cc03b128fa6171272756522c Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 18 Jan 2019 13:46:27 +0700 Subject: [PATCH 329/559] Remove geoip extension #59 --- 5.6/Dockerfile | 4 ---- 5.6/docker-entrypoint.sh | 1 - 5.6/templates/docker-php-ext-geoip.ini.tmpl | 3 --- 5.6/tests/php_modules | 1 - 7/Dockerfile | 4 ---- 7/docker-entrypoint.sh | 1 - 7/templates/docker-php-ext-geoip.ini.tmpl | 3 --- 7/tests/php_modules/7.1 | 1 - 7/tests/php_modules/7.2 | 1 - 7/tests/php_modules/7.3 | 1 - README.md | 6 +----- 11 files changed, 1 insertion(+), 25 deletions(-) delete mode 100644 5.6/templates/docker-php-ext-geoip.ini.tmpl delete mode 100644 7/templates/docker-php-ext-geoip.ini.tmpl diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 653b78e6..b7762780 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -43,7 +43,6 @@ RUN set -xe; \ fcgi \ findutils \ freetype=2.9.1-r1 \ - geoip=1.6.12-r1 \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ @@ -85,7 +84,6 @@ RUN set -xe; \ build-base \ bzip2-dev \ freetype-dev \ - geoip-dev \ gmp-dev \ icu-dev \ imagemagick-dev \ @@ -175,7 +173,6 @@ RUN set -xe; \ amqp-1.9.3 \ apcu-4.0.11 \ event-2.4.3 \ - geoip-1.1.1 \ grpc-1.17.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ @@ -195,7 +192,6 @@ RUN set -xe; \ event \ igbinary \ imagick \ - geoip \ grpc \ memcached \ mongodb \ diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 3f05fae7..23dc1dcf 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -73,7 +73,6 @@ process_templates() { _gotpl "docker-php.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" _gotpl "docker-php-ext-apcu.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - _gotpl "docker-php-ext-geoip.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" diff --git a/5.6/templates/docker-php-ext-geoip.ini.tmpl b/5.6/templates/docker-php-ext-geoip.ini.tmpl deleted file mode 100644 index fdebfe33..00000000 --- a/5.6/templates/docker-php-ext-geoip.ini.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -[geoip] -extension=geoip.so -geoip.custom_directory = {{ getenv "PHP_GEOIP_CUSTOM_DIR" "" }} \ No newline at end of file diff --git a/5.6/tests/php_modules b/5.6/tests/php_modules index a4a4eeb7..2c306aff 100644 --- a/5.6/tests/php_modules +++ b/5.6/tests/php_modules @@ -18,7 +18,6 @@ fileinfo filter ftp gd -geoip gmp grpc hash diff --git a/7/Dockerfile b/7/Dockerfile index 6854cdd4..c0e165a6 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -43,7 +43,6 @@ RUN set -xe; \ fcgi \ findutils \ freetype=2.9.1-r1 \ - geoip=1.6.12-r1 \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ @@ -86,7 +85,6 @@ RUN set -xe; \ build-base \ bzip2-dev \ freetype-dev \ - geoip-dev \ gmp-dev \ icu-dev \ imagemagick-dev \ @@ -185,7 +183,6 @@ RUN set -xe; \ ast-1.0.0 \ ds-1.2.6 \ event-2.4.3 \ - geoip-1.1.1 \ grpc-1.17.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ @@ -205,7 +202,6 @@ RUN set -xe; \ event \ igbinary \ imagick \ - geoip \ grpc \ memcached \ mongodb \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index eb2c42a7..64b37160 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -75,7 +75,6 @@ process_templates() { _gotpl "docker-php-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" _gotpl "docker-php-ext-apcu.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - _gotpl "docker-php-ext-geoip.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-geoip.ini" _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-tideways_xhprof.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways_xhprof.ini" diff --git a/7/templates/docker-php-ext-geoip.ini.tmpl b/7/templates/docker-php-ext-geoip.ini.tmpl deleted file mode 100644 index fdebfe33..00000000 --- a/7/templates/docker-php-ext-geoip.ini.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -[geoip] -extension=geoip.so -geoip.custom_directory = {{ getenv "PHP_GEOIP_CUSTOM_DIR" "" }} \ No newline at end of file diff --git a/7/tests/php_modules/7.1 b/7/tests/php_modules/7.1 index 7f0091d8..098edd25 100644 --- a/7/tests/php_modules/7.1 +++ b/7/tests/php_modules/7.1 @@ -18,7 +18,6 @@ fileinfo filter ftp gd -geoip gmp grpc hash diff --git a/7/tests/php_modules/7.2 b/7/tests/php_modules/7.2 index f85f5cab..e4ece08e 100644 --- a/7/tests/php_modules/7.2 +++ b/7/tests/php_modules/7.2 @@ -18,7 +18,6 @@ fileinfo filter ftp gd -geoip gmp grpc hash diff --git a/7/tests/php_modules/7.3 b/7/tests/php_modules/7.3 index e206d1bf..102c1afc 100644 --- a/7/tests/php_modules/7.3 +++ b/7/tests/php_modules/7.3 @@ -18,7 +18,6 @@ fileinfo filter ftp gd -geoip gmp grpc hash diff --git a/README.md b/README.md index f1f50178..fc2ee1b5 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,6 @@ The default configuration is not recommended to be used for production environme | [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | | [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | | [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_GEOIP_CUSTOM_DIR`] | | | | | | `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | | [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | | [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | @@ -213,7 +212,7 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag ## PHP Extensions -You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated by `,`, e.g. `$PHP_EXTENSIONS_DISABLE=geoip,ds` +You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated by `,`, e.g. `$PHP_EXTENSIONS_DISABLE=event,ds` | Extension | 7.3 | 7.2 | 7.1 | 5.6 | | ---------------- | -------- | -------- | -------- | -------- | @@ -238,7 +237,6 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | filter | | | | | | ftp | | | | | | gd | | | | | -| [geoip] | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | | [grpc] | 1.17.0 | 1.17.0 | 1.17.0 | 1.17.0 | | hash | | | | | | iconv | | | | | @@ -427,7 +425,6 @@ default params values: [`PHP_DISPLAY_STARTUP_ERRORS`]: http://php.net/display-startup-errors [`PHP_ERROR_REPORTING`]: http://php.net/error-reporting [`PHP_EXPOSE`]: http://php.net/expose-php -[`PHP_GEOIP_CUSTOM_DIR`]: http://php.net/manual/en/geoip.configuration.php#ini.geoip.custom-directory [`PHP_LOG_ERRORS`]: http://php.net/log-errors [`PHP_LOG_ERRORS_MAX_LEN`]: http://php.net/log-errors-max-len [`PHP_MAX_EXECUTION_TIME`]: http://php.net/max-execution-time @@ -490,7 +487,6 @@ default params values: [ast]: https://github.com/nikic/php-ast [ds]: https://pecl.php.net/package/ds [event]: https://pecl.php.net/package/event -[geoip]: https://pecl.php.net/package/geoip [grpc]: https://pecl.php.net/package/grpc [igbinary]: https://pecl.php.net/package/igbinary [imagick]: https://pecl.php.net/package/imagick From f269cb8171960ddefd63e04818002b5b6b38e504 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 29 Jan 2019 17:05:06 +0700 Subject: [PATCH 330/559] Pass through $PATH to ssh environment #64 --- 5.6/docker-entrypoint.sh | 1 - 7/docker-entrypoint.sh | 1 - 2 files changed, 2 deletions(-) diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 23dc1dcf..385b99be 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -41,7 +41,6 @@ init_sshd() { BEGIN { FS = "=" }; { \ if ($1 != "HOME" \ && $1 != "PWD" \ - && $1 != "PATH" \ && $1 != "SHLVL") { \ \ print ""$1"="$2"" \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 64b37160..f24ee59d 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -41,7 +41,6 @@ init_sshd() { BEGIN { FS = "=" }; { \ if ($1 != "HOME" \ && $1 != "PWD" \ - && $1 != "PATH" \ && $1 != "SHLVL") { \ \ print ""$1"="$2"" \ From 166ad1315dbb902123eb25e13418c4e67b2c36f9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 30 Jan 2019 12:48:20 +0700 Subject: [PATCH 331/559] Set $SSHD_PERMIT_USER_ENV default value to yet --- 5.6/Dockerfile | 1 - 5.6/templates/sshd_config.tmpl | 2 +- 7/Dockerfile | 1 - 7/templates/sshd_config.tmpl | 2 +- README.md | 2 +- 5 files changed, 3 insertions(+), 5 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index b7762780..8054a077 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -10,7 +10,6 @@ ARG WODBY_GROUP_ID=1000 ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ - SSHD_PERMIT_USER_ENV="yes" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" diff --git a/5.6/templates/sshd_config.tmpl b/5.6/templates/sshd_config.tmpl index 5f16dba5..0188d49d 100644 --- a/5.6/templates/sshd_config.tmpl +++ b/5.6/templates/sshd_config.tmpl @@ -85,7 +85,7 @@ GatewayPorts {{ getenv "SSHD_GATEWAY_PORTS" "no" }} #PrintLastLog yes #TCPKeepAlive yes #UseLogin no -PermitUserEnvironment {{ getenv "SSHD_PERMIT_USER_ENV" "no" }} +PermitUserEnvironment {{ getenv "SSHD_PERMIT_USER_ENV" "yes" }} #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 diff --git a/7/Dockerfile b/7/Dockerfile index c0e165a6..cd070737 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -10,7 +10,6 @@ ARG WODBY_GROUP_ID=1000 ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ - SSHD_PERMIT_USER_ENV="yes" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" diff --git a/7/templates/sshd_config.tmpl b/7/templates/sshd_config.tmpl index 5f16dba5..0188d49d 100644 --- a/7/templates/sshd_config.tmpl +++ b/7/templates/sshd_config.tmpl @@ -85,7 +85,7 @@ GatewayPorts {{ getenv "SSHD_GATEWAY_PORTS" "no" }} #PrintLastLog yes #TCPKeepAlive yes #UseLogin no -PermitUserEnvironment {{ getenv "SSHD_PERMIT_USER_ENV" "no" }} +PermitUserEnvironment {{ getenv "SSHD_PERMIT_USER_ENV" "yes" }} #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 diff --git a/README.md b/README.md index fc2ee1b5..6abf50fb 100644 --- a/README.md +++ b/README.md @@ -195,7 +195,7 @@ The default configuration is not recommended to be used for production environme | `SSHD_HOST_KEYS_DIR` | `/etc/ssh` | | `SSHD_LOG_LEVEL` | `INFO` | | `SSHD_PASSWORD_AUTHENTICATION` | `no` | -| `SSHD_PERMIT_USER_ENV` | `no` | +| `SSHD_PERMIT_USER_ENV` | `yes` | | `SSHD_USE_DNS` | `yes` | ## Build arguments From 023fbd8f5ab97f0bc87a1171f695f2cbd17e8dba Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 1 Feb 2019 19:55:54 +0000 Subject: [PATCH 332/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 5180fa67..48872db1 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.1#2019-01-16T12:43:12.703614Z -7.2.14#2019-01-16T12:42:58.415029Z -7.1.26#2019-01-16T12:42:16.201126Z -5.6.40#2019-01-16T12:39:46.238140Z \ No newline at end of file +7.3.1#2019-01-31T20:03:01.475489Z +7.2.14#2019-01-31T20:03:12.833537Z +7.1.26#2019-01-31T20:02:12.168633Z +5.6.40#2019-01-31T20:01:52.643157Z \ No newline at end of file From 7f662c66390c048b47234cc225ece6055db4ea27 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 2 Feb 2019 19:55:50 +0000 Subject: [PATCH 333/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 48872db1..ad2c5a99 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.1#2019-01-31T20:03:01.475489Z -7.2.14#2019-01-31T20:03:12.833537Z -7.1.26#2019-01-31T20:02:12.168633Z -5.6.40#2019-01-31T20:01:52.643157Z \ No newline at end of file +7.3.1#2019-02-01T20:02:58.980054Z +7.2.14#2019-02-01T20:04:41.584930Z +7.1.26#2019-02-01T20:01:18.248383Z +5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 4215d79a13d89fbbb5c4d7e3f022b805f58523e9 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 3 Feb 2019 19:56:13 +0000 Subject: [PATCH 334/559] Rebuild against updated base image --- .base-php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index ad2c5a99..f33c1753 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.3.1#2019-02-01T20:02:58.980054Z -7.2.14#2019-02-01T20:04:41.584930Z -7.1.26#2019-02-01T20:01:18.248383Z +7.2.14#2019-02-02T20:03:10.771913Z +7.1.26#2019-02-02T20:02:27.764732Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 493ae51b1af70c523c3fd1e03ef4794fa6fbcce2 Mon Sep 17 00:00:00 2001 From: Wodby Date: Mon, 4 Feb 2019 19:57:23 +0000 Subject: [PATCH 335/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index f33c1753..63c52dc1 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.1#2019-02-01T20:02:58.980054Z -7.2.14#2019-02-02T20:03:10.771913Z -7.1.26#2019-02-02T20:02:27.764732Z +7.3.1#2019-02-04T08:14:41.910240Z +7.2.14#2019-02-04T08:15:18.518061Z +7.1.26#2019-02-04T08:14:24.437354Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 9dfca7e35b5d3ce25276d640c523ba9065299788 Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Tue, 5 Feb 2019 19:37:29 +0100 Subject: [PATCH 336/559] Allow set pearch proxy as a build arg --- 7/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/7/Dockerfile b/7/Dockerfile index cd070737..f464fdfe 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -4,6 +4,7 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV ARG PHP_DEBUG +ARG PEAR_PROXY ARG WODBY_USER_ID=1000 ARG WODBY_GROUP_ID=1000 @@ -149,6 +150,7 @@ RUN set -xe; \ docker-php-ext-install "-j${NPROC}" gd; \ \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ + pear config-set http_proxy "${PEAR_PROXY}"; \ \ # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ From 16577b57f2dc2687088d87fb7faaeb7b576dbbc6 Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Wed, 6 Feb 2019 10:51:39 +0100 Subject: [PATCH 337/559] Use HTTP_PROXY var instead of a defined var --- 7/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index f464fdfe..15b7c511 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -4,7 +4,6 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV ARG PHP_DEBUG -ARG PEAR_PROXY ARG WODBY_USER_ID=1000 ARG WODBY_GROUP_ID=1000 @@ -150,7 +149,7 @@ RUN set -xe; \ docker-php-ext-install "-j${NPROC}" gd; \ \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ - pear config-set http_proxy "${PEAR_PROXY}"; \ + pear config-set http_proxy "${HTTP_PROXY}"; \ \ # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ From b8857420be0708ec8392bbbb08aa2f5cc6e6740a Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Wed, 6 Feb 2019 10:52:43 +0100 Subject: [PATCH 338/559] Update http proxy for pear - camelcase --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index 15b7c511..eececa82 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -149,7 +149,7 @@ RUN set -xe; \ docker-php-ext-install "-j${NPROC}" gd; \ \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ - pear config-set http_proxy "${HTTP_PROXY}"; \ + pear config-set http_proxy "${http_proxy}"; \ \ # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ From 2af44b1b860fbae596f169611bbdea1e1bbb6214 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 6 Feb 2019 19:57:30 +0000 Subject: [PATCH 339/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 63c52dc1..c306095e 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.1#2019-02-04T08:14:41.910240Z -7.2.14#2019-02-04T08:15:18.518061Z -7.1.26#2019-02-04T08:14:24.437354Z +7.3.1#2019-02-05T20:06:21.749896Z +7.2.14#2019-02-05T20:11:04.264343Z +7.1.26#2019-02-05T20:09:53.238866Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 03f9cdef1cf689742ce453d86806c3a66a305066 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 8 Feb 2019 13:29:42 +0000 Subject: [PATCH 340/559] Update php to 7.3.2 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index c306095e..4ebc205d 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.1#2019-02-05T20:06:21.749896Z +7.3.2#2019-02-07T20:06:33.022040Z 7.2.14#2019-02-05T20:11:04.264343Z 7.1.26#2019-02-05T20:09:53.238866Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 4607a28f..37e82641 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.1 + - PHP73=7.3.2 - PHP72=7.2.14 - PHP71=7.1.26 - PHP56=5.6.40 diff --git a/7/Makefile b/7/Makefile index 4ca2e85a..f3949300 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.1 +PHP_VER ?= 7.3.2 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 098ed9888e1c1289e0b667d62f08f6e7d70486f0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 8 Feb 2019 13:29:42 +0000 Subject: [PATCH 341/559] Update php to 7.2.15 --- .base-php | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index 4ebc205d..6097b258 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.3.2#2019-02-07T20:06:33.022040Z -7.2.14#2019-02-05T20:11:04.264343Z +7.2.15#2019-02-07T20:07:02.146341Z 7.1.26#2019-02-05T20:09:53.238866Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 37e82641..b729f9ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.2 - - PHP72=7.2.14 + - PHP72=7.2.15 - PHP71=7.1.26 - PHP56=5.6.40 matrix: From 56d1192984a8de7463bed6132c93a9db33179c8a Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 8 Feb 2019 13:29:49 +0000 Subject: [PATCH 342/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 6097b258..1b4bdb6c 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.2#2019-02-07T20:06:33.022040Z -7.2.15#2019-02-07T20:07:02.146341Z -7.1.26#2019-02-05T20:09:53.238866Z +7.3.2#2019-02-07T20:06:35.400027Z +7.2.15#2019-02-07T20:07:04.361239Z +7.1.26#2019-02-07T20:04:26.280576Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 63df6a94c86d552777230db5f7fd9987cfe9a4d1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Feb 2019 21:03:30 +0700 Subject: [PATCH 343/559] Update packages for Alpine 3.9 --- 7/Dockerfile | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index cd070737..b0b582ff 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -37,38 +37,38 @@ RUN set -xe; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ - apk add --update --no-cache -t .php-rundeps \ + apk add --update --no-cache -t .wodby-php-run-deps \ c-client=2007f-r8 \ fcgi \ findutils \ - freetype=2.9.1-r1 \ + freetype=2.9.1-r2 \ git \ gmp=6.1.2-r1 \ - icu-libs=60.2-r2 \ - imagemagick=7.0.7.39-r0 \ + icu-libs=62.1-r0 \ + imagemagick=7.0.8.23-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ - libevent=2.1.8-r5 \ + libevent=2.1.8-r6 \ libjpeg-turbo=1.5.3-r4 \ libjpeg-turbo-utils \ - libldap=2.4.46-r0 \ + libldap=2.4.47-r2 \ libltdl=2.4.6-r5 \ - libmemcached-libs=1.0.18-r2 \ + libmemcached-libs=1.0.18-r3 \ libmcrypt=2.5.8-r7 \ - libpng=1.6.34-r1 \ - librdkafka=0.11.4-r1 \ - libuuid=2.32-r0 \ + libpng=1.6.35-r0 \ + librdkafka=0.11.6-r1 \ + libuuid=2.33-r0 \ libxslt=1.1.32-r0 \ - libzip=1.5.1-r1 \ + libzip=1.5.1-r2 \ make \ - mariadb-client=10.2.19-r1 \ + mariadb-client=10.3.12-r2 \ nano \ openssh \ openssh-client \ patch \ - postgresql-client=10.5-r0 \ - rabbitmq-c=0.8.0-r4 \ + postgresql-client=11.1-r0 \ + rabbitmq-c=0.8.0-r5 \ rsync \ su-exec \ sudo \ @@ -76,9 +76,9 @@ RUN set -xe; \ # todo: move out tig and tmux to -dev version. tig \ tmux \ - yaml=0.1.7-r0; \ + yaml=0.2.1-r0; \ \ - apk add --update --no-cache -t .build-deps \ + apk add --update --no-cache -t .wodby-php-build-deps \ autoconf \ cmake \ build-base \ @@ -105,7 +105,7 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ - apk add -U --no-cache -t .php-edge-rundeps -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + apk add -U --no-cache -t .wodby-php-edge-run-deps -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ gnu-libiconv=1.15-r2; \ \ # Install redis-cli. From b802a3c9d12c0c2f9f886dff318637f7ed1ad78f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Feb 2019 21:03:56 +0700 Subject: [PATCH 344/559] Update packages for Alpine 3.9 --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index b0b582ff..5f92bf48 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -38,7 +38,7 @@ RUN set -xe; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ apk add --update --no-cache -t .wodby-php-run-deps \ - c-client=2007f-r8 \ + c-client=2007f-r9 \ fcgi \ findutils \ freetype=2.9.1-r2 \ From f7065d52684d03165c20bffbfa38e9bde5ba34a2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Feb 2019 21:12:02 +0700 Subject: [PATCH 345/559] Add additional env var for newrelic extension config #66 --- .../docker-php-ext-newrelic.ini.tmpl | 2 + 7/templates/docker-php-ext-newrelic.ini.tmpl | 2 + README.md | 242 +++++++++--------- 3 files changed, 127 insertions(+), 119 deletions(-) diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tmpl b/5.6/templates/docker-php-ext-newrelic.ini.tmpl index c82a471a..009b82da 100644 --- a/5.6/templates/docker-php-ext-newrelic.ini.tmpl +++ b/5.6/templates/docker-php-ext-newrelic.ini.tmpl @@ -13,3 +13,5 @@ newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" newrelic.framework = {{ getenv "PHP_NEWRELIC_FRAMEWORK" }} {{ end }} newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" +newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" +newrelic.guzzle_enabled = "{{ getenv "PHP_NEWRELIC_GUZZLE_ENABLED" "true" }}" diff --git a/7/templates/docker-php-ext-newrelic.ini.tmpl b/7/templates/docker-php-ext-newrelic.ini.tmpl index c82a471a..009b82da 100644 --- a/7/templates/docker-php-ext-newrelic.ini.tmpl +++ b/7/templates/docker-php-ext-newrelic.ini.tmpl @@ -13,3 +13,5 @@ newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" newrelic.framework = {{ getenv "PHP_NEWRELIC_FRAMEWORK" }} {{ end }} newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" +newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" +newrelic.guzzle_enabled = "{{ getenv "PHP_NEWRELIC_GUZZLE_ENABLED" "true" }}" diff --git a/README.md b/README.md index 6abf50fb..56f15eab 100644 --- a/README.md +++ b/README.md @@ -85,99 +85,101 @@ Include all changes from `-dev` images and additionally: The default configuration is not recommended to be used for production environment: -| Variable | 7.3 | 7.2 | 7.1 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | -| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | -| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | -| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | -| [`PHP_APCU_SERIALIZER`] | | | | | -| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | -| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | -| [`PHP_AUTO_PREPEND_FILE`] | | | | | -| [`PHP_AUTO_APPEND_FILE`] | | | | | -| `PHP_BLACKFIRE` | | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | -| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | -| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | -| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | -| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | -| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | -| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | -| `PHP_EXTENSIONS_DISABLE` | | | | | -| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | -| `PHP_FPM_ENV_VARS` | | | | | -| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | -| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | -| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | -| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | -| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | -| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | -| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | -| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | -| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | -| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | -| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | -| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | -| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | `My PHP app` | -| [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_FRAMEWORK`] | | | | | -| [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | | -| [`PHP_NEWRELIC_LABELS`] | | | | | -| [`PHP_NEWRELIC_LICENSE`] | | | | | -| [`PHP_NEWRELIC_LOGLEVEL`] | `info` | `info` | `info` | `info` | -| [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | -| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | -| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | -| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | -| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | -| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | `1` | `1` | -| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | - | -| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | `2000` | `2000` | `2000` | -| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_CACHE_LIST`] | | | | | -| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | -| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | -| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | -| _see all session options_ | [7.3 session] | [7.2 session] | [7.1 session] | [5.6 session] | -| `PHP_XHPROF` | | | | - | -| [`PHP_TRACK_ERRORS`] | - | - | `On` | `On` | -| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | - | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | | `0` | `0` | -| _see all xdebug ext options_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | +| Variable | 7.3 | 7.2 | 7.1 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | +| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | +| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | +| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | +| [`PHP_APCU_SERIALIZER`] | | | | | +| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | +| [`PHP_AUTO_PREPEND_FILE`] | | | | | +| [`PHP_AUTO_APPEND_FILE`] | | | | | +| `PHP_BLACKFIRE` | | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | +| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | +| `PHP_EXTENSIONS_DISABLE` | | | | | +| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | | +| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | +| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | +| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | +| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | `My PHP app` | +| [`PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT`] | `true` | `true` | `true` | `true` | +| [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_FRAMEWORK`] | | | | | +| [`PHP_NEWRELIC_GUZZLE_ENABLED`] | `true` | `true` | `true` | `true` | +| [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | | +| [`PHP_NEWRELIC_LABELS`] | | | | | +| [`PHP_NEWRELIC_LICENSE`] | | | | | +| [`PHP_NEWRELIC_LOGLEVEL`] | `info` | `info` | `info` | `info` | +| [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | +| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | +| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | +| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | +| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | +| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | `1` | `1` | +| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | - | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | `2000` | `2000` | `2000` | +| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_CACHE_LIST`] | | | | | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | +| _see all session options_ | [7.3 session] | [7.2 session] | [7.1 session] | [5.6 session] | +| `PHP_XHPROF` | | | | - | +| [`PHP_TRACK_ERRORS`] | - | - | `On` | `On` | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | - | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | | `0` | `0` | +| _see all xdebug ext options_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version @@ -282,7 +284,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | tidy | | | | | | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | -| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | +| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | | [xdebug] | - | 2.6.1 | 2.6.1 | 2.5.5 | | xml | | | | | | xmlreader | | | | | @@ -404,10 +406,10 @@ default params values: [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data +[`PHP_APCU_COREDUMP_UNMAP`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.coredump-unmap [`PHP_APCU_ENABLE_CLI`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enable-cli [`PHP_APCU_ENABLED`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.enabled [`PHP_APCU_ENTRIES_HINT`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.entries-hint -[`PHP_APCU_COREDUMP_UNMAP`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.coredump-unmap [`PHP_APCU_GC_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.gc-ttl [`PHP_APCU_PRELOAD_PATH`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.preload-path [`PHP_APCU_SERIALIZER`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.serializer @@ -417,37 +419,51 @@ default params values: [`PHP_APCU_TTL`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.ttl [`PHP_APCU_USE_REQUEST_TIME`]: http://php.net/manual/en/apcu.configuration.php#ini.apcu.use-request-time [`PHP_ASSERT_ACTIVE`]: http://php.net/assert.active -[`PHP_AUTO_PREPEND_FILE`]: http://php.net/auto-prepend-file [`PHP_AUTO_APPEND_FILE`]: http://php.net/auto-append-file +[`PHP_AUTO_PREPEND_FILE`]: http://php.net/auto-prepend-file [`PHP_DATE_TIMEZONE`]: http://php.net/date.timezone [`PHP_DEFAULT_SOCKET_TIMEOUT`]: http://php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout [`PHP_DISPLAY_ERRORS`]: http://php.net/display-errors [`PHP_DISPLAY_STARTUP_ERRORS`]: http://php.net/display-startup-errors [`PHP_ERROR_REPORTING`]: http://php.net/error-reporting [`PHP_EXPOSE`]: http://php.net/expose-php -[`PHP_LOG_ERRORS`]: http://php.net/log-errors +[`PHP_FPM_CLEAR_ENV`]: http://php.net/manual/en/install.fpm.configuration.php#clear-env +[`PHP_FPM_GROUP`]: http://php.net/manual/en/install.fpm.configuration.php#group +[`PHP_FPM_LOG_LEVEL`]: http://php.net/manual/en/install.fpm.configuration.php#log-level +[`PHP_FPM_PM_MAX_CHILDREN`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-chidlren +[`PHP_FPM_PM_MAX_REQUESTS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests +[`PHP_FPM_PM_MAX_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-spare-servers +[`PHP_FPM_PM_MIN_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers +[`PHP_FPM_PM_START_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers +[`PHP_FPM_PM_STATUS_PATH`]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path +[`PHP_FPM_PM`]: http://php.net/manual/en/install.fpm.configuration.php#pm +[`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`]: http://php.net/manual/en/install.fpm.configuration.php#request-slowlog-timeout +[`PHP_FPM_USER`]: http://php.net/manual/en/install.fpm.configuration.php#user [`PHP_LOG_ERRORS_MAX_LEN`]: http://php.net/log-errors-max-len +[`PHP_LOG_ERRORS`]: http://php.net/log-errors [`PHP_MAX_EXECUTION_TIME`]: http://php.net/max-execution-time [`PHP_MAX_FILE_UPLOADS`]: http://php.net/manual/en/ini.core.php#ini.max-file-uploads [`PHP_MAX_INPUT_TIME`]: http://php.net/max-input-time [`PHP_MAX_INPUT_VARS`]: http://php.net/max-input-vars +[`PHP_MBSTRING_ENCODING_TRANSLATION`]: http://php.net/mbstring.encoding-translation [`PHP_MBSTRING_HTTP_INPUT`]: http://php.net/mbstring.http-input [`PHP_MBSTRING_HTTP_OUTPUT`]: http://php.net/mbstring.http-output -[`PHP_MBSTRING_ENCODING_TRANSLATION`]: http://php.net/mbstring.encoding-translation [`PHP_MEMORY_LIMIT`]: http://php.net/memory-limit [`PHP_MYSQLI_CACHE_SIZE`]: http://php.net/mysqli.cache_size [`PHP_NEWRELIC_APPNAME`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-appname +[`PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-autorum [`PHP_NEWRELIC_CAPTURE_PARAMS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-enabled [`PHP_NEWRELIC_ENABLED`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-enabled [`PHP_NEWRELIC_FRAMEWORK`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-framework +[`PHP_NEWRELIC_GUZZLE_ENABLED`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-autorum [`PHP_NEWRELIC_HIGH_SECURITY`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-high-security [`PHP_NEWRELIC_IGNORED_PARAMS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-ignored_params [`PHP_NEWRELIC_LABELS`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-labels [`PHP_NEWRELIC_LICENSE`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-license [`PHP_NEWRELIC_LOGLEVEL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-loglevel [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-tt-detail -[`PHP_OPCACHE_ENABLE`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable [`PHP_OPCACHE_ENABLE_CLI`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable-cli +[`PHP_OPCACHE_ENABLE`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable [`PHP_OPCACHE_FAST_SHUTDOWN`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.fast-shutdown [`PHP_OPCACHE_HUGE_CODE_PAGES`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.huge_code_pages [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.interned-strings-buffer @@ -457,30 +473,18 @@ default params values: [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.validate-timestamps [`PHP_OUTPUT_BUFFERING`]: http://php.net/output-buffering [`PHP_PDO_MYSQL_CACHE_SIZE`]: http://php.net/pdo_mysql.cache_size +[`PHP_PHAR_CACHE_LIST`]: http://php.net/manual/en/phar.configuration.php#ini.phar.cache-list [`PHP_PHAR_READONLY`]: http://php.net/manual/en/phar.configuration.php#ini.phar.readonly [`PHP_PHAR_REQUIRE_HASH`]: http://php.net/manual/en/phar.configuration.php#ini.phar.require-hash -[`PHP_PHAR_CACHE_LIST`]: http://php.net/manual/en/phar.configuration.php#ini.phar.cache-list -[`PHP_ZEND_ASSERTIONS`]: http://php.net/zend.assertions -[`PHP_XDEBUG_DEFAULT_ENABLE`]: https://xdebug.org/docs/all_settings -[`PHP_UPLOAD_MAX_FILESIZE`]: http://php.net/upload-max-filesize -[`PHP_TRACK_ERRORS`]: http://php.net/track-errors -[`PHP_SESSION_SAVE_HANDLER`]: http://php.net/session.save-handler -[`PHP_SENDMAIL_PATH`]: http://php.net/sendmail-path +[`PHP_POST_MAX_SIZE`]: http://php.net/post-max-size [`PHP_REALPATH_CACHE_SIZE`]: http://php.net/realpath-cache-size [`PHP_REALPATH_CACHE_TTL`]: http://php.net/realpath-cache-ttl -[`PHP_POST_MAX_SIZE`]: http://php.net/post-max-size -[`PHP_FPM_CLEAR_ENV`]: http://php.net/manual/en/install.fpm.configuration.php#clear-env -[`PHP_FPM_LOG_LEVEL`]: http://php.net/manual/en/install.fpm.configuration.php#log-level -[`PHP_FPM_PM`]: http://php.net/manual/en/install.fpm.configuration.php#pm -[`PHP_FPM_PM_MAX_CHILDREN`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-chidlren -[`PHP_FPM_PM_MAX_REQUESTS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-requests -[`PHP_FPM_PM_MAX_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.max-spare-servers -[`PHP_FPM_PM_MIN_SPARE_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.min-spare-servers -[`PHP_FPM_PM_STATUS_PATH`]: http://php.net/manual/en/install.fpm.configuration.php#pm.status-path -[`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`]: http://php.net/manual/en/install.fpm.configuration.php#request-slowlog-timeout -[`PHP_FPM_PM_START_SERVERS`]: http://php.net/manual/en/install.fpm.configuration.php#pm.start-servers -[`PHP_FPM_USER`]: http://php.net/manual/en/install.fpm.configuration.php#user -[`PHP_FPM_GROUP`]: http://php.net/manual/en/install.fpm.configuration.php#group +[`PHP_SENDMAIL_PATH`]: http://php.net/sendmail-path +[`PHP_SESSION_SAVE_HANDLER`]: http://php.net/session.save-handler +[`PHP_TRACK_ERRORS`]: http://php.net/track-errors +[`PHP_UPLOAD_MAX_FILESIZE`]: http://php.net/upload-max-filesize +[`PHP_XDEBUG_DEFAULT_ENABLE`]: https://xdebug.org/docs/all_settings +[`PHP_ZEND_ASSERTIONS`]: http://php.net/zend.assertions [amqp]: http://pecl.php.net/package/amqp [apcu]: http://pecl.php.net/package/apcu From dfc19c557773c22ff6b580ddd3024a7fb8756816 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Feb 2019 21:18:10 +0700 Subject: [PATCH 346/559] Update orig configs --- 7/orig/php-7.2.ini-development | 2 ++ 7/orig/php-7.2.ini-production | 2 ++ 7/orig/php-7.3.ini-development | 2 ++ 7/orig/php-7.3.ini-production | 2 ++ 4 files changed, 8 insertions(+) diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index 60b9f706..d6e219b2 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -300,6 +300,7 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. +; Note: disables the realpath cache ; http://php.net/open-basedir ;open_basedir = @@ -332,6 +333,7 @@ disable_classes = ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. +; Note: if open_basedir is set, the cache is disabled ; http://php.net/realpath-cache-size ;realpath_cache_size = 4096k diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index 1f4dfe2c..0bd579a0 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -305,6 +305,7 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. +; Note: disables the realpath cache ; http://php.net/open-basedir ;open_basedir = @@ -337,6 +338,7 @@ disable_classes = ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. +; Note: if open_basedir is set, the cache is disabled ; http://php.net/realpath-cache-size ;realpath_cache_size = 4096k diff --git a/7/orig/php-7.3.ini-development b/7/orig/php-7.3.ini-development index db4fb299..1cf2a41b 100644 --- a/7/orig/php-7.3.ini-development +++ b/7/orig/php-7.3.ini-development @@ -300,6 +300,7 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. +; Note: disables the realpath cache ; http://php.net/open-basedir ;open_basedir = @@ -332,6 +333,7 @@ disable_classes = ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. +; Note: if open_basedir is set, the cache is disabled ; http://php.net/realpath-cache-size ;realpath_cache_size = 4096k diff --git a/7/orig/php-7.3.ini-production b/7/orig/php-7.3.ini-production index 794d3e8d..fa09ade7 100644 --- a/7/orig/php-7.3.ini-production +++ b/7/orig/php-7.3.ini-production @@ -305,6 +305,7 @@ serialize_precision = -1 ; open_basedir, if set, limits all file operations to the defined directory ; and below. This directive makes most sense if used in a per-directory ; or per-virtualhost web server configuration file. +; Note: disables the realpath cache ; http://php.net/open-basedir ;open_basedir = @@ -337,6 +338,7 @@ disable_classes = ; Determines the size of the realpath cache to be used by PHP. This value should ; be increased on systems where PHP opens many files to reflect the quantity of ; the file operations performed. +; Note: if open_basedir is set, the cache is disabled ; http://php.net/realpath-cache-size ;realpath_cache_size = 4096k From d236c4d2200843881644af825c113bf455fcae59 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Feb 2019 21:39:50 +0700 Subject: [PATCH 347/559] Fixes --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index 5f92bf48..ee80928b 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -305,7 +305,7 @@ RUN set -xe; \ \ su-exec wodby composer clear-cache; \ docker-php-source delete; \ - apk del --purge .build-deps; \ + apk del --purge .wodby-php-build-deps; \ pecl clear-cache; \ \ rm -rf \ From c8ff58496c4c8e747ae490ab2937e1fefffb71a6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 9 Feb 2019 00:15:49 +0700 Subject: [PATCH 348/559] Add webp support to gd #68 --- 7/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/7/Dockerfile b/7/Dockerfile index ee80928b..2929a05f 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -59,6 +59,7 @@ RUN set -xe; \ libpng=1.6.35-r0 \ librdkafka=0.11.6-r1 \ libuuid=2.33-r0 \ + libwebp=1.0.1-r0 \ libxslt=1.1.32-r0 \ libzip=1.5.1-r2 \ make \ @@ -96,6 +97,7 @@ RUN set -xe; \ libpng-dev \ librdkafka-dev \ libtool \ + libwebp-dev \ libxslt-dev \ libzip-dev \ openldap-dev \ @@ -142,6 +144,7 @@ RUN set -xe; \ # GD docker-php-ext-configure gd \ --with-gd \ + --with-webp-dir \ --with-freetype-dir=/usr/include/ \ --with-png-dir=/usr/include/ \ --with-jpeg-dir=/usr/include/; \ From e01009f638508916d33b24a50ec3f10daedd13c0 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Sat, 9 Feb 2019 00:24:49 +0700 Subject: [PATCH 349/559] Update apcu to 5.1.17 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 2929a05f..29ae01bb 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -181,7 +181,7 @@ RUN set -xe; \ \ pecl install \ amqp-1.9.4 \ - apcu-5.1.16 \ + apcu-5.1.17 \ ast-1.0.0 \ ds-1.2.6 \ event-2.4.3 \ diff --git a/README.md b/README.md index 56f15eab..5ca23e31 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | ---------------- | -------- | -------- | -------- | -------- | | [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | | apc | - | - | - | - | -| [apcu] | 5.1.16 | 5.1.16 | 5.1.16 | 4.0.11 | +| [apcu] | 5.1.17 | 5.1.17 | 5.1.17 | 4.0.11 | | [ast] | 1.0.0 | 1.0.0 | 1.0.0 | - | | [blackfire] | latest | latest | latest | latest | | bcmath | | | | | From 6deb04ea2d3dcc389dda1abfb7cc02f44c0831d6 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 8 Feb 2019 19:57:41 +0000 Subject: [PATCH 350/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 1b4bdb6c..87b48f7a 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.2#2019-02-07T20:06:35.400027Z -7.2.15#2019-02-07T20:07:04.361239Z -7.1.26#2019-02-07T20:04:26.280576Z +7.3.2#2019-02-08T17:37:36.175263Z +7.2.15#2019-02-08T17:36:58.936082Z +7.1.26#2019-02-08T17:35:21.685018Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 8ae84e1bb1d86887d81fca58cd92a58ac3ea27c6 Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Mon, 11 Feb 2019 09:49:48 +0100 Subject: [PATCH 351/559] Http proxy to download php packages: use build arg --- 7/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/7/Dockerfile b/7/Dockerfile index eececa82..161bed66 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -5,11 +5,14 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV ARG PHP_DEBUG +ARG HTTP_PROXY + ARG WODBY_USER_ID=1000 ARG WODBY_GROUP_ID=1000 ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ + HTTP_PROXY="${HTTP_PROXY}" \ \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" From 1619bb76459d6d967b649d1f4401953f407570f4 Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Mon, 11 Feb 2019 09:51:09 +0100 Subject: [PATCH 352/559] Use HTTP_PROXY build arg as uppercase --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index 161bed66..4eb97336 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -152,7 +152,7 @@ RUN set -xe; \ docker-php-ext-install "-j${NPROC}" gd; \ \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ - pear config-set http_proxy "${http_proxy}"; \ + pear config-set http_proxy "${HTTP_PROXY}"; \ \ # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ From ba86f0328b4fafd37c0dc07639efb29058200dc0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 12 Feb 2019 06:40:13 +0000 Subject: [PATCH 353/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 87b48f7a..9aaa79d1 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.2#2019-02-08T17:37:36.175263Z -7.2.15#2019-02-08T17:36:58.936082Z -7.1.26#2019-02-08T17:35:21.685018Z +7.3.2#2019-02-12T06:22:00.097360Z +7.2.15#2019-02-12T06:21:51.412380Z +7.1.26#2019-02-12T06:31:03.558686Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 837266e6bb76e2be7b7d13e9d79a4a0e529c781b Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 12 Feb 2019 19:59:17 +0000 Subject: [PATCH 354/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 9aaa79d1..87d75575 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.2#2019-02-12T06:22:00.097360Z -7.2.15#2019-02-12T06:21:51.412380Z -7.1.26#2019-02-12T06:31:03.558686Z +7.3.2#2019-02-12T06:58:02.285239Z +7.2.15#2019-02-12T06:40:58.569543Z +7.1.26#2019-02-12T06:41:57.575075Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 1fd8349439caecabdc50f687d725fa6afb7539fc Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 17 Feb 2019 20:01:34 +0000 Subject: [PATCH 355/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 87d75575..310bab2a 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.2#2019-02-12T06:58:02.285239Z -7.2.15#2019-02-12T06:40:58.569543Z -7.1.26#2019-02-12T06:41:57.575075Z +7.3.2#2019-02-16T20:09:15.802822Z +7.2.15#2019-02-16T20:09:57.159987Z +7.1.26#2019-02-16T20:08:17.193644Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 34e0540a372298a8ce8aeb636b22c9e5289c64d8 Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Wed, 20 Feb 2019 08:29:57 +0100 Subject: [PATCH 356/559] Remove http proxy as env variable --- 7/Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 4eb97336..5c9f1244 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -12,8 +12,6 @@ ARG WODBY_GROUP_ID=1000 ENV PHP_DEV="${PHP_DEV}" \ PHP_DEBUG="${PHP_DEBUG}" \ - HTTP_PROXY="${HTTP_PROXY}" \ - \ LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" ENV APP_ROOT="/var/www/html" \ From 6321cf3b72e7a587f9aef83a2564d5cbfa899bec Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 27 Feb 2019 12:37:01 +0700 Subject: [PATCH 357/559] Do not break build on orig config checks --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b729f9ef..6491e4bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,9 +24,9 @@ env: - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos script: - - set -e - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - make check-configs + - set -e - travis_retry make - make test From 57ac3e83bdd3365b424080c565ccd50a6f8d1182 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 27 Feb 2019 12:39:03 +0700 Subject: [PATCH 358/559] Update igbinary to 3.0.0 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 29ae01bb..78055a7a 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -186,7 +186,7 @@ RUN set -xe; \ ds-1.2.6 \ event-2.4.3 \ grpc-1.17.0 \ - igbinary-2.0.8 \ + igbinary-3.0.0 \ imagick-3.4.3 \ memcached-3.1.3 \ mongodb-1.5.3 \ diff --git a/README.md b/README.md index 5ca23e31..a7178302 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | [grpc] | 1.17.0 | 1.17.0 | 1.17.0 | 1.17.0 | | hash | | | | | | iconv | | | | | -| [igbinary] | 2.0.8 | 2.0.8 | 2.0.8 | 2.0.8 | +| [igbinary] | 3.0.0 | 3.0.0 | 3.0.0 | 2.0.8 | | [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | | imap | | | | | | intl | | | | | From 02c7b70dd4a01f7b815ca6816fa34ea2823e000a Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 27 Feb 2019 13:17:45 +0700 Subject: [PATCH 359/559] Update mariadb client --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 8054a077..097d786d 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -61,7 +61,7 @@ RUN set -xe; \ libuuid=2.32-r0 \ libxslt=1.1.32-r0 \ make \ - mariadb-client=10.2.19-r1 \ + mariadb-client=10.2.22-r0 \ nano \ openssh \ openssh-client \ diff --git a/7/Dockerfile b/7/Dockerfile index 78055a7a..b9fe44a8 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -63,7 +63,7 @@ RUN set -xe; \ libxslt=1.1.32-r0 \ libzip=1.5.1-r2 \ make \ - mariadb-client=10.3.12-r2 \ + mariadb-client=10.3.13-r0 \ nano \ openssh \ openssh-client \ From 8d4a12380a6956c33cb7b5c7f7fa47de3a909835 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 27 Feb 2019 13:18:56 +0700 Subject: [PATCH 360/559] Do not fail builds on orig config checks --- .travis.yml | 46 ++++++++++++++++++++++---------------------- 5.6/check-configs.sh | 3 ++- 7/check-configs.sh | 3 ++- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6491e4bb..5f0d39a6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,37 +5,37 @@ services: env: global: - - PHP73=7.3.2 - - PHP72=7.2.15 - - PHP71=7.1.26 - - PHP56=5.6.40 + - PHP73=7.3.2 + - PHP72=7.2.15 + - PHP71=7.1.26 + - PHP56=5.6.40 matrix: - - PHP_VER="${PHP73}" TAGS=7.3,7,latest - - PHP_VER="${PHP72}" TAGS=7.2 - - PHP_VER="${PHP71}" TAGS=7.1 - - PHP_VER="${PHP56}" TAGS=5.6,5 - - PHP_VER="${PHP73}" PHP_DEV=1 TAGS=7.3-dev,7-dev,dev - - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev - - PHP_VER="${PHP71}" PHP_DEV=1 TAGS=7.1-dev - - PHP_VER="${PHP56}" PHP_DEV=1 TAGS=5.6-dev,5-dev - - PHP_VER="${PHP73}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.3-dev-macos,7-dev-macos,dev-macos - - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos - - PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.1-dev-macos - - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos + - PHP_VER="${PHP73}" TAGS=7.3,7,latest + - PHP_VER="${PHP72}" TAGS=7.2 + - PHP_VER="${PHP71}" TAGS=7.1 + - PHP_VER="${PHP56}" TAGS=5.6,5 + - PHP_VER="${PHP73}" PHP_DEV=1 TAGS=7.3-dev,7-dev,dev + - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev + - PHP_VER="${PHP71}" PHP_DEV=1 TAGS=7.1-dev + - PHP_VER="${PHP56}" PHP_DEV=1 TAGS=5.6-dev,5-dev + - PHP_VER="${PHP73}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.3-dev-macos,7-dev-macos,dev-macos + - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos + - PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.1-dev-macos + - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos script: - - cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" - - make check-configs - - set -e - - travis_retry make - - make test +- set -e +- cd "${PHP_VER:0:1}" || cd "${PHP_VER:0:3}" +- make check-configs +- travis_retry make +- make test after_success: - - . "${TRAVIS_BUILD_DIR}/release.sh" +- . "${TRAVIS_BUILD_DIR}/release.sh" notifications: email: recipients: - - $NOTIFICATIONS_EMAIL + - $NOTIFICATIONS_EMAIL on_success: never on_failure: always diff --git a/5.6/check-configs.sh b/5.6/check-configs.sh index 9557cd9d..66f25294 100755 --- a/5.6/check-configs.sh +++ b/5.6/check-configs.sh @@ -38,4 +38,5 @@ for index in "${array[@]}" ; do rm -f "${orig}" done -[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file +# we don't want travis builds to fail. +#[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file diff --git a/7/check-configs.sh b/7/check-configs.sh index 9557cd9d..66f25294 100755 --- a/7/check-configs.sh +++ b/7/check-configs.sh @@ -38,4 +38,5 @@ for index in "${array[@]}" ; do rm -f "${orig}" done -[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file +# we don't want travis builds to fail. +#[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file From e99da3670e0eec495da41415fc33b2024e5c9508 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 7 Mar 2019 20:11:17 +0000 Subject: [PATCH 361/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 310bab2a..3a4180ce 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.2#2019-02-16T20:09:15.802822Z -7.2.15#2019-02-16T20:09:57.159987Z -7.1.26#2019-02-16T20:08:17.193644Z +7.3.2#2019-03-06T20:32:13.175100Z +7.2.15#2019-03-06T20:34:28.827340Z +7.1.26#2019-03-06T20:33:43.120505Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From a8b26804e5fda1041f1b1489c2683a37f2680bb6 Mon Sep 17 00:00:00 2001 From: David Thomas Date: Fri, 8 Mar 2019 10:49:31 +1300 Subject: [PATCH 362/559] #70 Update gnu-libiconv repository from testing to community. --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 097d786d..141b0d88 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -103,7 +103,7 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ - apk add -U --no-cache -t .php-edge-rundeps -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + apk add -U --no-cache -t .php-edge-rundeps -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ gnu-libiconv=1.15-r2; \ \ # Install redis-cli. diff --git a/7/Dockerfile b/7/Dockerfile index b9fe44a8..69920517 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -107,7 +107,7 @@ RUN set -xe; \ tidyhtml-dev \ yaml-dev; \ \ - apk add -U --no-cache -t .wodby-php-edge-run-deps -X http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \ + apk add -U --no-cache -t .wodby-php-edge-run-deps -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ gnu-libiconv=1.15-r2; \ \ # Install redis-cli. From 306b0f2325e596de0164e6cdf85cd773607c39e8 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Mar 2019 11:44:48 +0700 Subject: [PATCH 363/559] PHP patch updates: 7.3.3, 7.2.16, 7.1.27 --- .base-php | 6 +++--- .travis.yml | 6 +++--- 7/Makefile | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.base-php b/.base-php index 3a4180ce..18e2f4bd 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.2#2019-03-06T20:32:13.175100Z -7.2.15#2019-03-06T20:34:28.827340Z -7.1.26#2019-03-06T20:33:43.120505Z +7.3.3#2019-03-06T20:32:13.175100Z +7.2.16#2019-03-06T20:34:28.827340Z +7.1.27#2019-03-06T20:33:43.120505Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 5f0d39a6..935900ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,9 @@ services: env: global: - - PHP73=7.3.2 - - PHP72=7.2.15 - - PHP71=7.1.26 + - PHP73=7.3.3 + - PHP72=7.2.16 + - PHP71=7.1.27 - PHP56=5.6.40 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest diff --git a/7/Makefile b/7/Makefile index f3949300..e266cd04 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.2 +PHP_VER ?= 7.3.3 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 1325f3564d371ba76d0bacf230d9a9645f0d44d0 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Mar 2019 11:49:58 +0700 Subject: [PATCH 364/559] Update xdebug to 2.7.0 (add to PHP 7.3) #56 --- 7/Dockerfile | 8 ++------ 7/docker-entrypoint.sh | 5 +---- README.md | 8 ++++---- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 69920517..3d9d8309 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -161,12 +161,6 @@ RUN set -xe; \ docker-php-ext-install mcrypt; \ fi; \ \ - # not yet supported extensions. - if [[ "${PHP_VERSION:0:3}" != "7.3" ]]; then \ - pecl install xdebug-2.6.1; \ - docker-php-ext-enable xdebug; \ - fi; \ - \ # NewRelic extension and agent. newrelic_url="http://download.newrelic.com/php_agent/release/"; \ wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ @@ -194,6 +188,7 @@ RUN set -xe; \ rdkafka-3.0.5 \ redis-4.2.0 \ uuid-1.0.4 \ + xdebug-2.7.0 \ yaml-2.0.4; \ \ docker-php-ext-enable \ @@ -211,6 +206,7 @@ RUN set -xe; \ redis \ rdkafka \ uuid \ + xdebug \ yaml; \ \ # Event extension should be loaded after sockets. diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index f24ee59d..c4225ddd 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -77,10 +77,7 @@ process_templates() { _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-tideways_xhprof.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways_xhprof.ini" - - if [[ "${php_ver_minor}" != "7.3" ]]; then - _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - fi + _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" diff --git a/README.md b/README.md index a7178302..deccab68 100644 --- a/README.md +++ b/README.md @@ -176,9 +176,9 @@ The default configuration is not recommended to be used for production environme | `PHP_XHPROF` | | | | - | | [`PHP_TRACK_ERRORS`] | - | - | `On` | `On` | | [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | - | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | - | | `0` | `0` | -| _see all xdebug ext options_ | - | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| `PHP_XDEBUG` | | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | `0` | `0` | `0` | `0` | +| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | | [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version @@ -285,7 +285,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | | [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | - | 2.6.1 | 2.6.1 | 2.5.5 | +| [xdebug] | 2.7.0 | 2.7.0 | 2.7.0 | 2.5.5 | | xml | | | | | | xmlreader | | | | | | xmlrpc | | | | | From f5f9c165ff15ee3ad167f8b9ce7bf9912408cea0 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Mar 2019 11:56:08 +0700 Subject: [PATCH 365/559] =?UTF-8?q?Update=20tests=CB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 7/tests/php_modules/7.3 | 1 + 1 file changed, 1 insertion(+) diff --git a/7/tests/php_modules/7.3 b/7/tests/php_modules/7.3 index 102c1afc..1e669cce 100644 --- a/7/tests/php_modules/7.3 +++ b/7/tests/php_modules/7.3 @@ -63,6 +63,7 @@ tidy tokenizer uploadprogress uuid +xdebug xml xmlreader xmlrpc From 9d3e4e526a138d9378311b09497d55a3b994a1a2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 8 Mar 2019 13:18:00 +0700 Subject: [PATCH 366/559] Update tests --- 7/tests/php_modules/7.3 | 1 + 1 file changed, 1 insertion(+) diff --git a/7/tests/php_modules/7.3 b/7/tests/php_modules/7.3 index 1e669cce..a79a7ce8 100644 --- a/7/tests/php_modules/7.3 +++ b/7/tests/php_modules/7.3 @@ -75,6 +75,7 @@ zip zlib [Zend Modules] +Xdebug Zend OPcache blackfire From a6b6c6adcae65aee12c6ec1f21e07dd7cd56c4e2 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 8 Mar 2019 20:11:32 +0000 Subject: [PATCH 367/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 18e2f4bd..fa41f1c3 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-03-06T20:32:13.175100Z -7.2.16#2019-03-06T20:34:28.827340Z -7.1.27#2019-03-06T20:33:43.120505Z +7.3.3#2019-03-07T20:19:21.206498Z +7.2.16#2019-03-07T20:19:24.007820Z +7.1.27#2019-03-07T20:19:49.910798Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From b8ed2d6979c71edab1ba93db29111970ab2c8c15 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 10 Mar 2019 20:11:54 +0000 Subject: [PATCH 368/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index fa41f1c3..5061ef0f 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-03-07T20:19:21.206498Z -7.2.16#2019-03-07T20:19:24.007820Z -7.1.27#2019-03-07T20:19:49.910798Z +7.3.3#2019-03-09T20:21:34.646129Z +7.2.16#2019-03-09T20:20:52.318859Z +7.1.27#2019-03-09T20:19:54.366654Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From ef87ee87271c041522b71df48b7462dc06bbd853 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 12 Mar 2019 13:22:50 +0700 Subject: [PATCH 369/559] Remove hirak/prestissimo --- 5.6/Dockerfile | 3 --- 7/Dockerfile | 3 --- README.md | 7 ------- 3 files changed, 13 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 141b0d88..d9f095ec 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -216,9 +216,6 @@ RUN set -xe; \ # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ - # Install composer parallel install plugin - su-exec wodby composer global require "hirak/prestissimo:^0.3"; \ - \ # Install Walter walter_ver="1.3.0"; \ walter_url="https://github.com/walter-cd/walter/releases/download/v${walter_ver}/walter_${walter_ver}_linux_amd64.tar.gz"; \ diff --git a/7/Dockerfile b/7/Dockerfile index 3d9d8309..96f17926 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -235,9 +235,6 @@ RUN set -xe; \ \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ - # Plugin for parallel install. - su-exec wodby composer global require "hirak/prestissimo:^0.3"; \ - \ # Install Walter (deprecated). walter_ver="1.3.0"; \ walter_url="https://github.com/walter-cd/walter/releases/download/v${walter_ver}/walter_${walter_ver}_linux_amd64.tar.gz"; \ diff --git a/README.md b/README.md index deccab68..82997d6a 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,6 @@ * [Build arguments](#build-arguments) * [PHP Extensions](#php-extensions) * [Tools](#tools) -* [Global Composer Packages](#global-composer-packages) * [Libraries](#libraries) * [Changelog](#changelog) * [Users and permissions](#users-and-permissions) @@ -311,12 +310,6 @@ Extensions xdebug, blackfire and xhprof disabled by default. | [Composer](https://getcomposer.org) | latest | latest | latest | latest | | [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | -## Global Composer Packages - -| Package | Version | -| --------------------------------------------------------------------- | ------- | -| [hirak/prestissimo](https://packagist.org/packages/hirak/prestissimo) | ^0.3 | - ## Libraries All essential linux libraries are freezed and updates will be reflected in [changelog](#changelog). From 974ac2e8fafd7fbf2ad81aba42aefcbfc5744174 Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 12 Mar 2019 08:31:06 +0000 Subject: [PATCH 370/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 5061ef0f..922bdb46 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-03-09T20:21:34.646129Z -7.2.16#2019-03-09T20:20:52.318859Z -7.1.27#2019-03-09T20:19:54.366654Z +7.3.3#2019-03-11T20:22:37.972785Z +7.2.16#2019-03-11T20:28:52.348523Z +7.1.27#2019-03-11T20:28:29.026870Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 722c7d4cddbd30fc5a750f5ffdc7339b89e0feec Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 12 Mar 2019 11:52:17 +0000 Subject: [PATCH 371/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 922bdb46..c7f83d9c 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-03-11T20:22:37.972785Z -7.2.16#2019-03-11T20:28:52.348523Z -7.1.27#2019-03-11T20:28:29.026870Z +7.3.3#2019-03-12T11:15:24.882019Z +7.2.16#2019-03-12T11:16:56.412442Z +7.1.27#2019-03-12T11:15:58.785454Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From b9bb58e8b230b62bd0e119336a5015488faf72a4 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 5 Apr 2019 12:40:02 +0700 Subject: [PATCH 372/559] Unfreeze postgresl and mariadb client packages --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index d9f095ec..2adb873c 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -61,12 +61,12 @@ RUN set -xe; \ libuuid=2.32-r0 \ libxslt=1.1.32-r0 \ make \ - mariadb-client=10.2.22-r0 \ + mariadb-client \ nano \ openssh \ openssh-client \ patch \ - postgresql-client=10.5-r0 \ + postgresql-client \ rabbitmq-c=0.8.0-r4 \ rsync \ su-exec \ diff --git a/7/Dockerfile b/7/Dockerfile index 96f17926..cf356039 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -63,12 +63,12 @@ RUN set -xe; \ libxslt=1.1.32-r0 \ libzip=1.5.1-r2 \ make \ - mariadb-client=10.3.13-r0 \ + mariadb-client \ nano \ openssh \ openssh-client \ patch \ - postgresql-client=11.1-r0 \ + postgresql-client \ rabbitmq-c=0.8.0-r5 \ rsync \ su-exec \ From 5d8edf6d88988ab3404b7773f0cf2ff26a8f74d5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 5 Apr 2019 12:42:51 +0700 Subject: [PATCH 373/559] Update PHP: 7.3.4, 7.2.17, 7.1.28 --- .travis.yml | 6 +++--- 7/Makefile | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 935900ca..009e00e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,9 @@ services: env: global: - - PHP73=7.3.3 - - PHP72=7.2.16 - - PHP71=7.1.27 + - PHP73=7.3.4 + - PHP72=7.2.17 + - PHP71=7.1.28 - PHP56=5.6.40 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest diff --git a/7/Makefile b/7/Makefile index e266cd04..5984c69f 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.3 +PHP_VER ?= 7.3.4 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 32ef5b0a5b835c2dd497bfd0de7bf1c5c71615a6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 5 Apr 2019 12:51:46 +0700 Subject: [PATCH 374/559] Update orig configs --- 7/check-configs.sh | 2 +- 7/orig/php-7.1.ini-development | 11 +++++++++++ 7/orig/php-7.1.ini-production | 11 +++++++++++ 7/orig/php-7.2.ini-development | 11 +++++++++++ 7/orig/php-7.2.ini-production | 11 +++++++++++ 7/orig/php-7.3.ini-development | 16 ++++++++++++++-- 7/orig/php-7.3.ini-production | 16 ++++++++++++++-- 7 files changed, 73 insertions(+), 5 deletions(-) diff --git a/7/check-configs.sh b/7/check-configs.sh index 66f25294..82a15b2a 100755 --- a/7/check-configs.sh +++ b/7/check-configs.sh @@ -9,7 +9,7 @@ fi php_ver=$1 php_ver_minor=$2 -url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" +url="https://raw.githubusercontent.com/php/php-src/php-${php_ver}" array=( "./orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" diff --git a/7/orig/php-7.1.ini-development b/7/orig/php-7.1.ini-development index 3b8a2aff..74e1f4a1 100644 --- a/7/orig/php-7.1.ini-development +++ b/7/orig/php-7.1.ini-development @@ -991,8 +991,19 @@ cli_server.color = On ;intl.use_exceptions = 0 [sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir ;sqlite3.extension_dir = +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +sqlite3.defensive = 1 + [Pcre] ;PCRE library backtracking limit. ; http://php.net/pcre.backtrack-limit diff --git a/7/orig/php-7.1.ini-production b/7/orig/php-7.1.ini-production index d8f686e2..0658bf89 100644 --- a/7/orig/php-7.1.ini-production +++ b/7/orig/php-7.1.ini-production @@ -991,8 +991,19 @@ cli_server.color = On ;intl.use_exceptions = 0 [sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir ;sqlite3.extension_dir = +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +sqlite3.defensive = 1 + [Pcre] ;PCRE library backtracking limit. ; http://php.net/pcre.backtrack-limit diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index d6e219b2..b8141af0 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -986,8 +986,19 @@ cli_server.color = On ;intl.use_exceptions = 0 [sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir ;sqlite3.extension_dir = +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +sqlite3.defensive = 1 + [Pcre] ;PCRE library backtracking limit. ; http://php.net/pcre.backtrack-limit diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index 0bd579a0..1dbbfc8d 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -993,8 +993,19 @@ cli_server.color = On ;intl.use_exceptions = 0 [sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir ;sqlite3.extension_dir = +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +sqlite3.defensive = 1 + [Pcre] ;PCRE library backtracking limit. ; http://php.net/pcre.backtrack-limit diff --git a/7/orig/php-7.3.ini-development b/7/orig/php-7.3.ini-development index 1cf2a41b..ff996cd1 100644 --- a/7/orig/php-7.3.ini-development +++ b/7/orig/php-7.3.ini-development @@ -593,9 +593,10 @@ html_errors = On ; control characters. If your logger accepts everything, then no filtering ; is needed at all. ; Allowed values are: -; ascii (only base ASCII characters) -; no_ctrl (all characters except control characters) +; ascii (all printable ASCII characters and NL) +; no-ctrl (all characters except control characters) ; all (all characters) +; http://php.net/syslog.filter ;syslog.filter = ascii ;windows.show_crt_warning @@ -1004,8 +1005,19 @@ cli_server.color = On ;intl.use_exceptions = 0 [sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir ;sqlite3.extension_dir = +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +sqlite3.defensive = 1 + [Pcre] ; PCRE library backtracking limit. ; http://php.net/pcre.backtrack-limit diff --git a/7/orig/php-7.3.ini-production b/7/orig/php-7.3.ini-production index fa09ade7..57ff3741 100644 --- a/7/orig/php-7.3.ini-production +++ b/7/orig/php-7.3.ini-production @@ -600,9 +600,10 @@ html_errors = On ; control characters. If your logger accepts everything, then no filtering ; is needed at all. ; Allowed values are: -; ascii (only base ASCII characters) -; no_ctrl (all characters except control characters) +; ascii (all printable ASCII characters and NL) +; no-ctrl (all characters except control characters) ; all (all characters) +; http://php.net/syslog.filter ;syslog.filter = ascii ;windows.show_crt_warning @@ -1011,8 +1012,19 @@ cli_server.color = On ;intl.use_exceptions = 0 [sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir ;sqlite3.extension_dir = +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +sqlite3.defensive = 1 + [Pcre] ; PCRE library backtracking limit. ; http://php.net/pcre.backtrack-limit From e6a8156c902844c0a1073a13d5c2f315b68941e0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 5 Apr 2019 20:22:17 +0000 Subject: [PATCH 375/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index c7f83d9c..47a64075 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-03-12T11:15:24.882019Z -7.2.16#2019-03-12T11:16:56.412442Z -7.1.27#2019-03-12T11:15:58.785454Z +7.3.3#2019-04-04T20:31:43.751502Z +7.2.16#2019-04-04T20:31:31.618189Z +7.1.27#2019-04-04T20:30:47.617504Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 1c6bbe93cfe7a72ba3893a19fc1ff86f6adc32c6 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 6 Apr 2019 20:22:26 +0000 Subject: [PATCH 376/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 47a64075..264ffbb1 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-04-04T20:31:43.751502Z -7.2.16#2019-04-04T20:31:31.618189Z -7.1.27#2019-04-04T20:30:47.617504Z +7.3.3#2019-04-05T20:31:35.156158Z +7.2.16#2019-04-05T20:32:01.920851Z +7.1.27#2019-04-05T20:30:54.305987Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From e109da11233cd9fe566eb39642b849057cb66672 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 10 Apr 2019 10:38:36 +0700 Subject: [PATCH 377/559] Update xdebug to 2.7.1 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index cf356039..ca5b8a27 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -188,7 +188,7 @@ RUN set -xe; \ rdkafka-3.0.5 \ redis-4.2.0 \ uuid-1.0.4 \ - xdebug-2.7.0 \ + xdebug-2.7.1 \ yaml-2.0.4; \ \ docker-php-ext-enable \ diff --git a/README.md b/README.md index 82997d6a..73a991cd 100644 --- a/README.md +++ b/README.md @@ -284,7 +284,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | | [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | 2.7.0 | 2.7.0 | 2.7.0 | 2.5.5 | +| [xdebug] | 2.7.1 | 2.7.1 | 2.7.1 | 2.5.5 | | xml | | | | | | xmlreader | | | | | | xmlrpc | | | | | From 4281723b26af0894303afb0682f18b2c26c4ee1d Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 10 Apr 2019 05:15:56 +0000 Subject: [PATCH 378/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 264ffbb1..ea1d544d 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-04-05T20:31:35.156158Z -7.2.16#2019-04-05T20:32:01.920851Z -7.1.27#2019-04-05T20:30:54.305987Z +7.3.3#2019-04-10T03:24:31.541148Z +7.2.16#2019-04-10T03:24:57.232121Z +7.1.27#2019-04-10T03:22:56.972917Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 03a4bdaa7db2cba69832e28726d206a442e24148 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 11 Apr 2019 19:31:11 +0700 Subject: [PATCH 379/559] Update Walter to 1.4.0 --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 2 +- README.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 2adb873c..f34066a0 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -216,8 +216,8 @@ RUN set -xe; \ # Install composer wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ - # Install Walter - walter_ver="1.3.0"; \ + # Install Walter (deprecated). + walter_ver="1.4.0"; \ walter_url="https://github.com/walter-cd/walter/releases/download/v${walter_ver}/walter_${walter_ver}_linux_amd64.tar.gz"; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ diff --git a/7/Dockerfile b/7/Dockerfile index ca5b8a27..648b3152 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -236,7 +236,7 @@ RUN set -xe; \ wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ \ # Install Walter (deprecated). - walter_ver="1.3.0"; \ + walter_ver="1.4.0"; \ walter_url="https://github.com/walter-cd/walter/releases/download/v${walter_ver}/walter_${walter_ver}_linux_amd64.tar.gz"; \ wget -qO- "${walter_url}" | tar xz -C /tmp/; \ mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ diff --git a/README.md b/README.md index 73a991cd..64cf20f0 100644 --- a/README.md +++ b/README.md @@ -308,7 +308,7 @@ Extensions xdebug, blackfire and xhprof disabled by default. | Tool | 7.3 | 7.2 | 7.1 | 5.6 | | ---------------------------------------------------------- | ------- | ------- | ------- | ------- | | [Composer](https://getcomposer.org) | latest | latest | latest | latest | -| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 | +| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 | ## Libraries From 853a5a390306c8776a01f661d8dd524cfab61020 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 22 Apr 2019 14:40:54 +0700 Subject: [PATCH 380/559] Update libxslt to 1.1.33 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index f34066a0..5aa90179 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -59,7 +59,7 @@ RUN set -xe; \ libpng=1.6.34-r1 \ librdkafka=0.11.4-r1 \ libuuid=2.32-r0 \ - libxslt=1.1.32-r0 \ + libxslt=1.1.33-r1 \ make \ mariadb-client \ nano \ diff --git a/7/Dockerfile b/7/Dockerfile index 648b3152..0a325b32 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -60,7 +60,7 @@ RUN set -xe; \ librdkafka=0.11.6-r1 \ libuuid=2.33-r0 \ libwebp=1.0.1-r0 \ - libxslt=1.1.32-r0 \ + libxslt=1.1.33-r1 \ libzip=1.5.1-r2 \ make \ mariadb-client \ From dde7223774ec2f1acf1e021ecdca7a9df47746ee Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 22 Apr 2019 14:42:44 +0700 Subject: [PATCH 381/559] Update event and rdkafka extensions. Closes #75 --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 4 ++-- README.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 5aa90179..abf0bf94 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -171,14 +171,14 @@ RUN set -xe; \ pecl install \ amqp-1.9.3 \ apcu-4.0.11 \ - event-2.4.3 \ + event-2.4.4 \ grpc-1.17.0 \ igbinary-2.0.8 \ imagick-3.4.3 \ memcached-2.2.0 \ mongodb-1.5.3 \ oauth-1.2.3 \ - rdkafka-3.0.5 \ + rdkafka-3.1.0 \ redis-4.1.1 \ uploadprogress-1.0.3.1 \ uuid-1.0.4 \ diff --git a/7/Dockerfile b/7/Dockerfile index 0a325b32..a7a17578 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -178,14 +178,14 @@ RUN set -xe; \ apcu-5.1.17 \ ast-1.0.0 \ ds-1.2.6 \ - event-2.4.3 \ + event-2.4.4 \ grpc-1.17.0 \ igbinary-3.0.0 \ imagick-3.4.3 \ memcached-3.1.3 \ mongodb-1.5.3 \ oauth-2.0.3 \ - rdkafka-3.0.5 \ + rdkafka-3.1.0 \ redis-4.2.0 \ uuid-1.0.4 \ xdebug-2.7.1 \ diff --git a/README.md b/README.md index 64cf20f0..f15c5680 100644 --- a/README.md +++ b/README.md @@ -233,7 +233,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | [ds] | 1.2.6 | 1.2.6 | 1.2.6 | - | | exif | | | | | | ereg | - | - | - | | -| [event] | 2.4.3 | 2.4.3 | 2.4.3 | 2.4.3 | +| [event] | 2.4.4 | 2.4.4 | 2.4.4 | 2.4.4 | | fileinfo | | | | | | filter | | | | | | ftp | | | | | @@ -267,7 +267,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | pgsql | | | | | | Phar | | | | | | posix | | | | | -| [rdkafka] | 3.0.5 | 3.0.5 | 3.0.5 | 3.0.5 | +| [rdkafka] | 3.1.0 | 3.1.0 | 3.1.0 | 3.1.0 | | readline | | | | | | [redis] | 4.2.0 | 4.2.0 | 4.2.0 | 4.2.0 | | Reflection | | | | | From a9b28ed6599d3e5389881c321533801aa8d77eb3 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 22 Apr 2019 14:48:00 +0700 Subject: [PATCH 382/559] Update imagemagick to 7.0.8.38 --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index a7a17578..261b39e1 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -45,7 +45,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=62.1-r0 \ - imagemagick=7.0.8.23-r0 \ + imagemagick=7.0.8.38-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ From 6b57a956b9be4f14c97e2e1704aa7075f669dd76 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 22 Apr 2019 14:51:48 +0700 Subject: [PATCH 383/559] Update imagemagick to 7.0.8.38 --- 5.6/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index abf0bf94..a77dc952 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -45,7 +45,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.7.39-r0 \ + imagemagick=7.0.8.38-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ From 7568dd206bb9115b600bedda90d1e95161f500ff Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 23 Apr 2019 10:51:27 +0700 Subject: [PATCH 384/559] Update notifications email --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 009e00e7..56ecc129 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,6 +36,6 @@ after_success: notifications: email: recipients: - - $NOTIFICATIONS_EMAIL + - travisci@wodby.com on_success: never on_failure: always From 266ec4f82c9966f76a5347d266477fe09f75a91d Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 23 Apr 2019 20:31:10 +0000 Subject: [PATCH 385/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index ea1d544d..a35c7680 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-04-10T03:24:31.541148Z -7.2.16#2019-04-10T03:24:57.232121Z -7.1.27#2019-04-10T03:22:56.972917Z +7.3.3#2019-04-23T04:51:43.307020Z +7.2.16#2019-04-23T04:51:25.350271Z +7.1.27#2019-04-23T04:50:50.614584Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 3f210bb28ca3498d300a708ac97c0bf94f5cc5d8 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 24 Apr 2019 20:30:49 +0000 Subject: [PATCH 386/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index a35c7680..82b9cd09 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-04-23T04:51:43.307020Z -7.2.16#2019-04-23T04:51:25.350271Z -7.1.27#2019-04-23T04:50:50.614584Z +7.3.3#2019-04-23T20:38:59.778661Z +7.2.16#2019-04-23T20:39:02.366165Z +7.1.27#2019-04-23T20:49:06.587663Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 1dc859fc9f96067397ff124bd396d0cc6156f3a3 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 25 Apr 2019 03:39:51 +0000 Subject: [PATCH 387/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 82b9cd09..9422d00f 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-04-23T20:38:59.778661Z -7.2.16#2019-04-23T20:39:02.366165Z -7.1.27#2019-04-23T20:49:06.587663Z +7.3.3#2019-04-24T20:39:36.116172Z +7.2.16#2019-04-24T20:39:42.984296Z +7.1.27#2019-04-24T20:38:25.148923Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 7b787f8bc271c7511e61d2aa53b95d34ec8cd18c Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 3 May 2019 20:34:58 +0000 Subject: [PATCH 388/559] Update php to 7.3.5 --- .travis.yml | 2 +- 7/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 56ecc129..2114b00a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.4 + - PHP73=7.3.5 - PHP72=7.2.17 - PHP71=7.1.28 - PHP56=5.6.40 diff --git a/7/Makefile b/7/Makefile index 5984c69f..a0ba8f2e 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.4 +PHP_VER ?= 7.3.5 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 9b46b07e9f11e7a8f8d01fad2aedf1d56a4836f0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 3 May 2019 20:34:58 +0000 Subject: [PATCH 389/559] Update php to 7.2.18 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2114b00a..1b48ef86 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.5 - - PHP72=7.2.17 + - PHP72=7.2.18 - PHP71=7.1.28 - PHP56=5.6.40 matrix: From 3717f013407542140c37c03e1669f1f1bb25b241 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 3 May 2019 20:35:51 +0000 Subject: [PATCH 390/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 9422d00f..17b163c9 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-04-24T20:39:36.116172Z -7.2.16#2019-04-24T20:39:42.984296Z -7.1.27#2019-04-24T20:38:25.148923Z +7.3.3#2019-05-02T20:43:53.782460Z +7.2.16#2019-05-02T20:43:06.560219Z +7.1.27#2019-05-02T20:42:31.575248Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From a1feebd94999e9a64d416d71c93cb8565f3188d0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 4 May 2019 20:34:49 +0000 Subject: [PATCH 391/559] Rebuild against updated base image --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index 17b163c9..affd8956 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ 7.3.3#2019-05-02T20:43:53.782460Z -7.2.16#2019-05-02T20:43:06.560219Z +7.2.16#2019-05-03T20:44:01.028568Z 7.1.27#2019-05-02T20:42:31.575248Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From ef9cf57ccf2a7be2c0ed39be2d22a5ae9974eb2f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 6 May 2019 15:55:07 +0700 Subject: [PATCH 392/559] Update PHP to 7.1.29 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1b48ef86..d0af7d87 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP73=7.3.5 - PHP72=7.2.18 - - PHP71=7.1.28 + - PHP71=7.1.29 - PHP56=5.6.40 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest From 8db98bf3c73e9ac7ea82a3dc3d32e8f584da2bba Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 6 May 2019 15:55:37 +0700 Subject: [PATCH 393/559] Update package: imagemagic 7.0.8.44, libpng 1.6.37 --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index a77dc952..ffee3d61 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -45,7 +45,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.8.38-r0 \ + imagemagick=7.0.8.44-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ @@ -56,7 +56,7 @@ RUN set -xe; \ libltdl=2.4.6-r5 \ libmemcached-libs=1.0.18-r2 \ libmcrypt=2.5.8-r7 \ - libpng=1.6.34-r1 \ + libpng=1.6.37-r0 \ librdkafka=0.11.4-r1 \ libuuid=2.32-r0 \ libxslt=1.1.33-r1 \ diff --git a/7/Dockerfile b/7/Dockerfile index 261b39e1..0671ee8c 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -45,7 +45,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=62.1-r0 \ - imagemagick=7.0.8.38-r0 \ + imagemagick=7.0.8.44-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ @@ -56,7 +56,7 @@ RUN set -xe; \ libltdl=2.4.6-r5 \ libmemcached-libs=1.0.18-r3 \ libmcrypt=2.5.8-r7 \ - libpng=1.6.35-r0 \ + libpng=1.6.37-r0 \ librdkafka=0.11.6-r1 \ libuuid=2.33-r0 \ libwebp=1.0.1-r0 \ From 8a3b4f003b8c9843f06fe8cf41dca02523963738 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 6 May 2019 15:56:38 +0700 Subject: [PATCH 394/559] Update extensions: event 2.5.0, imagick 3.4.4 --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index ffee3d61..ece6598b 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -171,10 +171,10 @@ RUN set -xe; \ pecl install \ amqp-1.9.3 \ apcu-4.0.11 \ - event-2.4.4 \ + event-2.5.0 \ grpc-1.17.0 \ igbinary-2.0.8 \ - imagick-3.4.3 \ + imagick-3.4.4 \ memcached-2.2.0 \ mongodb-1.5.3 \ oauth-1.2.3 \ diff --git a/7/Dockerfile b/7/Dockerfile index 0671ee8c..6b6df646 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -178,10 +178,10 @@ RUN set -xe; \ apcu-5.1.17 \ ast-1.0.0 \ ds-1.2.6 \ - event-2.4.4 \ + event-2.5.0 \ grpc-1.17.0 \ igbinary-3.0.0 \ - imagick-3.4.3 \ + imagick-3.4.4 \ memcached-3.1.3 \ mongodb-1.5.3 \ oauth-2.0.3 \ From 407728dfeef56b1101997cbb62786a7389ebe667 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 7 May 2019 10:56:54 +0700 Subject: [PATCH 395/559] Rollback imagemagick pkg for PHP 5.6 --- 5.6/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index ece6598b..1f85a1b8 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -45,7 +45,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.8.44-r0 \ + imagemagick=7.0.8.38-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ From 2a92a4f3921054ca63e6aecc4a69a1766585a705 Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 7 May 2019 20:37:19 +0000 Subject: [PATCH 396/559] Rebuild against updated base image --- .base-php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.base-php b/.base-php index affd8956..d9f4094b 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-05-02T20:43:53.782460Z +7.3.3#2019-05-06T05:08:57.098086Z 7.2.16#2019-05-03T20:44:01.028568Z -7.1.27#2019-05-02T20:42:31.575248Z +7.1.27#2019-05-06T05:07:56.766591Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From cba7f5a8b71ad54f4759ab36e8b10ad6da911935 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 13 May 2019 13:20:20 +0700 Subject: [PATCH 397/559] Update xdebug to 2.7.2 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 6b6df646..6a39377f 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -188,7 +188,7 @@ RUN set -xe; \ rdkafka-3.1.0 \ redis-4.2.0 \ uuid-1.0.4 \ - xdebug-2.7.1 \ + xdebug-2.7.2 \ yaml-2.0.4; \ \ docker-php-ext-enable \ diff --git a/README.md b/README.md index f15c5680..1b94b847 100644 --- a/README.md +++ b/README.md @@ -284,7 +284,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | | [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | 2.7.1 | 2.7.1 | 2.7.1 | 2.5.5 | +| [xdebug] | 2.7.2 | 2.7.2 | 2.7.2 | 2.5.5 | | xml | | | | | | xmlreader | | | | | | xmlrpc | | | | | From c9a79dbe01b5017050747be7de7beaefd38bfe33 Mon Sep 17 00:00:00 2001 From: Wodby Date: Mon, 13 May 2019 11:34:10 +0000 Subject: [PATCH 398/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index d9f4094b..8c61d9d0 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-05-06T05:08:57.098086Z -7.2.16#2019-05-03T20:44:01.028568Z -7.1.27#2019-05-06T05:07:56.766591Z +7.3.3#2019-05-12T21:03:39.523659Z +7.2.16#2019-05-12T21:03:54.072416Z +7.1.27#2019-05-12T21:11:29.982863Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 0d869e3f8d7ce3cff2831e2264debdf9e0555f72 Mon Sep 17 00:00:00 2001 From: Wodby Date: Mon, 13 May 2019 12:10:25 +0000 Subject: [PATCH 399/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 8c61d9d0..23acfca4 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-05-12T21:03:39.523659Z -7.2.16#2019-05-12T21:03:54.072416Z -7.1.27#2019-05-12T21:11:29.982863Z +7.3.3#2019-05-13T11:45:12.123664Z +7.2.16#2019-05-13T11:52:20.079732Z +7.1.27#2019-05-13T11:50:47.815280Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 428c364a749ca60c63d7e028bf9f60cc13c5980e Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Fri, 17 May 2019 16:20:28 +0200 Subject: [PATCH 400/559] Pecl http proxy changes: only if defined in build args, use pecl instead of pear, rename to PECL_HTTP_PROXY --- 7/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index b75bb803..aaa98645 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -5,7 +5,7 @@ FROM wodby/base-php:${FROM_TAG} ARG PHP_DEV ARG PHP_DEBUG -ARG HTTP_PROXY +ARG PECL_HTTP_PROXY ARG WODBY_USER_ID=1000 ARG WODBY_GROUP_ID=1000 @@ -153,8 +153,9 @@ RUN set -xe; \ docker-php-ext-install "-j${NPROC}" gd; \ \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ - pear config-set http_proxy "${HTTP_PROXY}"; \ - \ + if [[ "${PECL_HTTP_PROXY}" != "" ]]; then \ + pecl config-set http_proxy "${PECL_HTTP_PROXY}"; \ + fi; \ # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ pecl install mcrypt-1.0.1; \ From b447217d9e4a82be1897701a791d5272e412d5b1 Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Fri, 17 May 2019 16:20:41 +0200 Subject: [PATCH 401/559] Makefile: use PECL_HTTP_PROXY --- 7/Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/7/Makefile b/7/Makefile index a0ba8f2e..4350a311 100644 --- a/7/Makefile +++ b/7/Makefile @@ -10,6 +10,8 @@ FROM_TAG = $(PHP_VER) WODBY_USER_ID ?= 1000 WODBY_GROUP_ID ?= 1000 +PECL_HTTP_PROXY ?= "" + ifeq ($(TAG),) ifneq ($(PHP_DEBUG),) TAG ?= $(PHP_VER_MINOR)-debug @@ -47,6 +49,7 @@ build: --build-arg PHP_DEBUG=$(PHP_DEBUG) \ --build-arg WODBY_USER_ID=$(WODBY_USER_ID) \ --build-arg WODBY_GROUP_ID=$(WODBY_GROUP_ID) \ + --build-arg PECL_HTTP_PROXY=$(PECL_HTTP_PROXY) \ ./ test: From 341404c289ce9d92872376ae9d41811e5ae29e76 Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Fri, 17 May 2019 17:35:06 +0200 Subject: [PATCH 402/559] Use pear instead of pecl to set http_Proxy, pecl throw errors: https://blog.flowl.info/2015/peclpear-behind-proxy-how-to/ --- 7/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index aaa98645..7b0d276e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -154,7 +154,8 @@ RUN set -xe; \ \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ if [[ "${PECL_HTTP_PROXY}" != "" ]]; then \ - pecl config-set http_proxy "${PECL_HTTP_PROXY}"; \ + # Using pear as pecl throw errors: https://blog.flowl.info/2015/peclpear-behind-proxy-how-to/ + pear config-set http_proxy "${PECL_HTTP_PROXY}"; \ fi; \ # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ From bb38bd181ed13c5c170cc3ecbfde9af852f22c4c Mon Sep 17 00:00:00 2001 From: Omar Mohamad - El Hassan Lopesino Date: Mon, 20 May 2019 18:15:30 +0200 Subject: [PATCH 403/559] PECL Proxy: correct way to check if variable exists. --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index 7b0d276e..83360de6 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -153,7 +153,7 @@ RUN set -xe; \ docker-php-ext-install "-j${NPROC}" gd; \ \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ - if [[ "${PECL_HTTP_PROXY}" != "" ]]; then \ + if [[ -n "${PECL_HTTP_PROXY}" ]]; then \ # Using pear as pecl throw errors: https://blog.flowl.info/2015/peclpear-behind-proxy-how-to/ pear config-set http_proxy "${PECL_HTTP_PROXY}"; \ fi; \ From d90c30e99504c427cd3bb1186e86084c21c84f16 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 31 May 2019 09:57:53 +0700 Subject: [PATCH 404/559] Update extensions: ast 1.0.1, ds 1.2.9, event 2.5.1, grpc 1.20.0, igbinary 3.0.1, redis 4.3.0, tideways xhprof 5.0-beta3 --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 14 +++++++------- README.md | 16 ++++++++-------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 1f85a1b8..8c26a0e2 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -171,8 +171,8 @@ RUN set -xe; \ pecl install \ amqp-1.9.3 \ apcu-4.0.11 \ - event-2.5.0 \ - grpc-1.17.0 \ + event-2.5.1 \ + grpc-1.20.0 \ igbinary-2.0.8 \ imagick-3.4.4 \ memcached-2.2.0 \ diff --git a/7/Dockerfile b/7/Dockerfile index 83360de6..dcf9b53a 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -180,17 +180,17 @@ RUN set -xe; \ pecl install \ amqp-1.9.4 \ apcu-5.1.17 \ - ast-1.0.0 \ - ds-1.2.6 \ - event-2.5.0 \ - grpc-1.17.0 \ - igbinary-3.0.0 \ + ast-1.0.1 \ + ds-1.2.9 \ + event-2.5.1 \ + grpc-1.20.0 \ + igbinary-3.0.1 \ imagick-3.4.4 \ memcached-3.1.3 \ mongodb-1.5.3 \ oauth-2.0.3 \ rdkafka-3.1.0 \ - redis-4.2.0 \ + redis-4.3.0 \ uuid-1.0.4 \ xdebug-2.7.2 \ yaml-2.0.4; \ @@ -231,7 +231,7 @@ RUN set -xe; \ docker-php-ext-install uploadprogress; \ \ # Tideways xhprof. - xhprof_ext_ver="5.0-beta2"; \ + xhprof_ext_ver="5.0-beta3"; \ mkdir -p /usr/src/php/ext/tideways_xhprof; \ xhprof_url="https://github.com/tideways/php-xhprof-extension/archive/v${xhprof_ext_ver}.tar.gz"; \ wget -qO- "${xhprof_url}" | tar xz --strip-components=1 -C /usr/src/php/ext/tideways_xhprof; \ diff --git a/README.md b/README.md index 1b94b847..8784cc6c 100644 --- a/README.md +++ b/README.md @@ -220,7 +220,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | | apc | - | - | - | - | | [apcu] | 5.1.17 | 5.1.17 | 5.1.17 | 4.0.11 | -| [ast] | 1.0.0 | 1.0.0 | 1.0.0 | - | +| [ast] | 1.0.1 | 1.0.1 | 1.0.1 | - | | [blackfire] | latest | latest | latest | latest | | bcmath | | | | | | bz2 | | | | | @@ -230,19 +230,19 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | curl | | | | | | date | | | | | | dom | | | | | -| [ds] | 1.2.6 | 1.2.6 | 1.2.6 | - | +| [ds] | 1.2.9 | 1.2.9 | 1.2.9 | - | | exif | | | | | | ereg | - | - | - | | -| [event] | 2.4.4 | 2.4.4 | 2.4.4 | 2.4.4 | +| [event] | 2.5.1 | 2.5.1 | 2.5.1 | 2.5.1 | | fileinfo | | | | | | filter | | | | | | ftp | | | | | | gd | | | | | -| [grpc] | 1.17.0 | 1.17.0 | 1.17.0 | 1.17.0 | +| [grpc] | 1.20.0 | 1.20.0 | 1.20.0 | 1.20.0 | | hash | | | | | | iconv | | | | | -| [igbinary] | 3.0.0 | 3.0.0 | 3.0.0 | 2.0.8 | -| [imagick] | 3.4.3 | 3.4.3 | 3.4.3 | 3.4.3 | +| [igbinary] | 3.0.1 | 3.0.1 | 3.0.1 | 2.0.8 | +| [imagick] | 3.4.4 | 3.4.4 | 3.4.4 | 3.4.4 | | imap | | | | | | intl | | | | | | json | | | | | @@ -269,7 +269,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | posix | | | | | | [rdkafka] | 3.1.0 | 3.1.0 | 3.1.0 | 3.1.0 | | readline | | | | | -| [redis] | 4.2.0 | 4.2.0 | 4.2.0 | 4.2.0 | +| [redis] | 4.3.0 | 4.3.0 | 4.3.0 | 4.2.0 | | Reflection | | | | | | session | | | | | | SimpleXML | | | | | @@ -279,7 +279,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | SPL | | | | | | sqlite3 | | | | | | standard | | | | | -| [tideways_xhprof] | v5.0-beta2 | v5.0-beta2 | v5.0-beta2 | | +| [tideways_xhprof] | v5.0-beta3 | v5.0-beta3 | v5.0-beta3 | | | tidy | | | | | | tokenizer | | | | | | [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | From b96124920b0507f896a5b24778d22dadaaecdb71 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 31 May 2019 10:00:35 +0700 Subject: [PATCH 405/559] Update PHP: 7.3.16, 7.2.19, 7.1.30 --- .travis.yml | 6 +++--- 7/Makefile | 2 +- 7/orig/php-7.2.ini-development | 2 +- 7/orig/php-7.2.ini-production | 2 +- 7/orig/php-7.3.ini-development | 7 ++++++- 7/orig/php-7.3.ini-production | 7 ++++++- 6 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index d0af7d87..c0818d4d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,9 @@ services: env: global: - - PHP73=7.3.5 - - PHP72=7.2.18 - - PHP71=7.1.29 + - PHP73=7.3.6 + - PHP72=7.2.19 + - PHP71=7.1.30 - PHP56=5.6.40 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest diff --git a/7/Makefile b/7/Makefile index 4350a311..5983110d 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.5 +PHP_VER ?= 7.3.6 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php diff --git a/7/orig/php-7.2.ini-development b/7/orig/php-7.2.ini-development index b8141af0..6fd40182 100644 --- a/7/orig/php-7.2.ini-development +++ b/7/orig/php-7.2.ini-development @@ -997,7 +997,7 @@ cli_server.color = On ; the sqlite_dbpage virtual table. ; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html ; (for older SQLite versions, this flag has no use) -sqlite3.defensive = 1 +;sqlite3.defensive = 1 [Pcre] ;PCRE library backtracking limit. diff --git a/7/orig/php-7.2.ini-production b/7/orig/php-7.2.ini-production index 1dbbfc8d..91c6129d 100644 --- a/7/orig/php-7.2.ini-production +++ b/7/orig/php-7.2.ini-production @@ -1004,7 +1004,7 @@ cli_server.color = On ; the sqlite_dbpage virtual table. ; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html ; (for older SQLite versions, this flag has no use) -sqlite3.defensive = 1 +;sqlite3.defensive = 1 [Pcre] ;PCRE library backtracking limit. diff --git a/7/orig/php-7.3.ini-development b/7/orig/php-7.3.ini-development index ff996cd1..320cf170 100644 --- a/7/orig/php-7.3.ini-development +++ b/7/orig/php-7.3.ini-development @@ -1016,7 +1016,7 @@ cli_server.color = On ; the sqlite_dbpage virtual table. ; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html ; (for older SQLite versions, this flag has no use) -sqlite3.defensive = 1 +;sqlite3.defensive = 1 [Pcre] ; PCRE library backtracking limit. @@ -1712,6 +1712,11 @@ zend.assertions = 1 ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) ;mbstring.http_output_conv_mimetype= +; This directive specifies maximum stack depth for mbstring regular expressions. It is similar +; to the pcre.recursion_limit for PCRE. +; Default: 100000 +;mbstring.regex_stack_limit=100000 + [gd] ; Tell the jpeg decode to ignore warnings and try to create ; a gd image. The warning will then be displayed as notices diff --git a/7/orig/php-7.3.ini-production b/7/orig/php-7.3.ini-production index 57ff3741..656ae673 100644 --- a/7/orig/php-7.3.ini-production +++ b/7/orig/php-7.3.ini-production @@ -1023,7 +1023,7 @@ cli_server.color = On ; the sqlite_dbpage virtual table. ; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html ; (for older SQLite versions, this flag has no use) -sqlite3.defensive = 1 +;sqlite3.defensive = 1 [Pcre] ; PCRE library backtracking limit. @@ -1719,6 +1719,11 @@ zend.assertions = -1 ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) ;mbstring.http_output_conv_mimetype= +; This directive specifies maximum stack depth for mbstring regular expressions. It is similar +; to the pcre.recursion_limit for PCRE. +; Default: 100000 +;mbstring.regex_stack_limit=100000 + [gd] ; Tell the jpeg decode to ignore warnings and try to create ; a gd image. The warning will then be displayed as notices From e5e4faf11c0dcbe914ee52130f72fcafa13b0f18 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 31 May 2019 04:07:11 +0000 Subject: [PATCH 406/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 23acfca4..635a0032 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-05-13T11:45:12.123664Z -7.2.16#2019-05-13T11:52:20.079732Z -7.1.27#2019-05-13T11:50:47.815280Z +7.3.3#2019-05-31T02:56:23.126449Z +7.2.16#2019-05-31T02:55:15.066954Z +7.1.27#2019-05-31T02:55:00.757578Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 96d77a0e58e76c82290a15ea0e8aa5b6a15fc309 Mon Sep 17 00:00:00 2001 From: Evgeniy Date: Sun, 2 Jun 2019 10:20:15 +0300 Subject: [PATCH 407/559] Added png optimisation tool Current php image already contain a good tool for JPEG files optimisation - jpegoptim. We're using it alongside with Drupal module https://www.drupal.org/project/imageapi_optimize_binaries to get good image compression results. At the moment we're lacking a good tool for png images optimisation. Looking at different PNG compression comparisons, `pngquant` seems to offer the best balance between the compression and quality. We'd love to see it as a part of standard php image. Thanks! --- 7/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/7/Dockerfile b/7/Dockerfile index dcf9b53a..1c086d55 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -69,6 +69,7 @@ RUN set -xe; \ openssh \ openssh-client \ patch \ + pngquant=2.12.3-r0 \ postgresql-client \ rabbitmq-c=0.8.0-r5 \ rsync \ From d08c02ee37cbfd8743a102c4b3d0f5519d5f0972 Mon Sep 17 00:00:00 2001 From: Evgeniy Date: Sun, 2 Jun 2019 15:24:02 +0300 Subject: [PATCH 408/559] Removed strict version of pngquant --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index 1c086d55..c4754ea3 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -69,7 +69,7 @@ RUN set -xe; \ openssh \ openssh-client \ patch \ - pngquant=2.12.3-r0 \ + pngquant \ postgresql-client \ rabbitmq-c=0.8.0-r5 \ rsync \ From f70d5778b5eebafc9e82afb319ddc1fcb2d0a7f6 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 9 Jun 2019 20:54:23 +0000 Subject: [PATCH 409/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 635a0032..fb44fce5 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-05-31T02:56:23.126449Z -7.2.16#2019-05-31T02:55:15.066954Z -7.1.27#2019-05-31T02:55:00.757578Z +7.3.3#2019-06-08T21:03:31.865444Z +7.2.16#2019-06-08T21:04:00.574338Z +7.1.27#2019-06-08T21:02:30.006193Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 656cc0033541db6f124ec9ccc7212be52a2c12e1 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 15 Jun 2019 20:58:39 +0000 Subject: [PATCH 410/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index fb44fce5..ea240a00 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-08T21:03:31.865444Z -7.2.16#2019-06-08T21:04:00.574338Z -7.1.27#2019-06-08T21:02:30.006193Z +7.3.3#2019-06-14T21:06:35.511770Z +7.2.16#2019-06-14T21:06:17.116168Z +7.1.27#2019-06-14T21:05:06.885700Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 41fc5b7eaf510b9fe4ed748e7548f053e492fb2e Mon Sep 17 00:00:00 2001 From: Wodby Date: Mon, 17 Jun 2019 21:06:01 +0000 Subject: [PATCH 411/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index ea240a00..e64671cc 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-14T21:06:35.511770Z -7.2.16#2019-06-14T21:06:17.116168Z -7.1.27#2019-06-14T21:05:06.885700Z +7.3.3#2019-06-17T04:12:21.450177Z +7.2.16#2019-06-17T04:12:01.941316Z +7.1.27#2019-06-17T04:12:51.627232Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From ac3a4403d74c3d7ad300fab493d2ed65485cca50 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 20 Jun 2019 21:06:39 +0000 Subject: [PATCH 412/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index e64671cc..66b0cfac 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-17T04:12:21.450177Z -7.2.16#2019-06-17T04:12:01.941316Z -7.1.27#2019-06-17T04:12:51.627232Z +7.3.3#2019-06-20T06:27:46.281025Z +7.2.16#2019-06-20T06:27:58.468006Z +7.1.27#2019-06-20T06:27:00.945895Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 15d0abae04ea571adf91e098c380136bf98bb6f2 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 21 Jun 2019 21:02:06 +0000 Subject: [PATCH 413/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 66b0cfac..39e9d8a8 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-20T06:27:46.281025Z -7.2.16#2019-06-20T06:27:58.468006Z -7.1.27#2019-06-20T06:27:00.945895Z +7.3.3#2019-06-20T21:11:37.889353Z +7.2.16#2019-06-20T21:10:46.946125Z +7.1.27#2019-06-20T21:08:01.923174Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From f2ae25f288019573093735de21fc01602efaf1dd Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 25 Jun 2019 03:13:01 +0000 Subject: [PATCH 414/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 39e9d8a8..43ab2e2b 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-20T21:11:37.889353Z -7.2.16#2019-06-20T21:10:46.946125Z -7.1.27#2019-06-20T21:08:01.923174Z +7.3.3#2019-06-24T21:14:59.089299Z +7.2.16#2019-06-24T21:13:27.918336Z +7.1.27#2019-06-24T21:14:32.311717Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 5ab4f5b0b205952609627798c0bd2b924d0c68cd Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 26 Jun 2019 21:04:17 +0000 Subject: [PATCH 415/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 43ab2e2b..3c9d8217 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-24T21:14:59.089299Z -7.2.16#2019-06-24T21:13:27.918336Z -7.1.27#2019-06-24T21:14:32.311717Z +7.3.3#2019-06-25T21:14:49.337892Z +7.2.16#2019-06-25T21:12:48.187436Z +7.1.27#2019-06-25T21:11:25.327516Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 0c62f1a7296ea8c96dcadd6df499a6a3348f8134 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 27 Jun 2019 11:59:51 +0700 Subject: [PATCH 416/559] Update package for alpine 3.10 --- 7/Dockerfile | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index c4754ea3..5c54dd7a 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -42,34 +42,34 @@ RUN set -xe; \ c-client=2007f-r9 \ fcgi \ findutils \ - freetype=2.9.1-r2 \ + freetype=2.10.0-r0 \ git \ gmp=6.1.2-r1 \ - icu-libs=62.1-r0 \ - imagemagick=7.0.8.44-r0 \ + icu-libs=64.2-r0 \ + imagemagick=7.0.8.49-r1 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r6 \ - libevent=2.1.8-r6 \ - libjpeg-turbo=1.5.3-r4 \ + libevent=2.1.10-r0 \ + libjpeg-turbo=2.0.2-r0 \ libjpeg-turbo-utils \ libldap=2.4.47-r2 \ - libltdl=2.4.6-r5 \ + libltdl=2.4.6-r6 \ libmemcached-libs=1.0.18-r3 \ libmcrypt=2.5.8-r7 \ - libpng=1.6.37-r0 \ - librdkafka=0.11.6-r1 \ - libuuid=2.33-r0 \ - libwebp=1.0.1-r0 \ + libpng=1.6.37-r1 \ + librdkafka=1.0.1-r1 \ + libuuid=2.33.2-r0 \ + libwebp=1.0.2-r0 \ libxslt=1.1.33-r1 \ - libzip=1.5.1-r2 \ + libzip=1.5.2-r0 \ make \ mariadb-client \ nano \ openssh \ openssh-client \ patch \ - pngquant \ + pngquant \ postgresql-client \ rabbitmq-c=0.8.0-r5 \ rsync \ @@ -79,7 +79,7 @@ RUN set -xe; \ # todo: move out tig and tmux to -dev version. tig \ tmux \ - yaml=0.2.1-r0; \ + yaml=0.2.2-r1; \ \ apk add --update --no-cache -t .wodby-php-build-deps \ autoconf \ From 9819705d70b1d5151f4488deebf0eae892811658 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 27 Jun 2019 12:02:24 +0700 Subject: [PATCH 417/559] Update event extension to 2.5.3 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 8c26a0e2..369d6942 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -171,7 +171,7 @@ RUN set -xe; \ pecl install \ amqp-1.9.3 \ apcu-4.0.11 \ - event-2.5.1 \ + event-2.5.3 \ grpc-1.20.0 \ igbinary-2.0.8 \ imagick-3.4.4 \ diff --git a/7/Dockerfile b/7/Dockerfile index 5c54dd7a..dc93d56d 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -183,7 +183,7 @@ RUN set -xe; \ apcu-5.1.17 \ ast-1.0.1 \ ds-1.2.9 \ - event-2.5.1 \ + event-2.5.3 \ grpc-1.20.0 \ igbinary-3.0.1 \ imagick-3.4.4 \ diff --git a/README.md b/README.md index 8784cc6c..ed6eb10d 100644 --- a/README.md +++ b/README.md @@ -233,7 +233,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | [ds] | 1.2.9 | 1.2.9 | 1.2.9 | - | | exif | | | | | | ereg | - | - | - | | -| [event] | 2.5.1 | 2.5.1 | 2.5.1 | 2.5.1 | +| [event] | 2.5.3 | 2.5.3 | 2.5.3 | 2.5.3 | | fileinfo | | | | | | filter | | | | | | ftp | | | | | From 8874d3d8e5d8aba29f2527fe34b9b900902bcaf0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 27 Jun 2019 21:04:30 +0000 Subject: [PATCH 418/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 3c9d8217..2adf2052 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-25T21:14:49.337892Z -7.2.16#2019-06-25T21:12:48.187436Z -7.1.27#2019-06-25T21:11:25.327516Z +7.3.3#2019-06-27T04:46:32.920593Z +7.2.16#2019-06-27T04:46:30.649171Z +7.1.27#2019-06-27T04:45:32.334758Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From cb2850debcb03a9d459ec71058dbc96b701da77d Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 28 Jun 2019 21:06:00 +0000 Subject: [PATCH 419/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 2adf2052..47849129 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-27T04:46:32.920593Z -7.2.16#2019-06-27T04:46:30.649171Z -7.1.27#2019-06-27T04:45:32.334758Z +7.3.3#2019-06-27T21:12:52.578437Z +7.2.16#2019-06-27T21:13:00.999537Z +7.1.27#2019-06-27T21:11:33.026665Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From aa8939cbbe16ee3ac112f5671e80d290bcb1860d Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 3 Jul 2019 21:09:09 +0000 Subject: [PATCH 420/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 47849129..053cebef 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-06-27T21:12:52.578437Z -7.2.16#2019-06-27T21:13:00.999537Z -7.1.27#2019-06-27T21:11:33.026665Z +7.3.3#2019-07-02T22:13:22.101880Z +7.2.16#2019-07-02T22:09:43.257894Z +7.1.27#2019-07-02T22:07:56.201859Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From c2a0753f608d4e9deea723273a325d3c72be7d8a Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 5 Jul 2019 21:09:03 +0000 Subject: [PATCH 421/559] Update php to 7.3.7 --- .travis.yml | 2 +- 7/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c0818d4d..d6ac0c4d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.6 + - PHP73=7.3.7 - PHP72=7.2.19 - PHP71=7.1.30 - PHP56=5.6.40 diff --git a/7/Makefile b/7/Makefile index 5983110d..711c086b 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.6 +PHP_VER ?= 7.3.7 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 7cb36776cc736e3dba8bb453b9d2e98e321310dd Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 5 Jul 2019 21:09:03 +0000 Subject: [PATCH 422/559] Update php to 7.2.20 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d6ac0c4d..0181d88f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.7 - - PHP72=7.2.19 + - PHP72=7.2.20 - PHP71=7.1.30 - PHP56=5.6.40 matrix: From 0270567789baf2b55cd5b6aeab92001d639aa8c8 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 5 Jul 2019 21:09:50 +0000 Subject: [PATCH 423/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 053cebef..99e81fb6 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-02T22:13:22.101880Z -7.2.16#2019-07-02T22:09:43.257894Z -7.1.27#2019-07-02T22:07:56.201859Z +7.3.3#2019-07-04T21:17:16.337397Z +7.2.16#2019-07-04T21:17:11.370868Z +7.1.27#2019-07-04T21:16:03.630550Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From ddb531f828a3390715b34505f8156e40379cf149 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 8 Jul 2019 11:03:28 +0700 Subject: [PATCH 424/559] Update libbz package --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index dc93d56d..3673577e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -49,7 +49,7 @@ RUN set -xe; \ imagemagick=7.0.8.49-r1 \ jpegoptim=1.4.6-r0 \ less \ - libbz2=1.0.6-r6 \ + libbz2=1.0.6-r7 \ libevent=2.1.10-r0 \ libjpeg-turbo=2.0.2-r0 \ libjpeg-turbo-utils \ From 942e63689210c54a250e726b41f82dada3c1dfee Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 8 Jul 2019 11:10:34 +0700 Subject: [PATCH 425/559] Update libbz package --- 5.6/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 369d6942..17c3846b 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -48,7 +48,7 @@ RUN set -xe; \ imagemagick=7.0.8.38-r0 \ jpegoptim=1.4.6-r0 \ less \ - libbz2=1.0.6-r6 \ + libbz2=1.0.6-r7 \ libevent=2.1.8-r5 \ libjpeg-turbo=1.5.3-r4 \ libjpeg-turbo-utils \ From 49218c53aa1c86125de5fceb654aa1450fd39178 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 10 Jul 2019 10:14:06 +0700 Subject: [PATCH 426/559] Update imagemagick pkg --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index 3673577e..8e8e3247 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -46,7 +46,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=64.2-r0 \ - imagemagick=7.0.8.49-r1 \ + imagemagick=7.0.8.49-r2 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r7 \ From 25d3a2d15c50f7e3bc6ded526dd7b6e1b973ae38 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 10 Jul 2019 21:13:19 +0000 Subject: [PATCH 427/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 99e81fb6..add65422 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-04T21:17:16.337397Z -7.2.16#2019-07-04T21:17:11.370868Z -7.1.27#2019-07-04T21:16:03.630550Z +7.3.3#2019-07-10T11:57:59.609689Z +7.2.16#2019-07-10T11:57:37.202027Z +7.1.27#2019-07-10T11:56:54.579976Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From fbdc7cbf7527d675f6497ef970acc2157883b888 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 11 Jul 2019 21:12:27 +0000 Subject: [PATCH 428/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index add65422..617df109 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-10T11:57:59.609689Z -7.2.16#2019-07-10T11:57:37.202027Z -7.1.27#2019-07-10T11:56:54.579976Z +7.3.3#2019-07-10T21:20:09.553666Z +7.2.16#2019-07-10T21:20:31.421877Z +7.1.27#2019-07-10T21:19:22.082567Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 0b1bf8c27d76164dd698eafe7ecefcf04c0626d8 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 12 Jul 2019 21:12:41 +0000 Subject: [PATCH 429/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 617df109..f8177fc0 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-10T21:20:09.553666Z -7.2.16#2019-07-10T21:20:31.421877Z -7.1.27#2019-07-10T21:19:22.082567Z +7.3.3#2019-07-11T21:21:10.469930Z +7.2.16#2019-07-11T21:20:15.127528Z +7.1.27#2019-07-11T21:19:06.147082Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 3dc71833cfee97031929a754b17e93ece6b02610 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sun, 14 Jul 2019 21:12:44 +0000 Subject: [PATCH 430/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index f8177fc0..4a7a8a7b 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-11T21:21:10.469930Z -7.2.16#2019-07-11T21:20:15.127528Z -7.1.27#2019-07-11T21:19:06.147082Z +7.3.3#2019-07-13T21:20:20.591259Z +7.2.16#2019-07-13T21:21:09.256651Z +7.1.27#2019-07-13T21:19:50.077191Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 413f00d61c11814e51dbfcd40814dddaab512987 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 22 Jul 2019 20:25:12 +0700 Subject: [PATCH 431/559] Preload iconv lib for crond --- 5.6/tests/docker-compose.yml | 2 +- 7/tests/docker-compose.yml | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/tests/docker-compose.yml b/5.6/tests/docker-compose.yml index 660526a0..bfd57bd5 100644 --- a/5.6/tests/docker-compose.yml +++ b/5.6/tests/docker-compose.yml @@ -30,7 +30,7 @@ services: crond: image: $IMAGE - command: sudo -E crond -f -d 0 + command: sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond -f -d 0 volumes: - ./crontab:/etc/crontabs/www-data depends_on: diff --git a/7/tests/docker-compose.yml b/7/tests/docker-compose.yml index 7a9e71e5..353a5737 100644 --- a/7/tests/docker-compose.yml +++ b/7/tests/docker-compose.yml @@ -34,7 +34,7 @@ services: crond: image: $IMAGE - command: sudo -E crond -f -d 0 + command: sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond -f -d 0 volumes: - ./crontab:/etc/crontabs/www-data depends_on: diff --git a/README.md b/README.md index ed6eb10d..c6f56d54 100644 --- a/README.md +++ b/README.md @@ -320,7 +320,7 @@ Changes per stability tag reflected in git tags description under [releases](htt ## Crond -You can run Crond with this image changing the command to `sudo -E crond -f -d 0` and mounting a crontab file to `./crontab:/etc/crontabs/www-data`. Example crontab file contents: +You can run Crond with this image changing the command to `sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond -f -d 0` and mounting a crontab file to `./crontab:/etc/crontabs/www-data`. Example crontab file contents: ``` # min hour day month weekday command From c4faa7f777f9ef971ab5b625cf402273249d4e8d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 23 Jul 2019 12:32:01 +0700 Subject: [PATCH 432/559] Update pkgs --- 5.6/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 17c3846b..e2fafc49 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -50,7 +50,7 @@ RUN set -xe; \ less \ libbz2=1.0.6-r7 \ libevent=2.1.8-r5 \ - libjpeg-turbo=1.5.3-r4 \ + libjpeg-turbo=1.5.3-r5 \ libjpeg-turbo-utils \ libldap=2.4.46-r0 \ libltdl=2.4.6-r5 \ From 5d37059acfdc7b6a499e3ca6449f7204804ff6ba Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 23 Jul 2019 10:56:24 +0000 Subject: [PATCH 433/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 4a7a8a7b..e5e6610f 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-13T21:20:20.591259Z -7.2.16#2019-07-13T21:21:09.256651Z -7.1.27#2019-07-13T21:19:50.077191Z +7.3.3#2019-07-23T10:31:32.833349Z +7.2.16#2019-07-23T10:29:53.695882Z +7.1.27#2019-07-23T10:29:35.830876Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 85307cfbde64f708b72a57cda7fa6e09dedfef81 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 26 Jul 2019 21:19:49 +0000 Subject: [PATCH 434/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index e5e6610f..07be2db3 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-23T10:31:32.833349Z -7.2.16#2019-07-23T10:29:53.695882Z -7.1.27#2019-07-23T10:29:35.830876Z +7.3.3#2019-07-25T21:27:56.201131Z +7.2.16#2019-07-25T21:27:02.344560Z +7.1.27#2019-07-25T21:26:26.234182Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 14b3230ee6fe8a42e04c3dad234f9429dab65f1c Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 27 Jul 2019 21:20:16 +0000 Subject: [PATCH 435/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 07be2db3..a3995dc0 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-25T21:27:56.201131Z -7.2.16#2019-07-25T21:27:02.344560Z -7.1.27#2019-07-25T21:26:26.234182Z +7.3.3#2019-07-26T21:27:18.568881Z +7.2.16#2019-07-26T21:27:19.873045Z +7.1.27#2019-07-26T21:26:55.241432Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From e80d2bbd09e344eae3df3ca20dca29c6480624f7 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 31 Jul 2019 21:22:21 +0000 Subject: [PATCH 436/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index a3995dc0..b8990b9a 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-26T21:27:18.568881Z -7.2.16#2019-07-26T21:27:19.873045Z -7.1.27#2019-07-26T21:26:55.241432Z +7.3.3#2019-07-30T21:29:52.868858Z +7.2.16#2019-07-30T21:29:42.062044Z +7.1.27#2019-07-30T21:28:35.828624Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From a3b48b04aa8416254b92d696be943901599b8a58 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 2 Aug 2019 21:23:31 +0000 Subject: [PATCH 437/559] Update php to 7.3.8 --- .travis.yml | 2 +- 7/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0181d88f..acf09add 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.7 + - PHP73=7.3.8 - PHP72=7.2.20 - PHP71=7.1.30 - PHP56=5.6.40 diff --git a/7/Makefile b/7/Makefile index 711c086b..a55fc811 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.7 +PHP_VER ?= 7.3.8 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 5efcfd2e7b5a2132c21d3321f4ec0c990bafc10c Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 2 Aug 2019 21:23:31 +0000 Subject: [PATCH 438/559] Update php to 7.2.21 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index acf09add..29fa04e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.8 - - PHP72=7.2.20 + - PHP72=7.2.21 - PHP71=7.1.30 - PHP56=5.6.40 matrix: From b037e4414fb6543907840d6b8eba1ac914185abe Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 2 Aug 2019 21:23:32 +0000 Subject: [PATCH 439/559] Update php to 7.1.31 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 29fa04e3..9a31006a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP73=7.3.8 - PHP72=7.2.21 - - PHP71=7.1.30 + - PHP71=7.1.31 - PHP56=5.6.40 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest From 554690c9c00cd65a40e7b1b85f98bc047585bb7d Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 2 Aug 2019 21:24:35 +0000 Subject: [PATCH 440/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index b8990b9a..bee08b35 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-07-30T21:29:52.868858Z -7.2.16#2019-07-30T21:29:42.062044Z -7.1.27#2019-07-30T21:28:35.828624Z +7.3.3#2019-08-01T21:32:00.077067Z +7.2.16#2019-08-01T21:32:11.102341Z +7.1.27#2019-08-01T21:30:08.514333Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 3d198597223723fc2ba54fddba13ed04846cbe3f Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 3 Aug 2019 21:24:34 +0000 Subject: [PATCH 441/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index bee08b35..f9e52dec 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-01T21:32:00.077067Z -7.2.16#2019-08-01T21:32:11.102341Z -7.1.27#2019-08-01T21:30:08.514333Z +7.3.3#2019-08-02T21:32:03.029736Z +7.2.16#2019-08-02T21:32:02.396392Z +7.1.27#2019-08-02T21:31:16.660510Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 075215a8f3e1d2f030b5d92150433e84a52e8686 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 7 Aug 2019 12:01:59 +0700 Subject: [PATCH 442/559] Bugfix: crontab wasn't initialized with preloaded iconv lib --- 5.6/docker-entrypoint.sh | 2 +- 7/docker-entrypoint.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 385b99be..a930b73d 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -104,7 +104,7 @@ disable_modules if [[ "${@:1:2}" == "sudo /usr/sbin/sshd" ]]; then init_sshd -elif [[ "${@:1:3}" == "sudo -E crond" ]]; then +elif [[ "${@:1:3}" == "sudo -E crond" || "${@:1:4}" == "sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond" ]]; then init_crond fi diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index c4225ddd..093e6551 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -111,7 +111,7 @@ disable_modules if [[ "${@:1:2}" == "sudo /usr/sbin/sshd" ]]; then init_sshd -elif [[ "${@:1:3}" == "sudo -E crond" ]]; then +elif [[ "${@:1:3}" == "sudo -E crond" || "${@:1:4}" == "sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond" ]]; then init_crond fi From c5d2a723cbfa1713329f8891a7c3a29b79a5628e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 7 Aug 2019 12:15:57 +0700 Subject: [PATCH 443/559] Updated PECL extensions. For PHP 7.x: redis 5.0.2, rdkafka 3.1.2, mongodb 1.5.5, grpc 1.22.0. // For PHP 5.6: amqp 1.9.4, grpc 1.22.0, mongodb 1.5.5, rdkafka 3.1.2, redis 4.3.0 --- 5.6/Dockerfile | 10 +++++----- 7/Dockerfile | 8 ++++---- README.md | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index e2fafc49..47fbd87f 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -169,17 +169,17 @@ RUN set -xe; \ chmod -R 775 /var/log/newrelic/; \ \ pecl install \ - amqp-1.9.3 \ + amqp-1.9.4 \ apcu-4.0.11 \ event-2.5.3 \ - grpc-1.20.0 \ + grpc-1.22.0 \ igbinary-2.0.8 \ imagick-3.4.4 \ memcached-2.2.0 \ - mongodb-1.5.3 \ + mongodb-1.5.5 \ oauth-1.2.3 \ - rdkafka-3.1.0 \ - redis-4.1.1 \ + rdkafka-3.1.2 \ + redis-4.3.0 \ uploadprogress-1.0.3.1 \ uuid-1.0.4 \ xdebug-2.5.5 \ diff --git a/7/Dockerfile b/7/Dockerfile index 8e8e3247..fd78a800 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -184,14 +184,14 @@ RUN set -xe; \ ast-1.0.1 \ ds-1.2.9 \ event-2.5.3 \ - grpc-1.20.0 \ + grpc-1.22.0 \ igbinary-3.0.1 \ imagick-3.4.4 \ memcached-3.1.3 \ - mongodb-1.5.3 \ + mongodb-1.5.5 \ oauth-2.0.3 \ - rdkafka-3.1.0 \ - redis-4.3.0 \ + rdkafka-3.1.2 \ + redis-5.0.2 \ uuid-1.0.4 \ xdebug-2.7.2 \ yaml-2.0.4; \ diff --git a/README.md b/README.md index c6f56d54..23bf6659 100644 --- a/README.md +++ b/README.md @@ -238,7 +238,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | filter | | | | | | ftp | | | | | | gd | | | | | -| [grpc] | 1.20.0 | 1.20.0 | 1.20.0 | 1.20.0 | +| [grpc] | 1.22.0 | 1.22.0 | 1.22.0 | 1.22.0 | | hash | | | | | | iconv | | | | | | [igbinary] | 3.0.1 | 3.0.1 | 3.0.1 | 2.0.8 | @@ -251,7 +251,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | mbstring | | | | | | mcrypt | - | [1.0.1] | | | | [memcached] | 3.1.3 | 3.1.3 | 3.1.3 | 2.2.0 | -| [mongodb] | 1.5.3 | 1.5.3 | 1.5.3 | 1.5.3 | +| [mongodb] | 1.5.5 | 1.5.5 | 1.5.5 | 1.5.5 | | mysql | - | - | - | | | mysqli | | | | | | mysqlnd | | | | | @@ -267,9 +267,9 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | pgsql | | | | | | Phar | | | | | | posix | | | | | -| [rdkafka] | 3.1.0 | 3.1.0 | 3.1.0 | 3.1.0 | +| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | 3.1.2 | | readline | | | | | -| [redis] | 4.3.0 | 4.3.0 | 4.3.0 | 4.2.0 | +| [redis] | 5.0.2 | 5.0.2 | 5.0.2 | 4.3.0 | | Reflection | | | | | | session | | | | | | SimpleXML | | | | | From f8d62e0711f26cc68988908c8b7c4559a0569a11 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 7 Aug 2019 12:47:24 +0700 Subject: [PATCH 444/559] Add additional NR options: newrelic.daemon.loglevel, newrelic.special, newrelic.logfile, newrelic.daemon.logfile. Set logfiles by default to a container stderr #85 --- .../docker-php-ext-newrelic.ini.tmpl | 24 ++- 7/templates/docker-php-ext-newrelic.ini.tmpl | 24 ++- README.md | 181 +++++++++--------- 3 files changed, 116 insertions(+), 113 deletions(-) diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tmpl b/5.6/templates/docker-php-ext-newrelic.ini.tmpl index 009b82da..03e9afa8 100644 --- a/5.6/templates/docker-php-ext-newrelic.ini.tmpl +++ b/5.6/templates/docker-php-ext-newrelic.ini.tmpl @@ -1,17 +1,23 @@ [newrelic] extension = newrelic.so -newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} -newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" +newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" newrelic.capture_params = {{ getenv "PHP_NEWRELIC_CAPTURE_PARAMS" "false" }} -newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" -newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" -newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} -newrelic.high_security = {{ getenv "PHP_NEWRELIC_HIGH_SECURITY" "false" }} -newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" +newrelic.daemon.logfile = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGFILE" "/proc/self/fd/2" }}" +newrelic.daemon.loglevel = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGLEVEL" "info" }}" +newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" +newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} {{ if getenv "PHP_NEWRELIC_FRAMEWORK" }} newrelic.framework = {{ getenv "PHP_NEWRELIC_FRAMEWORK" }} {{ end }} -newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" -newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" newrelic.guzzle_enabled = "{{ getenv "PHP_NEWRELIC_GUZZLE_ENABLED" "true" }}" +newrelic.high_security = {{ getenv "PHP_NEWRELIC_HIGH_SECURITY" "false" }} +newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" +newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" +newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" +newrelic.logfile = "{{ getenv "PHP_NEWRELIC_LOGFILE" "/proc/self/fd/2" }}" +newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" +{{ if getenv "PHP_NEWRELIC_SPECIAL" }} +newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" +{{ end }} +newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} diff --git a/7/templates/docker-php-ext-newrelic.ini.tmpl b/7/templates/docker-php-ext-newrelic.ini.tmpl index 009b82da..03e9afa8 100644 --- a/7/templates/docker-php-ext-newrelic.ini.tmpl +++ b/7/templates/docker-php-ext-newrelic.ini.tmpl @@ -1,17 +1,23 @@ [newrelic] extension = newrelic.so -newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} -newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" +newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" newrelic.capture_params = {{ getenv "PHP_NEWRELIC_CAPTURE_PARAMS" "false" }} -newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" -newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" -newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} -newrelic.high_security = {{ getenv "PHP_NEWRELIC_HIGH_SECURITY" "false" }} -newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" +newrelic.daemon.logfile = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGFILE" "/proc/self/fd/2" }}" +newrelic.daemon.loglevel = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGLEVEL" "info" }}" +newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" +newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} {{ if getenv "PHP_NEWRELIC_FRAMEWORK" }} newrelic.framework = {{ getenv "PHP_NEWRELIC_FRAMEWORK" }} {{ end }} -newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" -newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" newrelic.guzzle_enabled = "{{ getenv "PHP_NEWRELIC_GUZZLE_ENABLED" "true" }}" +newrelic.high_security = {{ getenv "PHP_NEWRELIC_HIGH_SECURITY" "false" }} +newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" +newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" +newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" +newrelic.logfile = "{{ getenv "PHP_NEWRELIC_LOGFILE" "/proc/self/fd/2" }}" +newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" +{{ if getenv "PHP_NEWRELIC_SPECIAL" }} +newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" +{{ end }} +newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} diff --git a/README.md b/README.md index 23bf6659..3af18c9c 100644 --- a/README.md +++ b/README.md @@ -84,101 +84,92 @@ Include all changes from `-dev` images and additionally: The default configuration is not recommended to be used for production environment: -| Variable | 7.3 | 7.2 | 7.1 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | -| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | -| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | -| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | -| [`PHP_APCU_SERIALIZER`] | | | | | -| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | -| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | -| [`PHP_AUTO_PREPEND_FILE`] | | | | | -| [`PHP_AUTO_APPEND_FILE`] | | | | | -| `PHP_BLACKFIRE` | | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | -| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | -| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | -| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | -| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | -| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | -| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | -| `PHP_EXTENSIONS_DISABLE` | | | | | -| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | -| `PHP_FPM_ENV_VARS` | | | | | -| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | -| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | -| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | -| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | -| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | -| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | -| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | -| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | -| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | -| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | -| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | -| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | -| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_NEWRELIC_APPNAME`] | `My PHP app` | `My PHP app` | `My PHP app` | `My PHP app` | -| [`PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT`] | `true` | `true` | `true` | `true` | -| [`PHP_NEWRELIC_CAPTURE_PARAMS`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_FRAMEWORK`] | | | | | -| [`PHP_NEWRELIC_GUZZLE_ENABLED`] | `true` | `true` | `true` | `true` | -| [`PHP_NEWRELIC_HIGH_SECURITY`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_IGNORED_PARAMS`] | | | | | -| [`PHP_NEWRELIC_LABELS`] | | | | | -| [`PHP_NEWRELIC_LICENSE`] | | | | | -| [`PHP_NEWRELIC_LOGLEVEL`] | `info` | `info` | `info` | `info` | -| [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | -| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | -| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | -| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | -| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | -| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | `1` | `1` | -| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | - | -| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | `2000` | `2000` | `2000` | -| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_CACHE_LIST`] | | | | | -| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | -| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | -| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | -| _see all session options_ | [7.3 session] | [7.2 session] | [7.1 session] | [5.6 session] | -| `PHP_XHPROF` | | | | - | -| [`PHP_TRACK_ERRORS`] | - | - | `On` | `On` | -| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | `0` | `0` | `0` | `0` | -| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | +| Variable | 7.3 | 7.2 | 7.1 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | +| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | +| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | +| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | +| [`PHP_APCU_SERIALIZER`] | | | | | +| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | +| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | +| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | +| [`PHP_AUTO_PREPEND_FILE`] | | | | | +| [`PHP_AUTO_APPEND_FILE`] | | | | | +| `PHP_BLACKFIRE` | | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | +| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | +| `PHP_EXTENSIONS_DISABLE` | | | | | +| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | | +| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | +| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | +| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | +| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | +| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_LICENSE`] | | | | | +| _see all newrelic ext options_ | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | [5.6 newrelic] | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | +| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | +| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | +| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | +| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | +| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | `1` | `1` | +| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | - | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | `2000` | `2000` | `2000` | +| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_CACHE_LIST`] | | | | | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | +| _see all session options_ | [7.3 session] | [7.2 session] | [7.1 session] | [5.6 session] | +| `PHP_XHPROF` | | | | - | +| [`PHP_TRACK_ERRORS`] | - | - | `On` | `On` | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | `0` | `0` | `0` | `0` | +| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | > "-" - Not available for this version From 9689583bfc17ce7eb4a010b959db53c0179ee61e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 7 Aug 2019 12:49:23 +0700 Subject: [PATCH 445/559] Add missing links --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 3af18c9c..23e904ca 100644 --- a/README.md +++ b/README.md @@ -383,6 +383,9 @@ default params values: [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl [5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl +[7.x newrelic]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-newrelic.ini.tmpl +[5.6 newrelic]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-newrelic.ini.tmpl + [7.3 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.3.ini.tmpl [7.2 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl [7.1 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl From 192de5e34a550565d1bfb5a856cd9685fa6389fb Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Aug 2019 10:46:37 +0700 Subject: [PATCH 446/559] Downgrade redis extension to 4.3.0 https://www.drupal.org/project/redis/issues/3068810 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index fd78a800..e8e98257 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -191,7 +191,7 @@ RUN set -xe; \ mongodb-1.5.5 \ oauth-2.0.3 \ rdkafka-3.1.2 \ - redis-5.0.2 \ + redis-4.3.0 \ uuid-1.0.4 \ xdebug-2.7.2 \ yaml-2.0.4; \ diff --git a/README.md b/README.md index 23e904ca..344d541b 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | posix | | | | | | [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | 3.1.2 | | readline | | | | | -| [redis] | 5.0.2 | 5.0.2 | 5.0.2 | 4.3.0 | +| [redis] | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 | | Reflection | | | | | | session | | | | | | SimpleXML | | | | | From 51576815f00a44399145d93e64a5332f796f6501 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Aug 2019 10:47:25 +0700 Subject: [PATCH 447/559] Downgrade GRPC to 1.20.0 https://github.com/grpc/grpc/issues/19366 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 47fbd87f..f5b8ce4e 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -172,7 +172,7 @@ RUN set -xe; \ amqp-1.9.4 \ apcu-4.0.11 \ event-2.5.3 \ - grpc-1.22.0 \ + grpc-1.20.0 \ igbinary-2.0.8 \ imagick-3.4.4 \ memcached-2.2.0 \ diff --git a/7/Dockerfile b/7/Dockerfile index e8e98257..b1e3f8a8 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -184,7 +184,7 @@ RUN set -xe; \ ast-1.0.1 \ ds-1.2.9 \ event-2.5.3 \ - grpc-1.22.0 \ + grpc-1.20.0 \ igbinary-3.0.1 \ imagick-3.4.4 \ memcached-3.1.3 \ diff --git a/README.md b/README.md index 344d541b..8258d198 100644 --- a/README.md +++ b/README.md @@ -229,7 +229,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | filter | | | | | | ftp | | | | | | gd | | | | | -| [grpc] | 1.22.0 | 1.22.0 | 1.22.0 | 1.22.0 | +| [grpc] | 1.20.0 | 1.20.0 | 1.20.0 | 1.20.0 | | hash | | | | | | iconv | | | | | | [igbinary] | 3.0.1 | 3.0.1 | 3.0.1 | 2.0.8 | From d89446a754e2974752a9e582cfa88e900bae4915 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Aug 2019 11:04:55 +0700 Subject: [PATCH 448/559] Do not load newrelic extension by default --- 7/templates/docker-php-ext-newrelic.ini.tmpl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/7/templates/docker-php-ext-newrelic.ini.tmpl b/7/templates/docker-php-ext-newrelic.ini.tmpl index 03e9afa8..c42c6552 100644 --- a/7/templates/docker-php-ext-newrelic.ini.tmpl +++ b/7/templates/docker-php-ext-newrelic.ini.tmpl @@ -1,3 +1,4 @@ +{{ if getenv "PHP_NEWRELIC_ENABLED" }} [newrelic] extension = newrelic.so newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" @@ -21,3 +22,4 @@ newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" {{ end }} newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} +{{ end }} \ No newline at end of file From 875e26ada7331dd0a7caa5f20d428707a235bfc5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 8 Aug 2019 11:20:07 +0700 Subject: [PATCH 449/559] Fixes --- 5.6/templates/docker-php-ext-newrelic.ini.tmpl | 2 ++ 5.6/tests/docker-compose.yml | 1 + 7/tests/docker-compose.yml | 1 + 3 files changed, 4 insertions(+) diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tmpl b/5.6/templates/docker-php-ext-newrelic.ini.tmpl index 03e9afa8..c42c6552 100644 --- a/5.6/templates/docker-php-ext-newrelic.ini.tmpl +++ b/5.6/templates/docker-php-ext-newrelic.ini.tmpl @@ -1,3 +1,4 @@ +{{ if getenv "PHP_NEWRELIC_ENABLED" }} [newrelic] extension = newrelic.so newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" @@ -21,3 +22,4 @@ newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" {{ end }} newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} +{{ end }} \ No newline at end of file diff --git a/5.6/tests/docker-compose.yml b/5.6/tests/docker-compose.yml index bfd57bd5..cc2fe806 100644 --- a/5.6/tests/docker-compose.yml +++ b/5.6/tests/docker-compose.yml @@ -21,6 +21,7 @@ services: SSH_DISABLE_STRICT_KEY_CHECKING: 1 PHP_XDEBUG: 1 PHP_BLACKFIRE: 1 + PHP_NEWRELIC_ENABLED: 1 volumes: - ./tests.sh:/usr/local/bin/tests.sh - ./php_modules:/home/wodby/php_modules diff --git a/7/tests/docker-compose.yml b/7/tests/docker-compose.yml index 353a5737..ad11ef2f 100644 --- a/7/tests/docker-compose.yml +++ b/7/tests/docker-compose.yml @@ -24,6 +24,7 @@ services: PHP_XDEBUG: 1 PHP_XHPROF: 1 PHP_BLACKFIRE: 1 + PHP_NEWRELIC_ENABLED: 1 ROWS: 80 volumes: - ./tests.sh:/usr/local/bin/tests.sh From 70161a37b5305d27e2fb587526da908e2ed7a8f6 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 8 Aug 2019 12:01:02 +0000 Subject: [PATCH 450/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index f9e52dec..31759810 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-02T21:32:03.029736Z -7.2.16#2019-08-02T21:32:02.396392Z -7.1.27#2019-08-02T21:31:16.660510Z +7.3.3#2019-08-08T11:53:47.758825Z +7.2.16#2019-08-08T11:53:37.122273Z +7.1.27#2019-08-08T11:52:13.119553Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 815ec332f306f356d006eac3c2a81cf60cb033fe Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 9 Aug 2019 05:40:16 +0000 Subject: [PATCH 451/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 31759810..c9f6bb44 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-08T11:53:47.758825Z -7.2.16#2019-08-08T11:53:37.122273Z -7.1.27#2019-08-08T11:52:13.119553Z +7.3.3#2019-08-08T21:39:04.428621Z +7.2.16#2019-08-08T21:39:13.163474Z +7.1.27#2019-08-08T21:37:51.742711Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 99b2389b3407a1ceb8f105a17218b54aa279a8c2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 14 Aug 2019 14:03:05 +0700 Subject: [PATCH 452/559] Update imagemagick lib to 7.0.8.58 --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index b1e3f8a8..9cf50539 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -46,7 +46,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=64.2-r0 \ - imagemagick=7.0.8.49-r2 \ + imagemagick=7.0.8.58-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r7 \ From 7b2bbb18abca72b14ace61c34a4caf014fbf68fa Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 14 Aug 2019 14:05:33 +0700 Subject: [PATCH 453/559] Update imagemagick lib to 7.0.8.58 --- 5.6/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index f5b8ce4e..d6ef132d 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -45,7 +45,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.8.38-r0 \ + imagemagick=7.0.8.58-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r7 \ From 2a8cbc338a42d7b793e5b7ed087667b4cb8e1c95 Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 20 Aug 2019 21:32:07 +0000 Subject: [PATCH 454/559] Rebuild against updated base image --- .base-php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.base-php b/.base-php index c9f6bb44..3fa605da 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-08T21:39:04.428621Z +7.3.3#2019-08-20T08:04:21.857453Z 7.2.16#2019-08-08T21:39:13.163474Z 7.1.27#2019-08-08T21:37:51.742711Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From aa11e85c872517e4f147e4156e9dc9ff4eb1b088 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 21 Aug 2019 21:32:48 +0000 Subject: [PATCH 455/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 3fa605da..1aad2122 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-20T08:04:21.857453Z -7.2.16#2019-08-08T21:39:13.163474Z -7.1.27#2019-08-08T21:37:51.742711Z +7.3.3#2019-08-20T21:40:58.413472Z +7.2.16#2019-08-20T21:40:50.456711Z +7.1.27#2019-08-20T21:39:51.826053Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 9c9baabd29f4e82dd30fa27f03cd128c6e2cd5a6 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 22 Aug 2019 21:34:02 +0000 Subject: [PATCH 456/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 1aad2122..d9089974 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-20T21:40:58.413472Z -7.2.16#2019-08-20T21:40:50.456711Z -7.1.27#2019-08-20T21:39:51.826053Z +7.3.3#2019-08-21T22:07:51.473565Z +7.2.16#2019-08-21T22:07:52.989538Z +7.1.27#2019-08-21T22:06:46.776311Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From c3ec8f469921c476a8b9c8174da803ff8288da5f Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 23 Aug 2019 21:34:57 +0000 Subject: [PATCH 457/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index d9089974..07c7a93f 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-21T22:07:51.473565Z -7.2.16#2019-08-21T22:07:52.989538Z -7.1.27#2019-08-21T22:06:46.776311Z +7.3.3#2019-08-22T21:41:41.108937Z +7.2.16#2019-08-22T21:41:35.799912Z +7.1.27#2019-08-22T21:40:43.858242Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 4fb73634f9da427198d833c5441820ebf53b88d9 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 24 Aug 2019 21:35:30 +0000 Subject: [PATCH 458/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 07c7a93f..03d628cb 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-22T21:41:41.108937Z -7.2.16#2019-08-22T21:41:35.799912Z -7.1.27#2019-08-22T21:40:43.858242Z +7.3.3#2019-08-23T21:43:05.210226Z +7.2.16#2019-08-23T21:42:40.698348Z +7.1.27#2019-08-23T21:41:40.737796Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 393bf40116021d46975bb294a0e933e6a480c693 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 28 Aug 2019 11:42:25 +0700 Subject: [PATCH 459/559] Update libldap to 2.4.48 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index d6ef132d..7cda9fdc 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -52,7 +52,7 @@ RUN set -xe; \ libevent=2.1.8-r5 \ libjpeg-turbo=1.5.3-r5 \ libjpeg-turbo-utils \ - libldap=2.4.46-r0 \ + libldap=2.4.48-r0 \ libltdl=2.4.6-r5 \ libmemcached-libs=1.0.18-r2 \ libmcrypt=2.5.8-r7 \ diff --git a/7/Dockerfile b/7/Dockerfile index 9cf50539..bd699c03 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -53,7 +53,7 @@ RUN set -xe; \ libevent=2.1.10-r0 \ libjpeg-turbo=2.0.2-r0 \ libjpeg-turbo-utils \ - libldap=2.4.47-r2 \ + libldap=2.4.48-r0 \ libltdl=2.4.6-r6 \ libmemcached-libs=1.0.18-r3 \ libmcrypt=2.5.8-r7 \ From 05db509f6f8430e7a43056a8961babfa639d186e Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 30 Aug 2019 21:37:01 +0000 Subject: [PATCH 460/559] Update php to 7.3.9 --- .travis.yml | 2 +- 7/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9a31006a..ff5a276e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.8 + - PHP73=7.3.9 - PHP72=7.2.21 - PHP71=7.1.31 - PHP56=5.6.40 diff --git a/7/Makefile b/7/Makefile index a55fc811..f217d134 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.8 +PHP_VER ?= 7.3.9 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From c255a9d6fddb297047a9646ace57994a98ac343d Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 30 Aug 2019 21:37:01 +0000 Subject: [PATCH 461/559] Update php to 7.2.22 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ff5a276e..73bc17a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.9 - - PHP72=7.2.21 + - PHP72=7.2.22 - PHP71=7.1.31 - PHP56=5.6.40 matrix: From 04059e94d47a53d3daf107bedc6cb7808009b1c5 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 30 Aug 2019 21:37:50 +0000 Subject: [PATCH 462/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 03d628cb..663b90e9 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-23T21:43:05.210226Z -7.2.16#2019-08-23T21:42:40.698348Z -7.1.27#2019-08-23T21:41:40.737796Z +7.3.3#2019-08-29T21:45:39.501888Z +7.2.16#2019-08-29T21:46:17.621664Z +7.1.27#2019-08-29T21:44:58.172416Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From a1fffa46a828d6d261faf3f3dd2508aebfae16b5 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 31 Aug 2019 21:37:14 +0000 Subject: [PATCH 463/559] Update php to 7.1.32 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 73bc17a8..c862a703 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP73=7.3.9 - PHP72=7.2.22 - - PHP71=7.1.31 + - PHP71=7.1.32 - PHP56=5.6.40 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest From 448b2100762ccc02d3ad3854d58868d0748a61d0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 31 Aug 2019 21:38:00 +0000 Subject: [PATCH 464/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 663b90e9..90c6e05e 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-29T21:45:39.501888Z -7.2.16#2019-08-29T21:46:17.621664Z -7.1.27#2019-08-29T21:44:58.172416Z +7.3.3#2019-08-30T21:45:44.666108Z +7.2.16#2019-08-30T21:45:30.372450Z +7.1.27#2019-08-30T21:44:12.614207Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From fcceeabeee7ab5350058c8557c4c51ab9263b2e1 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 5 Sep 2019 03:27:41 +0000 Subject: [PATCH 465/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 90c6e05e..35fcd3a2 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-08-30T21:45:44.666108Z -7.2.16#2019-08-30T21:45:30.372450Z -7.1.27#2019-08-30T21:44:12.614207Z +7.3.3#2019-09-04T21:48:59.531017Z +7.2.16#2019-09-04T21:48:13.171231Z +7.1.27#2019-09-04T21:47:27.084942Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From f1ead8963373d4581a60de3ffd3f679529baba3e Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 5 Sep 2019 10:49:07 +0700 Subject: [PATCH 466/559] Set default newrelic loglevel to warning --- 5.6/templates/docker-php-ext-newrelic.ini.tmpl | 4 ++-- 7/templates/docker-php-ext-newrelic.ini.tmpl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tmpl b/5.6/templates/docker-php-ext-newrelic.ini.tmpl index c42c6552..96de7084 100644 --- a/5.6/templates/docker-php-ext-newrelic.ini.tmpl +++ b/5.6/templates/docker-php-ext-newrelic.ini.tmpl @@ -5,7 +5,7 @@ newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" newrelic.capture_params = {{ getenv "PHP_NEWRELIC_CAPTURE_PARAMS" "false" }} newrelic.daemon.logfile = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGFILE" "/proc/self/fd/2" }}" -newrelic.daemon.loglevel = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGLEVEL" "info" }}" +newrelic.daemon.loglevel = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGLEVEL" "warning" }}" newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} {{ if getenv "PHP_NEWRELIC_FRAMEWORK" }} @@ -17,7 +17,7 @@ newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" newrelic.logfile = "{{ getenv "PHP_NEWRELIC_LOGFILE" "/proc/self/fd/2" }}" -newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" +newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "warning" }}" {{ if getenv "PHP_NEWRELIC_SPECIAL" }} newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" {{ end }} diff --git a/7/templates/docker-php-ext-newrelic.ini.tmpl b/7/templates/docker-php-ext-newrelic.ini.tmpl index c42c6552..96de7084 100644 --- a/7/templates/docker-php-ext-newrelic.ini.tmpl +++ b/7/templates/docker-php-ext-newrelic.ini.tmpl @@ -5,7 +5,7 @@ newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" newrelic.capture_params = {{ getenv "PHP_NEWRELIC_CAPTURE_PARAMS" "false" }} newrelic.daemon.logfile = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGFILE" "/proc/self/fd/2" }}" -newrelic.daemon.loglevel = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGLEVEL" "info" }}" +newrelic.daemon.loglevel = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGLEVEL" "warning" }}" newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} {{ if getenv "PHP_NEWRELIC_FRAMEWORK" }} @@ -17,7 +17,7 @@ newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" newrelic.logfile = "{{ getenv "PHP_NEWRELIC_LOGFILE" "/proc/self/fd/2" }}" -newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "info" }}" +newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "warning" }}" {{ if getenv "PHP_NEWRELIC_SPECIAL" }} newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" {{ end }} From eb0ac2746279312d2ccc949bdb8909eb012af29b Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 5 Sep 2019 10:01:44 +0000 Subject: [PATCH 467/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 35fcd3a2..0fe493ca 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-09-04T21:48:59.531017Z -7.2.16#2019-09-04T21:48:13.171231Z -7.1.27#2019-09-04T21:47:27.084942Z +7.3.3#2019-09-05T09:30:08.081162Z +7.2.16#2019-09-05T09:31:00.087506Z +7.1.27#2019-09-05T09:30:22.801297Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 935726f8c8bb3db028d364e6d3ffaec4ef2f2fb5 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 6 Sep 2019 21:41:45 +0000 Subject: [PATCH 468/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 0fe493ca..da131c3f 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-09-05T09:30:08.081162Z -7.2.16#2019-09-05T09:31:00.087506Z -7.1.27#2019-09-05T09:30:22.801297Z +7.3.3#2019-09-05T21:49:35.785884Z +7.2.16#2019-09-05T21:50:06.167059Z +7.1.27#2019-09-05T21:47:57.699895Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 1cc9b46bc2f3f7330d675fa4c4e911207e5ebe90 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 14 Sep 2019 21:45:43 +0000 Subject: [PATCH 469/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index da131c3f..16c84d56 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-09-05T21:49:35.785884Z -7.2.16#2019-09-05T21:50:06.167059Z -7.1.27#2019-09-05T21:47:57.699895Z +7.3.3#2019-09-13T21:53:27.264187Z +7.2.16#2019-09-13T21:53:23.778598Z +7.1.27#2019-09-13T21:52:03.774225Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 701f4face85b562f6a2fc2f63e3531f197fa338f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 16 Sep 2019 11:27:47 +0700 Subject: [PATCH 470/559] Update c-client pkg --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index bd699c03..3481c3b6 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -39,7 +39,7 @@ RUN set -xe; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ apk add --update --no-cache -t .wodby-php-run-deps \ - c-client=2007f-r9 \ + c-client=2007f-r10 \ fcgi \ findutils \ freetype=2.10.0-r0 \ From 2408549b2bde7574be8e8982882b5b4a6e7d8116 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 20 Sep 2019 21:48:12 +0000 Subject: [PATCH 471/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 16c84d56..8cb6f005 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-09-13T21:53:27.264187Z -7.2.16#2019-09-13T21:53:23.778598Z -7.1.27#2019-09-13T21:52:03.774225Z +7.3.3#2019-09-19T21:55:45.943172Z +7.2.16#2019-09-19T21:55:47.686974Z +7.1.27#2019-09-19T21:54:34.054436Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 699852e5e0c24222fdb5dd4c2c97660b0276c636 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 27 Sep 2019 21:52:17 +0000 Subject: [PATCH 472/559] Update php to 7.3.10 --- .travis.yml | 2 +- 7/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c862a703..b4652149 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.9 + - PHP73=7.3.10 - PHP72=7.2.22 - PHP71=7.1.32 - PHP56=5.6.40 diff --git a/7/Makefile b/7/Makefile index f217d134..15597d2f 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.9 +PHP_VER ?= 7.3.10 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 13300dff9ffaeaf55bf91b37758380ab591f86e1 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 27 Sep 2019 21:52:18 +0000 Subject: [PATCH 473/559] Update php to 7.2.23 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b4652149..30534e00 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.10 - - PHP72=7.2.22 + - PHP72=7.2.23 - PHP71=7.1.32 - PHP56=5.6.40 matrix: From 4fd221692403aed39090ae48f9957c8effb44a6c Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 27 Sep 2019 21:53:09 +0000 Subject: [PATCH 474/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 8cb6f005..08fad1ff 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-09-19T21:55:45.943172Z -7.2.16#2019-09-19T21:55:47.686974Z -7.1.27#2019-09-19T21:54:34.054436Z +7.3.3#2019-09-26T22:00:29.265756Z +7.2.16#2019-09-26T21:59:30.074313Z +7.1.27#2019-09-26T21:59:58.497855Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 33a223a09d8cedb2ef32fd487ced5f07bb4949c7 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 4 Oct 2019 22:01:51 +0000 Subject: [PATCH 475/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 08fad1ff..c0dc8b49 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-09-26T22:00:29.265756Z -7.2.16#2019-09-26T21:59:30.074313Z -7.1.27#2019-09-26T21:59:58.497855Z +7.3.3#2019-10-03T22:05:24.239971Z +7.2.16#2019-10-03T22:05:36.476738Z +7.1.27#2019-10-03T22:04:22.618616Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 2d8373b030a77afd27d35504ccda1899b962e57c Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 5 Oct 2019 21:56:54 +0000 Subject: [PATCH 476/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index c0dc8b49..4d649ce0 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-10-03T22:05:24.239971Z -7.2.16#2019-10-03T22:05:36.476738Z -7.1.27#2019-10-03T22:04:22.618616Z +7.3.3#2019-10-04T22:03:35.274430Z +7.2.16#2019-10-04T22:03:13.422483Z +7.1.27#2019-10-04T22:02:18.519682Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 2a853a48841539c5951fe066a84bd94ca249e6c7 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 19 Oct 2019 22:01:57 +0000 Subject: [PATCH 477/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 4d649ce0..dd2823e6 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-10-04T22:03:35.274430Z -7.2.16#2019-10-04T22:03:13.422483Z -7.1.27#2019-10-04T22:02:18.519682Z +7.3.3#2019-10-18T22:08:48.288679Z +7.2.16#2019-10-18T22:08:50.597312Z +7.1.27#2019-10-18T22:07:32.718261Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From c289f4be5a2cd513d8141f527f211798afbc07eb Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 22 Oct 2019 22:04:04 +0000 Subject: [PATCH 478/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index dd2823e6..22bca19f 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-10-18T22:08:48.288679Z -7.2.16#2019-10-18T22:08:50.597312Z -7.1.27#2019-10-18T22:07:32.718261Z +7.3.3#2019-10-21T22:10:55.672263Z +7.2.16#2019-10-21T22:11:27.300552Z +7.1.27#2019-10-21T22:09:56.968452Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 1338c05667c46ec22f468b7c61e2682225eb094d Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 23 Oct 2019 22:05:16 +0000 Subject: [PATCH 479/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 22bca19f..b7004a14 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-10-21T22:10:55.672263Z -7.2.16#2019-10-21T22:11:27.300552Z -7.1.27#2019-10-21T22:09:56.968452Z +7.3.3#2019-10-22T22:26:01.556032Z +7.2.16#2019-10-22T22:24:21.451771Z +7.1.27#2019-10-22T22:24:44.812317Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From c3f0b9819aec53d69549615a04cfafa0a522e304 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 25 Oct 2019 22:05:37 +0000 Subject: [PATCH 480/559] Update php to 7.3.11 --- .travis.yml | 2 +- 7/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 30534e00..fbc6149b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.10 + - PHP73=7.3.11 - PHP72=7.2.23 - PHP71=7.1.32 - PHP56=5.6.40 diff --git a/7/Makefile b/7/Makefile index 15597d2f..0ffb4750 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.10 +PHP_VER ?= 7.3.11 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From d02249a77d48456bccd302e447299a0b8ed7cd0b Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 25 Oct 2019 22:05:38 +0000 Subject: [PATCH 481/559] Update php to 7.2.24 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fbc6149b..c5d149cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.11 - - PHP72=7.2.23 + - PHP72=7.2.24 - PHP71=7.1.32 - PHP56=5.6.40 matrix: From 2127f36f9d2933849749f1d944d1df8d5d577ac9 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 25 Oct 2019 22:06:34 +0000 Subject: [PATCH 482/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index b7004a14..ec5ef76e 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-10-22T22:26:01.556032Z -7.2.16#2019-10-22T22:24:21.451771Z -7.1.27#2019-10-22T22:24:44.812317Z +7.3.3#2019-10-24T22:13:35.905663Z +7.2.16#2019-10-24T22:13:37.222173Z +7.1.27#2019-10-24T22:13:15.332292Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 5a069c31abe8791f3eded5a6d9adebd7f8486340 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 26 Oct 2019 22:05:51 +0000 Subject: [PATCH 483/559] Update php to 7.1.33 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c5d149cb..39113b23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP73=7.3.11 - PHP72=7.2.24 - - PHP71=7.1.32 + - PHP71=7.1.33 - PHP56=5.6.40 matrix: - PHP_VER="${PHP73}" TAGS=7.3,7,latest From 23c9dce123fb0f935a9ff2bd0c1ba096219bd657 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 26 Oct 2019 22:06:46 +0000 Subject: [PATCH 484/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index ec5ef76e..eced3799 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-10-24T22:13:35.905663Z -7.2.16#2019-10-24T22:13:37.222173Z -7.1.27#2019-10-24T22:13:15.332292Z +7.3.3#2019-10-25T22:14:03.006569Z +7.2.16#2019-10-25T22:14:10.682777Z +7.1.27#2019-10-25T22:12:57.209913Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 8390122ffe00abf6ad7f5c9f2806c68aced57e05 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 29 Oct 2019 14:00:06 +0700 Subject: [PATCH 485/559] Update PHP extensions #91 --- 5.6/Dockerfile | 4 ++-- 7/Dockerfile | 8 ++++---- README.md | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 7cda9fdc..240a3dff 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -172,11 +172,11 @@ RUN set -xe; \ amqp-1.9.4 \ apcu-4.0.11 \ event-2.5.3 \ - grpc-1.20.0 \ + grpc-1.23.1 \ igbinary-2.0.8 \ imagick-3.4.4 \ memcached-2.2.0 \ - mongodb-1.5.5 \ + mongodb-1.6.0 \ oauth-1.2.3 \ rdkafka-3.1.2 \ redis-4.3.0 \ diff --git a/7/Dockerfile b/7/Dockerfile index 3481c3b6..4a942a95 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -180,15 +180,15 @@ RUN set -xe; \ \ pecl install \ amqp-1.9.4 \ - apcu-5.1.17 \ + apcu-5.1.18 \ ast-1.0.1 \ ds-1.2.9 \ event-2.5.3 \ - grpc-1.20.0 \ + grpc-1.23.1 \ igbinary-3.0.1 \ imagick-3.4.4 \ - memcached-3.1.3 \ - mongodb-1.5.5 \ + memcached-3.1.4 \ + mongodb-1.6.0 \ oauth-2.0.3 \ rdkafka-3.1.2 \ redis-4.3.0 \ diff --git a/README.md b/README.md index 8258d198..dccb1227 100644 --- a/README.md +++ b/README.md @@ -210,7 +210,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | ---------------- | -------- | -------- | -------- | -------- | | [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | | apc | - | - | - | - | -| [apcu] | 5.1.17 | 5.1.17 | 5.1.17 | 4.0.11 | +| [apcu] | 5.1.18 | 5.1.18 | 5.1.18 | 4.0.11 | | [ast] | 1.0.1 | 1.0.1 | 1.0.1 | - | | [blackfire] | latest | latest | latest | latest | | bcmath | | | | | @@ -229,7 +229,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | filter | | | | | | ftp | | | | | | gd | | | | | -| [grpc] | 1.20.0 | 1.20.0 | 1.20.0 | 1.20.0 | +| [grpc] | 1.23.1 | 1.23.1 | 1.23.1 | 1.23.1 | | hash | | | | | | iconv | | | | | | [igbinary] | 3.0.1 | 3.0.1 | 3.0.1 | 2.0.8 | @@ -241,8 +241,8 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | libxml | | | | | | mbstring | | | | | | mcrypt | - | [1.0.1] | | | -| [memcached] | 3.1.3 | 3.1.3 | 3.1.3 | 2.2.0 | -| [mongodb] | 1.5.5 | 1.5.5 | 1.5.5 | 1.5.5 | +| [memcached] | 3.1.4 | 3.1.4 | 3.1.4 | 2.2.0 | +| [mongodb] | 1.6.0 | 1.6.0 | 1.6.0 | 1.6.0 | | mysql | - | - | - | | | mysqli | | | | | | mysqlnd | | | | | From 315894e939e6585bf68631e2f2bdd925de88bad4 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 1 Nov 2019 22:09:45 +0000 Subject: [PATCH 486/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index eced3799..e1c73415 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-10-25T22:14:03.006569Z -7.2.16#2019-10-25T22:14:10.682777Z -7.1.27#2019-10-25T22:12:57.209913Z +7.3.3#2019-10-31T22:17:39.471729Z +7.2.16#2019-10-31T22:16:34.364116Z +7.1.27#2019-10-31T22:15:35.537754Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 48d13f6b7aaa118e6eac69d287025241de40abd2 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 5 Nov 2019 12:49:11 +0700 Subject: [PATCH 487/559] Update libxslt pkg --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 240a3dff..520d6171 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -59,7 +59,7 @@ RUN set -xe; \ libpng=1.6.37-r0 \ librdkafka=0.11.4-r1 \ libuuid=2.32-r0 \ - libxslt=1.1.33-r1 \ + libxslt=1.1.33-r2 \ make \ mariadb-client \ nano \ diff --git a/7/Dockerfile b/7/Dockerfile index 4a942a95..af206ae5 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -61,7 +61,7 @@ RUN set -xe; \ librdkafka=1.0.1-r1 \ libuuid=2.33.2-r0 \ libwebp=1.0.2-r0 \ - libxslt=1.1.33-r1 \ + libxslt=1.1.33-r2 \ libzip=1.5.2-r0 \ make \ mariadb-client \ From 66dfc6140af927630b9c75d05c689c2171c036f7 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 15 Nov 2019 22:17:14 +0000 Subject: [PATCH 488/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index e1c73415..f1f867a9 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-10-31T22:17:39.471729Z -7.2.16#2019-10-31T22:16:34.364116Z -7.1.27#2019-10-31T22:15:35.537754Z +7.3.3#2019-11-14T22:25:06.669515Z +7.2.16#2019-11-14T22:25:01.091127Z +7.1.27#2019-11-14T22:23:30.370729Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 41149c7449ad8eb42f21fe7107226e1bde4a28e9 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 18 Nov 2019 12:32:55 +0700 Subject: [PATCH 489/559] Update libjpeg-turbo to 2.0.3 --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index af206ae5..ce2fa429 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -51,7 +51,7 @@ RUN set -xe; \ less \ libbz2=1.0.6-r7 \ libevent=2.1.10-r0 \ - libjpeg-turbo=2.0.2-r0 \ + libjpeg-turbo=2.0.3-r0 \ libjpeg-turbo-utils \ libldap=2.4.48-r0 \ libltdl=2.4.6-r6 \ From 1e47649577607ebd4881aa1ad2345b8eafcb827f Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 22 Nov 2019 03:44:18 +0000 Subject: [PATCH 490/559] Update php to 7.3.12 --- .travis.yml | 2 +- 7/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 39113b23..52db1bbb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP73=7.3.11 + - PHP73=7.3.12 - PHP72=7.2.24 - PHP71=7.1.33 - PHP56=5.6.40 diff --git a/7/Makefile b/7/Makefile index 0ffb4750..444a9730 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.11 +PHP_VER ?= 7.3.12 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 53965a73e9c80a318c9345720a08833e1a17d948 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 22 Nov 2019 03:44:18 +0000 Subject: [PATCH 491/559] Update php to 7.2.25 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 52db1bbb..ac9c2f47 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP73=7.3.12 - - PHP72=7.2.24 + - PHP72=7.2.25 - PHP71=7.1.33 - PHP56=5.6.40 matrix: From 7809ee27182908b26e3d0384823116843bd5f9a5 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 22 Nov 2019 03:45:14 +0000 Subject: [PATCH 492/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index f1f867a9..bba607fc 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.3.3#2019-11-14T22:25:06.669515Z -7.2.16#2019-11-14T22:25:01.091127Z -7.1.27#2019-11-14T22:23:30.370729Z +7.3.3#2019-11-21T22:28:34.110131Z +7.2.16#2019-11-21T22:27:14.384992Z +7.1.27#2019-11-21T22:26:13.282651Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 45fbdf844019d1d00e61697678bdf1482d54ba7d Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 28 Nov 2019 10:38:13 +0700 Subject: [PATCH 493/559] Add kerberos and SSL support for imap extension https://github.com/wodby/drupal-php/issues/70 --- 7/Dockerfile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index ce2fa429..c465ce33 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -92,6 +92,7 @@ RUN set -xe; \ imagemagick-dev \ imap-dev \ jpeg-dev \ + krb5-dev \ libevent-dev \ libjpeg-turbo-dev \ libmemcached-dev \ @@ -127,7 +128,6 @@ RUN set -xe; \ calendar \ exif \ gmp \ - imap \ intl \ ldap \ mysqli \ @@ -153,6 +153,12 @@ RUN set -xe; \ NPROC=$(getconf _NPROCESSORS_ONLN); \ docker-php-ext-install "-j${NPROC}" gd; \ \ + # IMAP + docker-php-ext-configure imap \ + --with-kerberos \ + --with-imap-ssl; \ + docker-php-ext-install "-j${NPROC}" imap; \ + \ pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ if [[ -n "${PECL_HTTP_PROXY}" ]]; then \ # Using pear as pecl throw errors: https://blog.flowl.info/2015/peclpear-behind-proxy-how-to/ From 76c42eb06bd8a20ef0a0812f4f930e5830fe198f Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 29 Nov 2019 17:43:26 +0700 Subject: [PATCH 494/559] Add PHP 7.4. Update extensions: ast 1.0.5, xdebug 2.8.0, mcrypt 1.0.3 (7.2) --- .base-php | 1 + .travis.yml | 10 +- 5.6/.dockerignore | 4 - 7/.dockerignore | 4 - 7/Dockerfile | 54 +- 7/Makefile | 2 +- 7/docker-entrypoint.sh | 9 +- 7/orig/php-7.4.ini-development | 1950 ++++++++++++++++ 7/orig/php-7.4.ini-production | 1952 +++++++++++++++++ 7/templates/docker-php-7.4.ini.tmpl | 78 + .../docker-php-ext-opcache-7.3.ini.tmpl | 10 - ...i.tmpl => docker-php-ext-opcache.ini.tmpl} | 0 7/tests/php_modules/7.4 | 77 + README.md | 352 +-- 14 files changed, 4282 insertions(+), 221 deletions(-) delete mode 100644 5.6/.dockerignore delete mode 100644 7/.dockerignore create mode 100644 7/orig/php-7.4.ini-development create mode 100644 7/orig/php-7.4.ini-production create mode 100644 7/templates/docker-php-7.4.ini.tmpl delete mode 100644 7/templates/docker-php-ext-opcache-7.3.ini.tmpl rename 7/templates/{docker-php-ext-opcache-7.2.ini.tmpl => docker-php-ext-opcache.ini.tmpl} (100%) create mode 100644 7/tests/php_modules/7.4 diff --git a/.base-php b/.base-php index bba607fc..54178811 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,4 @@ +7.4.0#2019-11-21T22:28:34.110131Z 7.3.3#2019-11-21T22:28:34.110131Z 7.2.16#2019-11-21T22:27:14.384992Z 7.1.27#2019-11-21T22:26:13.282651Z diff --git a/.travis.yml b/.travis.yml index ac9c2f47..55282386 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,20 +5,24 @@ services: env: global: + - PHP74=7.4.0 - PHP73=7.3.12 - PHP72=7.2.25 - PHP71=7.1.33 - PHP56=5.6.40 matrix: - - PHP_VER="${PHP73}" TAGS=7.3,7,latest + - PHP_VER="${PHP74}" TAGS=7.4,7,latest + - PHP_VER="${PHP73}" TAGS=7.3 - PHP_VER="${PHP72}" TAGS=7.2 - PHP_VER="${PHP71}" TAGS=7.1 - PHP_VER="${PHP56}" TAGS=5.6,5 - - PHP_VER="${PHP73}" PHP_DEV=1 TAGS=7.3-dev,7-dev,dev + - PHP_VER="${PHP74}" PHP_DEV=1 TAGS=7.4-dev,7-dev,dev + - PHP_VER="${PHP73}" PHP_DEV=1 TAGS=7.3-dev - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev - PHP_VER="${PHP71}" PHP_DEV=1 TAGS=7.1-dev - PHP_VER="${PHP56}" PHP_DEV=1 TAGS=5.6-dev,5-dev - - PHP_VER="${PHP73}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.3-dev-macos,7-dev-macos,dev-macos + - PHP_VER="${PHP74}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.4-dev-macos,7-dev-macos,dev-macos + - PHP_VER="${PHP73}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.3-dev-macos - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos - PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.1-dev-macos - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos diff --git a/5.6/.dockerignore b/5.6/.dockerignore deleted file mode 100644 index 4cd0d8b6..00000000 --- a/5.6/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -tests -Makefile -check-configs.sh -orig \ No newline at end of file diff --git a/7/.dockerignore b/7/.dockerignore deleted file mode 100644 index 4cd0d8b6..00000000 --- a/7/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -tests -Makefile -check-configs.sh -orig \ No newline at end of file diff --git a/7/Dockerfile b/7/Dockerfile index c465ce33..59d07a2d 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -94,6 +94,7 @@ RUN set -xe; \ jpeg-dev \ krb5-dev \ libevent-dev \ + libgcrypt-dev \ libjpeg-turbo-dev \ libmemcached-dev \ libmcrypt-dev \ @@ -104,6 +105,7 @@ RUN set -xe; \ libxslt-dev \ libzip-dev \ openldap-dev \ + openssl-dev \ pcre-dev \ postgresql-dev \ rabbitmq-c-dev \ @@ -154,7 +156,7 @@ RUN set -xe; \ docker-php-ext-install "-j${NPROC}" gd; \ \ # IMAP - docker-php-ext-configure imap \ + PHP_OPENSSL=yes docker-php-ext-configure imap \ --with-kerberos \ --with-imap-ssl; \ docker-php-ext-install "-j${NPROC}" imap; \ @@ -166,28 +168,34 @@ RUN set -xe; \ fi; \ # mcrypt moved to pecl in PHP 7.2 if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ - pecl install mcrypt-1.0.1; \ + pecl install mcrypt-1.0.3; \ docker-php-ext-enable mcrypt; \ elif [[ "${PHP_VERSION:0:3}" == "7.1" ]]; then \ docker-php-ext-install mcrypt; \ fi; \ \ - # NewRelic extension and agent. - newrelic_url="http://download.newrelic.com/php_agent/release/"; \ - wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ - tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ - export NR_INSTALL_SILENT=true; \ - export NR_INSTALL_USE_CP_NOT_LN=true; \ - bash /tmp/newrelic/newrelic-install install; \ - rm /usr/local/etc/php/conf.d/newrelic.ini; \ - mkdir -p /var/log/newrelic/; \ - chown -R www-data:www-data /var/log/newrelic/; \ - chmod -R 775 /var/log/newrelic/; \ + if [[ "${PHP_VERSION:0:3}" != "7.4" ]]; then \ + # NewRelic extension and agent. + newrelic_url="http://download.newrelic.com/php_agent/release/"; \ + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ + tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ + export NR_INSTALL_SILENT=true; \ + export NR_INSTALL_USE_CP_NOT_LN=true; \ + bash /tmp/newrelic/newrelic-install install; \ + rm /usr/local/etc/php/conf.d/newrelic.ini; \ + mkdir -p /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ + chmod -R 775 /var/log/newrelic/; \ + \ + \ + pecl install oauth-2.0.3; \ + docker-php-ext-enable oauth; \ + fi; \ \ pecl install \ amqp-1.9.4 \ apcu-5.1.18 \ - ast-1.0.1 \ + ast-1.0.5 \ ds-1.2.9 \ event-2.5.3 \ grpc-1.23.1 \ @@ -195,11 +203,10 @@ RUN set -xe; \ imagick-3.4.4 \ memcached-3.1.4 \ mongodb-1.6.0 \ - oauth-2.0.3 \ rdkafka-3.1.2 \ redis-4.3.0 \ uuid-1.0.4 \ - xdebug-2.7.2 \ + xdebug-2.8.0 \ yaml-2.0.4; \ \ docker-php-ext-enable \ @@ -213,7 +220,6 @@ RUN set -xe; \ grpc \ memcached \ mongodb \ - oauth \ redis \ rdkafka \ uuid \ @@ -224,12 +230,14 @@ RUN set -xe; \ # http://osmanov-dev-notes.blogspot.com/2013/07/fixing-php-start-up-error-unable-to.html mv /usr/local/etc/php/conf.d/docker-php-ext-event.ini /usr/local/etc/php/conf.d/z-docker-php-ext-event.ini; \ \ - # Blackfire extension (they have free tier). - mkdir -p /tmp/blackfire; \ - version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ - blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ - wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ + if [[ "${PHP_VERSION:0:3}" != "7.4" ]]; then \ + # Blackfire extension (they have free tier). + mkdir -p /tmp/blackfire; \ + version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ + blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ + wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ + mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ + fi; \ \ # Uploadprogress. mkdir -p /usr/src/php/ext/uploadprogress; \ diff --git a/7/Makefile b/7/Makefile index 444a9730..b162f2fc 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.3.12 +PHP_VER ?= 7.4.0 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 093e6551..cbe629fc 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -66,7 +66,7 @@ process_templates() { if [[ -n "${PHP_DEBUG}" ]]; then export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" - else + elif [[ "${php_ver_minor}" != "7.4" ]]; then # Extensions that don't work with --enabled-debug _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" @@ -75,10 +75,15 @@ process_templates() { _gotpl "docker-php-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" _gotpl "docker-php-ext-apcu.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" - _gotpl "docker-php-ext-opcache-${php_ver_minor}.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "docker-php-ext-tideways_xhprof.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways_xhprof.ini" _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" + if [[ "${php_ver_minor}" == "7.1" ]]; then + _gotpl "docker-php-ext-opcache-7.1.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + else \ + _gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" + fi + _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" _gotpl "ssh_config.tmpl" "${ssh_dir}/config" diff --git a/7/orig/php-7.4.ini-development b/7/orig/php-7.4.ini-development new file mode 100644 index 00000000..5bd27401 --- /dev/null +++ b/7/orig/php-7.4.ini-development @@ -0,0 +1,1950 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (usually C:\windows) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is the php.ini-development INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to an empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; Note: if open_basedir is set, the cache is disabled +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +; Allows to include or exclude arguments from stack traces generated for exceptions +; Default: Off +zend.exception_ignore_args = Off + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +;max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = On + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = On + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This is only effective in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; http://php.net/html-errors +;html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +; The syslog ident is a string which is prepended to every message logged +; to syslog. Only used when error_log is set to syslog. +;syslog.ident = php + +; The syslog facility is used to specify what type of program is logging +; the message. Only used when error_log is set to syslog. +;syslog.facility = user + +; Set this to disable filtering control characters (the default). +; Some loggers only accept NVT-ASCII, others accept anything that's not +; control characters. If your logger accepts everything, then no filtering +; is needed at all. +; Allowed values are: +; ascii (all printable ASCII characters and NL) +; no-ctrl (all characters except control characters) +; all (all characters) +; raw (like "all", but messages are not split at newlines) +; http://php.net/syslog.filter +;syslog.filter = ascii + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any effect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +;extension_dir = "./" +; On windows: +;extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +;sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +;cgi.discard_path=1 + +; FastCGI under IIS supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=.so' and +; 'extension='php_.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=) syntax. +; +; Notes for Windows environments : +; +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +;extension=curl +;extension=ffi +;extension=fileinfo +;extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=ldap +;extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +;extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc +;extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sodium +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < input_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir +;sqlite3.extension_dir = + +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +;sqlite3.defensive = 1 + +[Pcre] +; PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +; PCRE library recursion limit. +; Please note that if you set this value to a high number you may consume all +; the available process stack and eventually crash PHP (due to reaching the +; stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +; Enables or disables JIT compilation of patterns. This requires the PCRE +; library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = Off + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysqli_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysqli_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_memory_statistics = On + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept an uninitialized session ID, and +; regenerates the session ID if the browser sends an uninitialized session ID. +; Strict mode protects applications from session fixation via a session adoption +; vulnerability. It is disabled by default for maximum compatibility, but +; enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it +; inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) +; Current valid values are "Lax" or "Strict" +; https://tools.ietf.org/html/draft-west-first-party-cookies-07 +session.cookie_samesite = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any given request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 100 +; when the session.gc_probability value is 1 will give you approximately a 1% chance +; the gc will run on any given request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any given request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute paths, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = 1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertionError on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + + + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a component's typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_translation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < input_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +; This directive specifies maximum stack depth for mbstring regular expressions. It is similar +; to the pcre.recursion_limit for PCRE. +; Default: 100000 +;mbstring.regex_stack_limit=100000 + +; This directive specifies maximum retry count for mbstring regular expressions. It is similar +; to the pcre.backtrack_limit for PCRE. +; Default: 1000000 +;mbstring.regex_retry_limit=1000000 + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0x7FFFBFFF + +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Facilitates multiple OPcache instances per user (for Windows only). All PHP +; processes with the same cache ID and user share an OPcache instance. +;opcache.cache_id= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=0 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +; Specifies a PHP script that is going to be compiled and executed at server +; start-up. +; http://php.net/opcache.preload +;opcache.preload= + +; Preloading code as root is not allowed for security reasons. This directive +; facilitates to let the preloading to be run as another user. +; http://php.net/opcache.preload_user +;opcache.preload_user= + +; Prevents caching files that are less than this number of seconds old. It +; protects from caching of incompletely updated files. In case all file updates +; on your site are atomic, you may increase performance by setting it to "0". +;opcache.file_update_protection=2 + +; Absolute path used to store shared lockfiles (for *nix only). +;opcache.lockfile_path=/tmp + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +[ffi] +; FFI API restriction. Possible values: +; "preload" - enabled in CLI scripts and preloaded files (default) +; "false" - always disabled +; "true" - always enabled +;ffi.enable=preload + +; List of headers files to preload, wildcard patterns allowed. +;ffi.preload= diff --git a/7/orig/php-7.4.ini-production b/7/orig/php-7.4.ini-production new file mode 100644 index 00000000..beea6b26 --- /dev/null +++ b/7/orig/php-7.4.ini-production @@ -0,0 +1,1952 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (usually C:\windows) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is the php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to an empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; Note: if open_basedir is set, the cache is disabled +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +; Allows to include or exclude arguments from stack traces generated for exceptions +; Default: Off +; In production, it is recommended to turn this setting on to prohibit the output +; of sensitive information in stack traces +zend.exception_ignore_args = On + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +;max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This is only effective in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; http://php.net/html-errors +;html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +; The syslog ident is a string which is prepended to every message logged +; to syslog. Only used when error_log is set to syslog. +;syslog.ident = php + +; The syslog facility is used to specify what type of program is logging +; the message. Only used when error_log is set to syslog. +;syslog.facility = user + +; Set this to disable filtering control characters (the default). +; Some loggers only accept NVT-ASCII, others accept anything that's not +; control characters. If your logger accepts everything, then no filtering +; is needed at all. +; Allowed values are: +; ascii (all printable ASCII characters and NL) +; no-ctrl (all characters except control characters) +; all (all characters) +; raw (like "all", but messages are not split at newlines) +; http://php.net/syslog.filter +;syslog.filter = ascii + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any effect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 8M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +;extension_dir = "./" +; On windows: +;extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +;sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +;cgi.discard_path=1 + +; FastCGI under IIS supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 2M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=.so' and +; 'extension='php_.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=) syntax. +; +; Notes for Windows environments : +; +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +;extension=curl +;extension=ffi +;extension=fileinfo +;extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=ldap +;extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +;extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc +;extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sodium +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < input_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[imap] +; rsh/ssh logins are disabled by default. Use this INI entry if you want to +; enable them. Note that the IMAP library does not filter mailbox names before +; passing them to rsh/ssh command, thus passing untrusted data to this function +; with rsh/ssh enabled is insecure. +;imap.enable_insecure_rsh=0 + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +; Directory pointing to SQLite3 extensions +; http://php.net/sqlite3.extension-dir +;sqlite3.extension_dir = + +; SQLite defensive mode flag (only available from SQLite 3.26+) +; When the defensive flag is enabled, language features that allow ordinary +; SQL to deliberately corrupt the database file are disabled. This forbids +; writing directly to the schema, shadow tables (eg. FTS data tables), or +; the sqlite_dbpage virtual table. +; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html +; (for older SQLite versions, this flag has no use) +;sqlite3.defensive = 1 + +[Pcre] +; PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +; PCRE library recursion limit. +; Please note that if you set this value to a high number you may consume all +; the available process stack and eventually crash PHP (due to reaching the +; stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +; Enables or disables JIT compilation of patterns. This requires the PCRE +; library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = Off + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysqli_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysqli_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept an uninitialized session ID, and +; regenerates the session ID if the browser sends an uninitialized session ID. +; Strict mode protects applications from session fixation via a session adoption +; vulnerability. It is disabled by default for maximum compatibility, but +; enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it +; inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) +; Current valid values are "Lax" or "Strict" +; https://tools.ietf.org/html/draft-west-first-party-cookies-07 +session.cookie_samesite = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any given request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 100 +; when the session.gc_probability value is 1 will give you approximately a 1% chance +; the gc will run on any given request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any given request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute paths, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = -1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertionError on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a component's typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_translation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < input_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +; This directive specifies maximum stack depth for mbstring regular expressions. It is similar +; to the pcre.recursion_limit for PCRE. +; Default: 100000 +;mbstring.regex_stack_limit=100000 + +; This directive specifies maximum retry count for mbstring regular expressions. It is similar +; to the pcre.backtrack_limit for PCRE. +; Default: 1000000 +;mbstring.regex_retry_limit=1000000 + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0x7FFFBFFF + +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Facilitates multiple OPcache instances per user (for Windows only). All PHP +; processes with the same cache ID and user share an OPcache instance. +;opcache.cache_id= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=1 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +; Specifies a PHP script that is going to be compiled and executed at server +; start-up. +; http://php.net/opcache.preload +;opcache.preload= + +; Preloading code as root is not allowed for security reasons. This directive +; facilitates to let the preloading to be run as another user. +; http://php.net/opcache.preload_user +;opcache.preload_user= + +; Prevents caching files that are less than this number of seconds old. It +; protects from caching of incompletely updated files. In case all file updates +; on your site are atomic, you may increase performance by setting it to "0". +;opcache.file_update_protection=2 + +; Absolute path used to store shared lockfiles (for *nix only). +;opcache.lockfile_path=/tmp + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +[ffi] +; FFI API restriction. Possibe values: +; "preload" - enabled in CLI scripts and preloaded files (default) +; "false" - always disabled +; "true" - always enabled +;ffi.enable=preload + +; List of headers files to preload, wildcard patterns allowed. +;ffi.preload= diff --git a/7/templates/docker-php-7.4.ini.tmpl b/7/templates/docker-php-7.4.ini.tmpl new file mode 100644 index 00000000..1fd45852 --- /dev/null +++ b/7/templates/docker-php-7.4.ini.tmpl @@ -0,0 +1,78 @@ +; This file user only to override default php.ini values +; BASIC SETTINGS: $PHP_INI_DIR/php.ini +; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf + +[PHP] +display_errors = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} +display_startup_errors = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} +expose_php = {{ getenv "PHP_EXPOSE" "Off" }} +max_execution_time = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} +max_input_time = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} +max_input_vars = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} +post_max_size = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} +upload_max_filesize = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} +max_file_uploads = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} +allow_url_fopen = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} +default_socket_timeout = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} +output_buffering = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} + +realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} +realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} +memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} +error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} +log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} +log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} +error_log = /proc/self/fd/2 +auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} +auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} + +[Date] +date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} + +[Phar] +phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} +phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} +phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} + +[mail function] +sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} + +[MySQLi] +mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} + +[Session] +session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} +session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" "/mnt/files/sessions" }}" +session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} +session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} +session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} +session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} +session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} +session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} +session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} +session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} +session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} +session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} +session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} +session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} +session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} +session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} +session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} +session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} +session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} +session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} +session.sid_length = {{ getenv "PHP_SESSION_SID_LENGTH" "26" }} +session.trans_sid_tags = "{{ getenv "PHP_SESSION_TRANS_SID_TAGS" "a=href,area=href,frame=src,form=" }}" +session.trans_sid_hosts = {{ getenv "PHP_SESSION_TRANS_SID_HOSTS" "" }} +session.sid_bits_per_character = {{ getenv "PHP_SESSION_SID_BITS_PER_CHARACTER" "5" }} +session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} +session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} +session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" +session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" +session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" +session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" +session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} + +[Assertion] +zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} +assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} diff --git a/7/templates/docker-php-ext-opcache-7.3.ini.tmpl b/7/templates/docker-php-ext-opcache-7.3.ini.tmpl deleted file mode 100644 index 2f84815a..00000000 --- a/7/templates/docker-php-ext-opcache-7.3.ini.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -[opcache] -zend_extension = opcache.so -opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} -opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} -opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} -opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} -opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} -opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} -opcache.huge_code_pages = {{ getenv "PHP_OPCACHE_HUGE_CODE_PAGES" "0" }} \ No newline at end of file diff --git a/7/templates/docker-php-ext-opcache-7.2.ini.tmpl b/7/templates/docker-php-ext-opcache.ini.tmpl similarity index 100% rename from 7/templates/docker-php-ext-opcache-7.2.ini.tmpl rename to 7/templates/docker-php-ext-opcache.ini.tmpl diff --git a/7/tests/php_modules/7.4 b/7/tests/php_modules/7.4 new file mode 100644 index 00000000..925341c7 --- /dev/null +++ b/7/tests/php_modules/7.4 @@ -0,0 +1,77 @@ +[PHP Modules] +amqp +apcu +ast +bcmath +bz2 +calendar +Core +ctype +curl +date +dom +ds +event +exif +fileinfo +filter +ftp +gd +gmp +grpc +hash +iconv +igbinary +imagick +imap +intl +json +ldap +libxml +mbstring +memcached +mongodb +mysqli +mysqlnd +openssl +pcntl +pcre +PDO +pdo_mysql +pdo_pgsql +pdo_sqlite +pgsql +Phar +posix +rdkafka +readline +redis +Reflection +session +SimpleXML +soap +sockets +sodium +SPL +sqlite3 +standard +tideways_xhprof +tidy +tokenizer +uploadprogress +uuid +xdebug +xml +xmlreader +xmlrpc +xmlwriter +xsl +yaml +Zend OPcache +zip +zlib + +[Zend Modules] +Xdebug +Zend OPcache + diff --git a/README.md b/README.md index dccb1227..a2bbb54a 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ ## Docker Images -❗For better reliability we release images with stability tags (`wodby/php:7.3-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We strongly recommend using images only with stability tags. +❗For better reliability we release images with stability tags (`wodby/php:7.4-X.X.X`) which correspond to [git tags](https://github.com/wodby/php/releases). We strongly recommend using images only with stability tags. About images: @@ -38,19 +38,22 @@ About images: * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) -❗PHP 5.6 [has reached end of life](http://php.net/supported-versions.php) and no longer supported by PHP team, we strongly advise you to migrate to the latest stable 7.x version. +❗PHP 5.6 and 7.1 [has reached end of life](http://php.net/supported-versions.php) and no longer supported by PHP team, we strongly advise you to migrate to the latest stable 7.x version. Supported tags and respective `Dockerfile` links: -* `7.3`, `7`, `latest` [_(7/Dockerfile)_] +* `7.4`, `7`, `latest` [_(7/Dockerfile)_] +* `7.3` [_(7/Dockerfile)_] * `7.2` [_(7/Dockerfile)_] * `7.1` [_(7/Dockerfile)_] * `5.6`, `5` [_(5.6/Dockerfile)_] -* `7.3-dev`, `7-dev`, `dev` [_(7/Dockerfile)_] +* `7.4-dev`, `7-dev`, `dev` [_(7/Dockerfile)_] +* `7.3-dev` [_(7/Dockerfile)_] * `7.2-dev` [_(7/Dockerfile)_] * `7.1-dev` [_(7/Dockerfile)_] * `5.6-dev`, `5-dev` [_(5.6/Dockerfile)_] -* `7.3-dev-macos`, `7-dev-macos`, `dev-macos` [_(7/Dockerfile)_] +* `7.4-dev-macos`, `7-dev-macos`, `dev-macos` [_(7/Dockerfile)_] +* `7.3-dev-macos` [_(7/Dockerfile)_] * `7.2-dev-macos` [_(7/Dockerfile)_] * `7.1-dev-macos` [_(7/Dockerfile)_] * `5.6-dev-macos`, `5-dev-macos` [_(5.6/Dockerfile)_] @@ -84,92 +87,92 @@ Include all changes from `-dev` images and additionally: The default configuration is not recommended to be used for production environment: -| Variable | 7.3 | 7.2 | 7.1 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | -| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | `0` | -| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | -| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | -| [`PHP_APCU_SERIALIZER`] | | | | | -| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | -| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | -| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | -| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | -| [`PHP_AUTO_PREPEND_FILE`] | | | | | -| [`PHP_AUTO_APPEND_FILE`] | | | | | -| `PHP_BLACKFIRE` | | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | `blackfire` | -| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | `8707` | -| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | -| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | -| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | -| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | -| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | -| `PHP_EXTENSIONS_DISABLE` | | | | | -| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | -| `PHP_FPM_ENV_VARS` | | | | | -| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | -| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | -| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | -| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | -| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | -| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | -| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | -| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | -| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | -| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | `Off` | -| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | -| `PHP_MYSQL_CACHE_SIZE` | - | - | - | `2000` | -| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | -| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_LICENSE`] | | | | | -| _see all newrelic ext options_ | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | [5.6 newrelic] | -| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | -| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | -| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | -| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | -| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | -| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | `1` | `1` | -| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | - | -| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | `2000` | `2000` | `2000` | -| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_CACHE_LIST`] | | | | | -| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | -| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `16k` | -| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | -| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | -| _see all session options_ | [7.3 session] | [7.2 session] | [7.1 session] | [5.6 session] | -| `PHP_XHPROF` | | | | - | -| [`PHP_TRACK_ERRORS`] | - | - | `On` | `On` | -| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | `0` | `0` | `0` | `0` | -| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | +| Variable | 7.4 | 7.3 | 7.2 | 7.1 | 5.6 | +| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | ------------- | +| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | `On` | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | - | `0` | +| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | `4096` | +| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | `0` | +| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | `3600` | +| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | `NULL` | +| [`PHP_APCU_SERIALIZER`] | | | | | | +| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | `32M` | +| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | `0` | +| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | `On` | +| [`PHP_AUTO_PREPEND_FILE`] | | | | | | +| [`PHP_AUTO_APPEND_FILE`] | | | | | | +| `PHP_BLACKFIRE` | - | | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | - | `blackfire` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | - | `8707` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | `UTC` | +| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | `60` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | `Off` | +| `PHP_EXTENSIONS_DISABLE` | | | | | | +| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | | | +| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | | +| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | `www-data` | +| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | `www-data` | +| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | `0` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | - | | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | - | | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | - | `Off` | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | - | `2000` | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | `2000` | +| [`PHP_NEWRELIC_ENABLED`] | - | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_LICENSE`] | - | | | | | +| _see all newrelic ext options_ | - | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | [5.6 newrelic] | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | `0` | +| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | `2` | +| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | `4000` | +| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | `128` | +| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | `8` | +| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | - | `1` | `1` | +| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | `0` | - | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | - | `2000` | `2000` | `2000` | +| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | `1` | +| [`PHP_PHAR_CACHE_LIST`] | | | | | | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `4096k` | `16k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | `files` | +| _see all session options_ | [7.4 session] | [7.3 session] | [7.2 session] | [7.1 session] | [5.6 session] | +| `PHP_XHPROF` | | | | | - | +| [`PHP_TRACK_ERRORS`] | - | - | - | `On` | `On` | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | | | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | `0` | `0` | `0` | `0` | `0` | +| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | `1` | > "-" - Not available for this version @@ -206,85 +209,85 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated by `,`, e.g. `$PHP_EXTENSIONS_DISABLE=event,ds` -| Extension | 7.3 | 7.2 | 7.1 | 5.6 | -| ---------------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | -| apc | - | - | - | - | -| [apcu] | 5.1.18 | 5.1.18 | 5.1.18 | 4.0.11 | -| [ast] | 1.0.1 | 1.0.1 | 1.0.1 | - | -| [blackfire] | latest | latest | latest | latest | -| bcmath | | | | | -| bz2 | | | | | -| calendar | | | | | -| Core | | | | | -| ctype | | | | | -| curl | | | | | -| date | | | | | -| dom | | | | | -| [ds] | 1.2.9 | 1.2.9 | 1.2.9 | - | -| exif | | | | | -| ereg | - | - | - | | -| [event] | 2.5.3 | 2.5.3 | 2.5.3 | 2.5.3 | -| fileinfo | | | | | -| filter | | | | | -| ftp | | | | | -| gd | | | | | -| [grpc] | 1.23.1 | 1.23.1 | 1.23.1 | 1.23.1 | -| hash | | | | | -| iconv | | | | | -| [igbinary] | 3.0.1 | 3.0.1 | 3.0.1 | 2.0.8 | -| [imagick] | 3.4.4 | 3.4.4 | 3.4.4 | 3.4.4 | -| imap | | | | | -| intl | | | | | -| json | | | | | -| ldap | | | | | -| libxml | | | | | -| mbstring | | | | | -| mcrypt | - | [1.0.1] | | | -| [memcached] | 3.1.4 | 3.1.4 | 3.1.4 | 2.2.0 | -| [mongodb] | 1.6.0 | 1.6.0 | 1.6.0 | 1.6.0 | -| mysql | - | - | - | | -| mysqli | | | | | -| mysqlnd | | | | | -| [newrelic] | latest | latest | latest | latest | -| [OAuth] | 2.0.3 | 2.0.3 | 2.0.3 | 1.2.3 | -| openssl | | | | | -| pcntl | | | | | -| pcre | | | | | -| PDO | | | | | -| pdo_mysql | | | | | -| pdo_pgsql | | | | | -| pdo_sqlite | | | | | -| pgsql | | | | | -| Phar | | | | | -| posix | | | | | -| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | 3.1.2 | -| readline | | | | | -| [redis] | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 | -| Reflection | | | | | -| session | | | | | -| SimpleXML | | | | | -| soap | | | | | -| sockets | | | | | -| sodium | | | - | - | -| SPL | | | | | -| sqlite3 | | | | | -| standard | | | | | -| [tideways_xhprof] | v5.0-beta3 | v5.0-beta3 | v5.0-beta3 | | -| tidy | | | | | -| tokenizer | | | | | -| [uploadprogress] | [latest] | [latest] | [latest] | 1.0.3.1 | -| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | 2.7.2 | 2.7.2 | 2.7.2 | 2.5.5 | -| xml | | | | | -| xmlreader | | | | | -| xmlrpc | | | | | -| xmlwriter | | | | | -| xsl | | | | | -| [yaml] | 2.0.4 | 2.0.4 | 2.0.4 | 1.3.1 | -| Zend OPcache | | | | | -| zip | | | | | -| zlib | | | | | +| Extension | 7.4 | 7.3 | 7.2 | 7.1 | 5.6 | +| ---------------- | -------- | -------- | -------- | -------- | -------- | +| [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | +| apc | - | - | - | - | - | +| [apcu] | 5.1.18 | 5.1.18 | 5.1.18 | 5.1.18 | 4.0.11 | +| [ast] | 1.0.5 | 1.0.5 | 1.0.5 | 1.0.5 | - | +| [blackfire] | - | latest | latest | latest | latest | +| bcmath | | | | | | +| bz2 | | | | | | +| calendar | | | | | | +| Core | | | | | | +| ctype | | | | | | +| curl | | | | | | +| date | | | | | | +| dom | | | | | | +| [ds] | 1.2.9 | 1.2.9 | 1.2.9 | 1.2.9 | - | +| exif | | | | | | +| ereg | - | - | - | - | | +| [event] | 2.5.3 | 2.5.3 | 2.5.3 | 2.5.3 | 2.5.3 | +| fileinfo | | | | | | +| filter | | | | | | +| ftp | | | | | | +| gd | | | | | | +| [grpc] | 1.23.1 | 1.23.1 | 1.23.1 | 1.23.1 | 1.23.1 | +| hash | | | | | | +| iconv | | | | | | +| [igbinary] | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.1 | 2.0.8 | +| [imagick] | 3.4.4 | 3.4.4 | 3.4.4 | 3.4.4 | 3.4.4 | +| imap | | | | | | +| intl | | | | | | +| json | | | | | | +| ldap | | | | | | +| libxml | | | | | | +| mbstring | | | | | | +| mcrypt | - | - | [1.0.3] | | | +| [memcached] | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | 2.2.0 | +| [mongodb] | 1.6.0 | 1.6.0 | 1.6.0 | 1.6.0 | 1.6.0 | +| mysql | - | - | - | - | | +| mysqli | | | | | | +| mysqlnd | | | | | | +| [newrelic] | - | latest | latest | latest | latest | +| [OAuth] | - | 2.0.3 | 2.0.3 | 2.0.3 | 1.2.3 | +| openssl | | | | | | +| pcntl | | | | | | +| pcre | | | | | | +| PDO | | | | | | +| pdo_mysql | | | | | | +| pdo_pgsql | | | | | | +| pdo_sqlite | | | | | | +| pgsql | | | | | | +| Phar | | | | | | +| posix | | | | | | +| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | 3.1.2 | 3.1.2 | +| readline | | | | | | +| [redis] | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 | +| Reflection | | | | | | +| session | | | | | | +| SimpleXML | | | | | | +| soap | | | | | | +| sockets | | | | | | +| sodium | | | | - | - | +| SPL | | | | | | +| sqlite3 | | | | | | +| standard | | | | | | +| [tideways_xhprof] | v5.0-beta3 | v5.0-beta3 | v5.0-beta3 | v5.0-beta3 | | +| tidy | | | | | | +| tokenizer | | | | | | +| [uploadprogress] | [latest] | [latest] | [latest] | [latest] | 1.0.3.1 | +| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | +| [xdebug] | 2.8.0 | 2.8.0 | 2.8.0 | 2.8.0 | 2.5.5 | +| xml | | | | | | +| xmlreader | | | | | | +| xmlrpc | | | | | | +| xmlwriter | | | | | | +| xsl | | | | | | +| [yaml] | 2.0.4 | 2.0.4 | 2.0.4 | 2.0.4 | 1.3.1 | +| Zend OPcache | | | | | | +| zip | | | | | | +| zlib | | | | | | Legend: @@ -296,10 +299,10 @@ Extensions xdebug, blackfire and xhprof disabled by default. ## Tools -| Tool | 7.3 | 7.2 | 7.1 | 5.6 | -| ---------------------------------------------------------- | ------- | ------- | ------- | ------- | -| [Composer](https://getcomposer.org) | latest | latest | latest | latest | -| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 | +| Tool | 7.4 | 7.3 | 7.2 | 7.1 | 5.6 | +| ---------------------------------------------------------- | ------- | ------- | ------- | ------- | ------- | +| [Composer](https://getcomposer.org) | latest | latest | latest | latest | latest | +| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 | ## Libraries @@ -386,6 +389,7 @@ default params values: [7.x newrelic]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-newrelic.ini.tmpl [5.6 newrelic]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-newrelic.ini.tmpl +[7.4 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.4.ini.tmpl [7.3 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.3.ini.tmpl [7.2 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl [7.1 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl From 31dd38ec37bcc13739f9c98643951cfee05ae497 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 29 Nov 2019 22:24:12 +0000 Subject: [PATCH 495/559] Rebuild against updated base image --- .base-php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.base-php b/.base-php index 54178811..0ce56381 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.0#2019-11-21T22:28:34.110131Z -7.3.3#2019-11-21T22:28:34.110131Z -7.2.16#2019-11-21T22:27:14.384992Z -7.1.27#2019-11-21T22:26:13.282651Z +7.4.0#2019-11-29T04:13:10.921592Z +7.3.3#2019-11-29T04:13:10.921592Z +7.2.16#2019-11-29T04:14:21.243859Z +7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 58a5adb8acafdf46f8b96397a9c7018fffaea404 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 2 Dec 2019 17:33:03 +0700 Subject: [PATCH 496/559] Return .dockerignore --- 5.6/.dockerignore | 4 ++++ 7/.dockerignore | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 5.6/.dockerignore create mode 100644 7/.dockerignore diff --git a/5.6/.dockerignore b/5.6/.dockerignore new file mode 100644 index 00000000..4cd0d8b6 --- /dev/null +++ b/5.6/.dockerignore @@ -0,0 +1,4 @@ +tests +Makefile +check-configs.sh +orig \ No newline at end of file diff --git a/7/.dockerignore b/7/.dockerignore new file mode 100644 index 00000000..4cd0d8b6 --- /dev/null +++ b/7/.dockerignore @@ -0,0 +1,4 @@ +tests +Makefile +check-configs.sh +orig \ No newline at end of file From 1053e7b78bd196025a11ddb90422ba91fba28cdf Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 3 Dec 2019 22:26:11 +0000 Subject: [PATCH 497/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 0ce56381..bc8f7a64 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.0#2019-11-29T04:13:10.921592Z -7.3.3#2019-11-29T04:13:10.921592Z -7.2.16#2019-11-29T04:14:21.243859Z +7.4.0#2019-12-03T06:33:27.245610Z +7.3.3#2019-12-03T06:33:27.245610Z +7.2.16#2019-12-03T06:32:54.765434Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file From 1ec9440f09893f5d7b5e90be521ca59c0fc467a0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 5 Dec 2019 22:27:09 +0000 Subject: [PATCH 498/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index bc8f7a64..58c90580 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.0#2019-12-03T06:33:27.245610Z -7.3.3#2019-12-03T06:33:27.245610Z +7.4.0#2019-12-03T06:33:27.24561Z +7.3.3#2019-12-03T06:33:27.24561Z 7.2.16#2019-12-03T06:32:54.765434Z 7.1.27#2019-11-29T04:12:25.763263Z -5.6.40#2019-02-01T20:00:43.443260Z \ No newline at end of file +5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From 6d6b02dac91aa25f04299cc511d63f3911317788 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 6 Dec 2019 10:38:15 +0700 Subject: [PATCH 499/559] Update gd ext flags for 7.4 compatibility --- 7/Dockerfile | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 59d07a2d..44b28d49 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -146,14 +146,21 @@ RUN set -xe; \ zip; \ \ # GD - docker-php-ext-configure gd \ - --with-gd \ - --with-webp-dir \ - --with-freetype-dir=/usr/include/ \ - --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/; \ - NPROC=$(getconf _NPROCESSORS_ONLN); \ - docker-php-ext-install "-j${NPROC}" gd; \ + if [[ "${PHP_VERSION:0:3}" == "7.4" ]]; then \ + docker-php-ext-configure gd \ + --with-webp \ + --with-freetype \ + --with-jpeg; \ + else \ + docker-php-ext-configure gd \ + --with-gd \ + --with-webp-dir \ + --with-freetype-dir=/usr/include/ \ + --with-png-dir=/usr/include/ \ + --with-jpeg-dir=/usr/include/; \ + fi; \ + NPROC=$(getconf _NPROCESSORS_ONLN); \ + docker-php-ext-install "-j${NPROC}" gd; \ \ # IMAP PHP_OPENSSL=yes docker-php-ext-configure imap \ From c8aac5c84ac675153d71ef6cf0d81c3b1de315b6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 6 Dec 2019 10:48:21 +0700 Subject: [PATCH 500/559] Update oauth to 2.0.4 and add to 7.4. Add newrelic for 7.4 --- 7/Dockerfile | 30 +++++++++++++----------------- 7/docker-entrypoint.sh | 6 ++++-- 7/tests/php_modules/7.4 | 2 ++ README.md | 10 +++++----- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 44b28d49..63196992 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -181,23 +181,17 @@ RUN set -xe; \ docker-php-ext-install mcrypt; \ fi; \ \ - if [[ "${PHP_VERSION:0:3}" != "7.4" ]]; then \ - # NewRelic extension and agent. - newrelic_url="http://download.newrelic.com/php_agent/release/"; \ - wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ - tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ - export NR_INSTALL_SILENT=true; \ - export NR_INSTALL_USE_CP_NOT_LN=true; \ - bash /tmp/newrelic/newrelic-install install; \ - rm /usr/local/etc/php/conf.d/newrelic.ini; \ - mkdir -p /var/log/newrelic/; \ - chown -R www-data:www-data /var/log/newrelic/; \ - chmod -R 775 /var/log/newrelic/; \ - \ - \ - pecl install oauth-2.0.3; \ - docker-php-ext-enable oauth; \ - fi; \ + # NewRelic extension and agent. + newrelic_url="http://download.newrelic.com/php_agent/release/"; \ + wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ + tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ + export NR_INSTALL_SILENT=true; \ + export NR_INSTALL_USE_CP_NOT_LN=true; \ + bash /tmp/newrelic/newrelic-install install; \ + rm /usr/local/etc/php/conf.d/newrelic.ini; \ + mkdir -p /var/log/newrelic/; \ + chown -R www-data:www-data /var/log/newrelic/; \ + chmod -R 775 /var/log/newrelic/; \ \ pecl install \ amqp-1.9.4 \ @@ -210,6 +204,7 @@ RUN set -xe; \ imagick-3.4.4 \ memcached-3.1.4 \ mongodb-1.6.0 \ + oauth-2.0.4; \ rdkafka-3.1.2 \ redis-4.3.0 \ uuid-1.0.4 \ @@ -227,6 +222,7 @@ RUN set -xe; \ grpc \ memcached \ mongodb \ + oauth; \ redis \ rdkafka \ uuid \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index cbe629fc..3fefe6c7 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -66,9 +66,11 @@ process_templates() { if [[ -n "${PHP_DEBUG}" ]]; then export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" - elif [[ "${php_ver_minor}" != "7.4" ]]; then + else # Extensions that don't work with --enabled-debug - _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + if [[ "${php_ver_minor}" != "7.4" ]]; then + _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" + fi _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi diff --git a/7/tests/php_modules/7.4 b/7/tests/php_modules/7.4 index 925341c7..26700a7c 100644 --- a/7/tests/php_modules/7.4 +++ b/7/tests/php_modules/7.4 @@ -33,6 +33,8 @@ memcached mongodb mysqli mysqlnd +newrelic +OAuth openssl pcntl pcre diff --git a/README.md b/README.md index a2bbb54a..1e167be7 100644 --- a/README.md +++ b/README.md @@ -143,9 +143,9 @@ The default configuration is not recommended to be used for production environme | [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | `512M` | | `PHP_MYSQL_CACHE_SIZE` | - | - | - | - | `2000` | | [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | `2000` | -| [`PHP_NEWRELIC_ENABLED`] | - | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_LICENSE`] | - | | | | | -| _see all newrelic ext options_ | - | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | [5.6 newrelic] | +| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | `false` | +| [`PHP_NEWRELIC_LICENSE`] | | | | | | +| _see all newrelic ext options_ | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | [5.6 newrelic] | | [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | `1` | | [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | `0` | | [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | `1` | @@ -249,8 +249,8 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | mysql | - | - | - | - | | | mysqli | | | | | | | mysqlnd | | | | | | -| [newrelic] | - | latest | latest | latest | latest | -| [OAuth] | - | 2.0.3 | 2.0.3 | 2.0.3 | 1.2.3 | +| [newrelic] | latest | latest | latest | latest | latest | +| [OAuth] | 2.0.4 | 2.0.4 | 2.0.4 | 2.0.4 | 1.2.3 | | openssl | | | | | | | pcntl | | | | | | | pcre | | | | | | From 7987ce63cb78d1355eecc303b05058d668312efb Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 6 Dec 2019 11:02:10 +0700 Subject: [PATCH 501/559] Fixes --- 7/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 63196992..874426f9 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -204,7 +204,7 @@ RUN set -xe; \ imagick-3.4.4 \ memcached-3.1.4 \ mongodb-1.6.0 \ - oauth-2.0.4; \ + oauth-2.0.4 \ rdkafka-3.1.2 \ redis-4.3.0 \ uuid-1.0.4 \ @@ -222,7 +222,7 @@ RUN set -xe; \ grpc \ memcached \ mongodb \ - oauth; \ + oauth \ redis \ rdkafka \ uuid \ From 67cfe4cf9c9e515007a09cf9d56ae017f6eca489 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 6 Dec 2019 22:27:07 +0000 Subject: [PATCH 502/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 58c90580..fe14e210 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.0#2019-12-03T06:33:27.24561Z -7.3.3#2019-12-03T06:33:27.24561Z -7.2.16#2019-12-03T06:32:54.765434Z +7.4.0#2019-12-05T22:34:14.384518Z +7.3.3#2019-12-05T22:34:14.384518Z +7.2.16#2019-12-05T22:34:49.129836Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From 45051bce20299a3eb2ab68b8cc06b26742a35bb0 Mon Sep 17 00:00:00 2001 From: Alexei Smirnov Date: Fri, 13 Dec 2019 12:06:15 +0300 Subject: [PATCH 503/559] Add support to enable Newrelic Distributed Tracing Added newrelic.distributed_tracing_enabled = 1; by default. I don't know of any reason that this setting should be disabled by default, so totally up to you if this should be set to 0 by default? --- 7/templates/docker-php-ext-newrelic.ini.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/7/templates/docker-php-ext-newrelic.ini.tmpl b/7/templates/docker-php-ext-newrelic.ini.tmpl index 96de7084..34fe543f 100644 --- a/7/templates/docker-php-ext-newrelic.ini.tmpl +++ b/7/templates/docker-php-ext-newrelic.ini.tmpl @@ -22,4 +22,5 @@ newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "warning" }}" newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" {{ end }} newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} -{{ end }} \ No newline at end of file +newrelic.distributed_tracing_enabled = {{ getenv "PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED" "1" }} +{{ end }} From 24e8cd37ffdfb875181a0a613c8bf0b1f9901bcd Mon Sep 17 00:00:00 2001 From: Alexei Smirnov Date: Fri, 13 Dec 2019 12:07:53 +0300 Subject: [PATCH 504/559] Add support to enable Newrelic Distributed Tracing Added newrelic.distributed_tracing_enabled = 1; by default. I don't know of any reason that this setting should be disabled by default, so totally up to you if this should be set to 0 by default? --- 5.6/templates/docker-php-ext-newrelic.ini.tmpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tmpl b/5.6/templates/docker-php-ext-newrelic.ini.tmpl index 96de7084..34fe543f 100644 --- a/5.6/templates/docker-php-ext-newrelic.ini.tmpl +++ b/5.6/templates/docker-php-ext-newrelic.ini.tmpl @@ -22,4 +22,5 @@ newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "warning" }}" newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" {{ end }} newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} -{{ end }} \ No newline at end of file +newrelic.distributed_tracing_enabled = {{ getenv "PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED" "1" }} +{{ end }} From 37e85e20b1027101b1986d2138a3d4e3f3f918b1 Mon Sep 17 00:00:00 2001 From: Alexei Smirnov Date: Fri, 13 Dec 2019 12:11:13 +0300 Subject: [PATCH 505/559] add link to distributed tracing details added link to newrelic doc's website for option documentation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e167be7..f9436f21 100644 --- a/README.md +++ b/README.md @@ -453,6 +453,7 @@ default params values: [`PHP_NEWRELIC_LICENSE`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-license [`PHP_NEWRELIC_LOGLEVEL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-loglevel [`PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-tt-detail +[`PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED`]: https://docs.newrelic.com/docs/agents/php-agent/configuration/php-agent-configuration#inivar-misctt-settings [`PHP_OPCACHE_ENABLE_CLI`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable-cli [`PHP_OPCACHE_ENABLE`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.enable [`PHP_OPCACHE_FAST_SHUTDOWN`]: http://php.net/manual/en/opcache.configuration.php#ini.opcache.fast-shutdown From f65d7f0faeaf4bc6c9bc55f1ccc152dfd5c0b6bb Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Dec 2019 04:03:52 +0000 Subject: [PATCH 506/559] Update php to 7.4.1 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index fe14e210..206e9710 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.4.0#2019-12-05T22:34:14.384518Z +7.4.1#2019-12-18T22:39:10.233069Z 7.3.3#2019-12-05T22:34:14.384518Z 7.2.16#2019-12-05T22:34:49.129836Z 7.1.27#2019-11-29T04:12:25.763263Z diff --git a/.travis.yml b/.travis.yml index 55282386..c875de0e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP74=7.4.0 + - PHP74=7.4.1 - PHP73=7.3.12 - PHP72=7.2.25 - PHP71=7.1.33 diff --git a/7/Makefile b/7/Makefile index b162f2fc..22851ea9 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.4.0 +PHP_VER ?= 7.4.1 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 1bd3fba8c79e9c829217c108218eb9b4af33859e Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Dec 2019 04:03:53 +0000 Subject: [PATCH 507/559] Update php to 7.3.13 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c875de0e..e0a18bfc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP74=7.4.1 - - PHP73=7.3.12 + - PHP73=7.3.13 - PHP72=7.2.25 - PHP71=7.1.33 - PHP56=5.6.40 From 419ec98e0975cab02a4301207293b8106093c5c8 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Dec 2019 04:03:54 +0000 Subject: [PATCH 508/559] Update php to 7.2.26 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e0a18bfc..623e437e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP74=7.4.1 - PHP73=7.3.13 - - PHP72=7.2.25 + - PHP72=7.2.26 - PHP71=7.1.33 - PHP56=5.6.40 matrix: From 1c41ceff0f0b3e0cb044629ba5e978dbf3e3a6c0 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Dec 2019 04:04:59 +0000 Subject: [PATCH 509/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 206e9710..c173b6dd 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.1#2019-12-18T22:39:10.233069Z -7.3.3#2019-12-05T22:34:14.384518Z -7.2.16#2019-12-05T22:34:49.129836Z +7.4.1#2019-12-18T22:39:12.259379Z +7.3.3#2019-12-18T22:39:44.470939Z +7.2.16#2019-12-18T22:38:30.563778Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From d97d6f6a4cddc9990853c7c7837275f30b7601ac Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 19 Dec 2019 11:07:36 +0700 Subject: [PATCH 510/559] Update imagemagick to 7.0.8.68 --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 520d6171..63ac0f0e 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -45,7 +45,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=60.2-r2 \ - imagemagick=7.0.8.58-r0 \ + imagemagick=7.0.8.68-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r7 \ diff --git a/7/Dockerfile b/7/Dockerfile index 874426f9..3d332851 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -46,7 +46,7 @@ RUN set -xe; \ git \ gmp=6.1.2-r1 \ icu-libs=64.2-r0 \ - imagemagick=7.0.8.58-r0 \ + imagemagick=7.0.8.68-r0 \ jpegoptim=1.4.6-r0 \ less \ libbz2=1.0.6-r7 \ From 2321babcc422d440640d82f4a118038dfc0eecf3 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Dec 2019 09:22:03 +0000 Subject: [PATCH 511/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index c173b6dd..efbedcb5 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.1#2019-12-18T22:39:12.259379Z -7.3.3#2019-12-18T22:39:44.470939Z -7.2.16#2019-12-18T22:38:30.563778Z +7.4.1#2019-12-19T04:14:42.692009Z +7.3.3#2019-12-19T04:13:39.53467Z +7.2.16#2019-12-19T04:13:44.851896Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From 0f4a06d20f658ffcbe309adc29eb837151d5a7ff Mon Sep 17 00:00:00 2001 From: Alexei Smirnov Date: Thu, 19 Dec 2019 22:23:26 +0300 Subject: [PATCH 512/559] change PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED to disabled state. --- 5.6/templates/docker-php-ext-newrelic.ini.tmpl | 2 +- 7/templates/docker-php-ext-newrelic.ini.tmpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tmpl b/5.6/templates/docker-php-ext-newrelic.ini.tmpl index 34fe543f..e803adf7 100644 --- a/5.6/templates/docker-php-ext-newrelic.ini.tmpl +++ b/5.6/templates/docker-php-ext-newrelic.ini.tmpl @@ -22,5 +22,5 @@ newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "warning" }}" newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" {{ end }} newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} -newrelic.distributed_tracing_enabled = {{ getenv "PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED" "1" }} +newrelic.distributed_tracing_enabled = {{ getenv "PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED" "0" }} {{ end }} diff --git a/7/templates/docker-php-ext-newrelic.ini.tmpl b/7/templates/docker-php-ext-newrelic.ini.tmpl index 34fe543f..e803adf7 100644 --- a/7/templates/docker-php-ext-newrelic.ini.tmpl +++ b/7/templates/docker-php-ext-newrelic.ini.tmpl @@ -22,5 +22,5 @@ newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "warning" }}" newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" {{ end }} newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} -newrelic.distributed_tracing_enabled = {{ getenv "PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED" "1" }} +newrelic.distributed_tracing_enabled = {{ getenv "PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED" "0" }} {{ end }} From 7a8b6e268cd3a15b9daef00c5743ebebd36fa77c Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 20 Dec 2019 22:33:49 +0000 Subject: [PATCH 513/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index efbedcb5..799c5fe5 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.1#2019-12-19T04:14:42.692009Z -7.3.3#2019-12-19T04:13:39.53467Z -7.2.16#2019-12-19T04:13:44.851896Z +7.4.1#2019-12-20T04:32:54.372472Z +7.3.3#2019-12-20T04:32:59.582389Z +7.2.16#2019-12-20T04:32:38.619281Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From c34ecbc8df73108e2f974fc58280235c5766ecec Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 21 Dec 2019 22:33:56 +0000 Subject: [PATCH 514/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 799c5fe5..592c06dc 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.1#2019-12-20T04:32:54.372472Z -7.3.3#2019-12-20T04:32:59.582389Z -7.2.16#2019-12-20T04:32:38.619281Z +7.4.1#2019-12-20T22:51:14.479894Z +7.3.3#2019-12-20T22:59:57.077247Z +7.2.16#2019-12-20T23:00:49.224043Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From 3a2a805f345fa4fba8334b6d1254b336f73b4385 Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 24 Dec 2019 22:35:33 +0000 Subject: [PATCH 515/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 592c06dc..6416f920 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.1#2019-12-20T22:51:14.479894Z -7.3.3#2019-12-20T22:59:57.077247Z -7.2.16#2019-12-20T23:00:49.224043Z +7.4.1#2019-12-23T22:41:07.717624Z +7.3.3#2019-12-23T22:41:10.475451Z +7.2.16#2019-12-23T22:40:46.764086Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From 3a2eab91d2efd2e3822c7fc6d695f8be22fa8628 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 25 Dec 2019 13:17:47 +0700 Subject: [PATCH 516/559] Update libxslt pkg --- 5.6/Dockerfile | 2 +- 7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 63ac0f0e..7e9b2fe1 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -59,7 +59,7 @@ RUN set -xe; \ libpng=1.6.37-r0 \ librdkafka=0.11.4-r1 \ libuuid=2.32-r0 \ - libxslt=1.1.33-r2 \ + libxslt=1.1.33-r3 \ make \ mariadb-client \ nano \ diff --git a/7/Dockerfile b/7/Dockerfile index 3d332851..d73ccec3 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -61,7 +61,7 @@ RUN set -xe; \ librdkafka=1.0.1-r1 \ libuuid=2.33.2-r0 \ libwebp=1.0.2-r0 \ - libxslt=1.1.33-r2 \ + libxslt=1.1.33-r3 \ libzip=1.5.2-r0 \ make \ mariadb-client \ From 9b17b84260de68a9a815507e8198cbbadc535e2a Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 26 Dec 2019 22:36:22 +0000 Subject: [PATCH 517/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 6416f920..b9a4734f 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.1#2019-12-23T22:41:07.717624Z -7.3.3#2019-12-23T22:41:10.475451Z -7.2.16#2019-12-23T22:40:46.764086Z +7.4.1#2019-12-25T22:41:47.623878Z +7.3.3#2019-12-25T22:41:54.542244Z +7.2.16#2019-12-25T22:41:26.624065Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From a6515cd9575feec1b9f7201e80416242e6ee5ad2 Mon Sep 17 00:00:00 2001 From: Wodby Date: Mon, 20 Jan 2020 22:51:08 +0000 Subject: [PATCH 518/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index b9a4734f..d037b7e9 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,5 @@ -7.4.1#2019-12-25T22:41:47.623878Z -7.3.3#2019-12-25T22:41:54.542244Z -7.2.16#2019-12-25T22:41:26.624065Z +7.4.1#2020-01-20T07:28:33.167477Z +7.3.3#2020-01-20T07:29:25.000301Z +7.2.16#2020-01-20T07:28:49.01275Z 7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From 310b5ee7a79a0410bdb41b0d1c854bb30cd908c1 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 21 Jan 2020 11:55:28 +0700 Subject: [PATCH 519/559] Update package to Alpine 3.11. Drop 5.6, 7.1. Add blackfire to 7.4. Add mcrypt to all versions --- .base-php | 1 - .travis.yml | 8 - 5.6/.dockerignore | 4 - 5.6/Dockerfile | 315 --- 5.6/Makefile | 79 - 5.6/bin/actions.mk | 48 - 5.6/bin/files_chmod | 16 - 5.6/bin/files_chown | 16 - 5.6/bin/files_import | 23 - 5.6/bin/files_link | 35 - 5.6/bin/files_sync | 19 - 5.6/bin/git_checkout | 19 - 5.6/bin/git_clone | 16 - 5.6/bin/init_container | 43 - 5.6/bin/migrate | 17 - 5.6/check-configs.sh | 42 - 5.6/docker-entrypoint.sh | 117 - 5.6/orig/php-5.6.ini-development | 2030 ----------------- 5.6/orig/php-5.6.ini-production | 2030 ----------------- 5.6/templates/authorized_keys.tmpl | 2 - 5.6/templates/crontab.tmpl | 1 - 5.6/templates/docker-php-ext-apcu.ini.tmpl | 21 - .../docker-php-ext-blackfire.ini.tmpl | 4 - .../docker-php-ext-igbinary.ini.tmpl | 3 - .../docker-php-ext-newrelic.ini.tmpl | 26 - 5.6/templates/docker-php-ext-opcache.ini.tmpl | 10 - 5.6/templates/docker-php-ext-xdebug.ini.tmpl | 80 - 5.6/templates/docker-php.ini.tmpl | 91 - 5.6/templates/id_rsa.tmpl | 1 - 5.6/templates/ssh_config.tmpl | 55 - 5.6/templates/sshd_config.tmpl | 121 - 5.6/templates/wodby.settings.php.tmpl | 29 - 5.6/templates/zz-www.conf.tmpl | 36 - 5.6/tests/authorized_keys | 1 - 5.6/tests/crontab | 2 - 5.6/tests/docker-compose.yml | 38 - 5.6/tests/id_rsa | 51 - 5.6/tests/php_modules | 82 - 5.6/tests/run.sh | 74 - 5.6/tests/tests.sh | 34 - 7/Dockerfile | 51 +- 7/docker-entrypoint.sh | 11 +- 7/templates/docker-php-7.1.ini.tmpl | 82 - .../docker-php-ext-opcache-7.1.ini.tmpl | 11 - 7/tests/php_modules/7.1 | 81 - 7/tests/php_modules/7.4 | 2 + README.md | 345 ++- 47 files changed, 196 insertions(+), 6027 deletions(-) delete mode 100644 5.6/.dockerignore delete mode 100644 5.6/Dockerfile delete mode 100644 5.6/Makefile delete mode 100644 5.6/bin/actions.mk delete mode 100755 5.6/bin/files_chmod delete mode 100755 5.6/bin/files_chown delete mode 100755 5.6/bin/files_import delete mode 100755 5.6/bin/files_link delete mode 100755 5.6/bin/files_sync delete mode 100755 5.6/bin/git_checkout delete mode 100755 5.6/bin/git_clone delete mode 100755 5.6/bin/init_container delete mode 100755 5.6/bin/migrate delete mode 100755 5.6/check-configs.sh delete mode 100755 5.6/docker-entrypoint.sh delete mode 100644 5.6/orig/php-5.6.ini-development delete mode 100644 5.6/orig/php-5.6.ini-production delete mode 100644 5.6/templates/authorized_keys.tmpl delete mode 100644 5.6/templates/crontab.tmpl delete mode 100644 5.6/templates/docker-php-ext-apcu.ini.tmpl delete mode 100644 5.6/templates/docker-php-ext-blackfire.ini.tmpl delete mode 100644 5.6/templates/docker-php-ext-igbinary.ini.tmpl delete mode 100644 5.6/templates/docker-php-ext-newrelic.ini.tmpl delete mode 100644 5.6/templates/docker-php-ext-opcache.ini.tmpl delete mode 100644 5.6/templates/docker-php-ext-xdebug.ini.tmpl delete mode 100644 5.6/templates/docker-php.ini.tmpl delete mode 100644 5.6/templates/id_rsa.tmpl delete mode 100644 5.6/templates/ssh_config.tmpl delete mode 100644 5.6/templates/sshd_config.tmpl delete mode 100644 5.6/templates/wodby.settings.php.tmpl delete mode 100644 5.6/templates/zz-www.conf.tmpl delete mode 100644 5.6/tests/authorized_keys delete mode 100644 5.6/tests/crontab delete mode 100644 5.6/tests/docker-compose.yml delete mode 100644 5.6/tests/id_rsa delete mode 100644 5.6/tests/php_modules delete mode 100755 5.6/tests/run.sh delete mode 100755 5.6/tests/tests.sh delete mode 100644 7/templates/docker-php-7.1.ini.tmpl delete mode 100644 7/templates/docker-php-ext-opcache-7.1.ini.tmpl delete mode 100644 7/tests/php_modules/7.1 diff --git a/.base-php b/.base-php index d037b7e9..7d079e86 100644 --- a/.base-php +++ b/.base-php @@ -1,5 +1,4 @@ 7.4.1#2020-01-20T07:28:33.167477Z 7.3.3#2020-01-20T07:29:25.000301Z 7.2.16#2020-01-20T07:28:49.01275Z -7.1.27#2019-11-29T04:12:25.763263Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 623e437e..43142316 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,24 +8,16 @@ env: - PHP74=7.4.1 - PHP73=7.3.13 - PHP72=7.2.26 - - PHP71=7.1.33 - - PHP56=5.6.40 matrix: - PHP_VER="${PHP74}" TAGS=7.4,7,latest - PHP_VER="${PHP73}" TAGS=7.3 - PHP_VER="${PHP72}" TAGS=7.2 - - PHP_VER="${PHP71}" TAGS=7.1 - - PHP_VER="${PHP56}" TAGS=5.6,5 - PHP_VER="${PHP74}" PHP_DEV=1 TAGS=7.4-dev,7-dev,dev - PHP_VER="${PHP73}" PHP_DEV=1 TAGS=7.3-dev - PHP_VER="${PHP72}" PHP_DEV=1 TAGS=7.2-dev - - PHP_VER="${PHP71}" PHP_DEV=1 TAGS=7.1-dev - - PHP_VER="${PHP56}" PHP_DEV=1 TAGS=5.6-dev,5-dev - PHP_VER="${PHP74}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.4-dev-macos,7-dev-macos,dev-macos - PHP_VER="${PHP73}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.3-dev-macos - PHP_VER="${PHP72}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.2-dev-macos - - PHP_VER="${PHP71}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=7.1-dev-macos - - PHP_VER="${PHP56}" PHP_DEV=1 WODBY_USER_ID=501 WODBY_GROUP_ID=20 TAGS=5.6-dev-macos,5-dev-macos script: - set -e diff --git a/5.6/.dockerignore b/5.6/.dockerignore deleted file mode 100644 index 4cd0d8b6..00000000 --- a/5.6/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -tests -Makefile -check-configs.sh -orig \ No newline at end of file diff --git a/5.6/Dockerfile b/5.6/Dockerfile deleted file mode 100644 index 7e9b2fe1..00000000 --- a/5.6/Dockerfile +++ /dev/null @@ -1,315 +0,0 @@ -ARG FROM_TAG - -FROM wodby/base-php:${FROM_TAG} - -ARG PHP_DEV -ARG PHP_DEBUG - -ARG WODBY_USER_ID=1000 -ARG WODBY_GROUP_ID=1000 - -ENV PHP_DEV="${PHP_DEV}" \ - PHP_DEBUG="${PHP_DEBUG}" \ - \ - LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" - -ENV APP_ROOT="/var/www/html" \ - CONF_DIR="/var/www/conf" \ - FILES_DIR="/mnt/files" - -ENV PATH="${PATH}:/home/wodby/.composer/vendor/bin:${APP_ROOT}/vendor/bin:${APP_ROOT}/bin" \ - SSHD_HOST_KEYS_DIR="/etc/ssh" \ - ENV="/home/wodby/.shrc" \ - \ - GIT_USER_EMAIL="wodby@example.com" \ - GIT_USER_NAME="wodby" - -RUN set -xe; \ - \ - # Delete existing user/group if uid/gid occupied. - existing_group=$(getent group "${WODBY_GROUP_ID}" | cut -d: -f1); \ - if [[ -n "${existing_group}" ]]; then delgroup "${existing_group}"; fi; \ - existing_user=$(getent passwd "${WODBY_USER_ID}" | cut -d: -f1); \ - if [[ -n "${existing_user}" ]]; then deluser "${existing_user}"; fi; \ - \ - addgroup -g "${WODBY_GROUP_ID}" -S wodby; \ - adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ - adduser wodby www-data; \ - sed -i '/^wodby/s/!/*/' /etc/shadow; \ - \ - apk add --update --no-cache -t .php-rundeps \ - c-client=2007f-r8 \ - fcgi \ - findutils \ - freetype=2.9.1-r1 \ - git \ - gmp=6.1.2-r1 \ - icu-libs=60.2-r2 \ - imagemagick=7.0.8.68-r0 \ - jpegoptim=1.4.6-r0 \ - less \ - libbz2=1.0.6-r7 \ - libevent=2.1.8-r5 \ - libjpeg-turbo=1.5.3-r5 \ - libjpeg-turbo-utils \ - libldap=2.4.48-r0 \ - libltdl=2.4.6-r5 \ - libmemcached-libs=1.0.18-r2 \ - libmcrypt=2.5.8-r7 \ - libpng=1.6.37-r0 \ - librdkafka=0.11.4-r1 \ - libuuid=2.32-r0 \ - libxslt=1.1.33-r3 \ - make \ - mariadb-client \ - nano \ - openssh \ - openssh-client \ - patch \ - postgresql-client \ - rabbitmq-c=0.8.0-r4 \ - rsync \ - su-exec \ - sudo \ - tidyhtml-libs=5.6.0-r0 \ - # todo: move out tig and tmux to -dev version. - tig \ - tmux \ - yaml=0.1.7-r0; \ - \ - apk add --update --no-cache -t .build-deps \ - autoconf \ - cmake \ - build-base \ - bzip2-dev \ - freetype-dev \ - gmp-dev \ - icu-dev \ - imagemagick-dev \ - imap-dev \ - jpeg-dev \ - libevent-dev \ - libjpeg-turbo-dev \ - libmemcached-dev \ - libmcrypt-dev \ - libpng-dev \ - librdkafka-dev \ - libtool \ - libxslt-dev \ - openldap-dev \ - pcre-dev \ - postgresql-dev \ - rabbitmq-c-dev \ - tidyhtml-dev \ - yaml-dev; \ - \ - apk add -U --no-cache -t .php-edge-rundeps -X http://dl-cdn.alpinelinux.org/alpine/edge/community/ \ - gnu-libiconv=1.15-r2; \ - \ - # Install redis-cli. - apk add --update --no-cache redis; \ - mkdir -p /tmp/pkgs-bins; \ - mv /usr/bin/redis-cli /tmp/; \ - apk del --purge redis; \ - deluser redis; \ - mv /tmp/redis-cli /usr/bin; \ - \ - docker-php-source extract; \ - \ - # Fix for tidy extension. - cd /usr/src/php; \ - sed -i 's/buffio.h/tidybuffio.h/' ext/tidy/*.c; \ - \ - docker-php-ext-install \ - bcmath \ - bz2 \ - calendar \ - exif \ - gmp \ - imap \ - intl \ - ldap \ - mcrypt \ - mysql \ - mysqli \ - opcache \ - pcntl \ - pdo_mysql \ - pdo_pgsql \ - pgsql \ - soap \ - sockets \ - tidy \ - xmlrpc \ - xsl \ - zip; \ - \ - # GD - docker-php-ext-configure gd \ - --with-gd \ - --with-freetype-dir=/usr/include/ \ - --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/; \ - NPROC=$(getconf _NPROCESSORS_ONLN); \ - docker-php-ext-install -j${NPROC} gd; \ - \ - # PECL extensions - pecl config-set php_ini "${PHP_INI_DIR}/php.ini"; \ - \ - # NewRelic extension and agent. - newrelic_url="http://download.newrelic.com/php_agent/release/"; \ - wget -r -nd --no-parent -P /tmp/newrelic -Alinux-musl.tar.gz "${newrelic_url}" >/dev/null 2>&1; \ - tar -xzf /tmp/newrelic/newrelic-php*.tar.gz --strip=1 -C /tmp/newrelic; \ - export NR_INSTALL_SILENT=true; \ - export NR_INSTALL_USE_CP_NOT_LN=true; \ - bash /tmp/newrelic/newrelic-install install; \ - rm /usr/local/etc/php/conf.d/newrelic.ini; \ - mkdir -p /var/log/newrelic/; \ - chown -R www-data:www-data /var/log/newrelic/; \ - chmod -R 775 /var/log/newrelic/; \ - \ - pecl install \ - amqp-1.9.4 \ - apcu-4.0.11 \ - event-2.5.3 \ - grpc-1.23.1 \ - igbinary-2.0.8 \ - imagick-3.4.4 \ - memcached-2.2.0 \ - mongodb-1.6.0 \ - oauth-1.2.3 \ - rdkafka-3.1.2 \ - redis-4.3.0 \ - uploadprogress-1.0.3.1 \ - uuid-1.0.4 \ - xdebug-2.5.5 \ - yaml-1.3.1; \ - \ - docker-php-ext-enable \ - amqp \ - apcu \ - event \ - igbinary \ - imagick \ - grpc \ - memcached \ - mongodb \ - oauth \ - redis \ - rdkafka \ - uploadprogress \ - uuid \ - xdebug \ - yaml; \ - \ - # Event extension should be loaded after sockets. - # http://osmanov-dev-notes.blogspot.com/2013/07/fixing-php-start-up-error-unable-to.html - mv /usr/local/etc/php/conf.d/docker-php-ext-event.ini /usr/local/etc/php/conf.d/z-docker-php-ext-event.ini; \ - \ - # Blackfire extension (they have free tier). - mkdir -p /tmp/blackfire; \ - version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ - blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ - wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ - \ - # Install composer - wget -qO- https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer; \ - \ - # Install Walter (deprecated). - walter_ver="1.4.0"; \ - walter_url="https://github.com/walter-cd/walter/releases/download/v${walter_ver}/walter_${walter_ver}_linux_amd64.tar.gz"; \ - wget -qO- "${walter_url}" | tar xz -C /tmp/; \ - mv /tmp/walter_linux_amd64/walter /usr/local/bin; \ - \ - { \ - echo 'export PS1="\u@${WODBY_APP_NAME:-php}.${WODBY_ENVIRONMENT_NAME:-container}:\w $ "'; \ - # Make sure PATH is the same for ssh sessions. - echo "export PATH=${PATH}"; \ - } | tee /home/wodby/.shrc; \ - \ - # Make sure bash uses the same settings as ash. - cp /home/wodby/.shrc /home/wodby/.bashrc; \ - cp /home/wodby/.shrc /home/wodby/.bash_profile; \ - \ - # Configure sudoers - { \ - echo 'Defaults env_keep += "APP_ROOT FILES_DIR"' ; \ - \ - if [[ -n "${PHP_DEV}" ]]; then \ - echo 'wodby ALL=(root) NOPASSWD:SETENV:ALL'; \ - else \ - echo -n 'wodby ALL=(root) NOPASSWD:SETENV: ' ; \ - echo -n '/usr/local/bin/files_chmod, ' ; \ - echo -n '/usr/local/bin/files_chown, ' ; \ - echo -n '/usr/local/bin/files_sync, ' ; \ - echo -n '/usr/local/bin/gen_ssh_keys, ' ; \ - echo -n '/usr/local/bin/init_container, ' ; \ - echo -n '/usr/local/bin/migrate, ' ; \ - echo -n '/usr/local/sbin/php-fpm, ' ; \ - echo -n '/usr/sbin/sshd, ' ; \ - echo '/usr/sbin/crond' ; \ - fi; \ - } | tee /etc/sudoers.d/wodby; \ - \ - # Configure ldap - echo "TLS_CACERTDIR /etc/ssl/certs/" >> /etc/openldap/ldap.conf; \ - \ - install -o wodby -g wodby -d \ - "${APP_ROOT}" \ - "${CONF_DIR}" \ - /home/wodby/.ssh; \ - \ - install -o www-data -g www-data -d \ - "${FILES_DIR}/public" \ - "${FILES_DIR}/private" \ - "${FILES_DIR}/sessions" \ - "${FILES_DIR}/xdebug/traces" \ - "${FILES_DIR}/xdebug/profiler" \ - /home/www-data/.ssh; \ - \ - chmod -R 775 "${FILES_DIR}"; \ - chown -R wodby:wodby \ - "${PHP_INI_DIR}/conf.d" \ - /usr/local/etc/php-fpm.d \ - /home/wodby/.[^.]*; \ - \ - # SSHD - touch /etc/ssh/sshd_config; \ - chown wodby: /etc/ssh/sshd_config; \ - \ - # Crontab - rm /etc/crontabs/root; \ - # deprecated: remove in favor of bind mounts. - touch /etc/crontabs/www-data; \ - chown root:www-data /etc/crontabs/www-data; \ - chmod 660 /etc/crontabs/www-data; \ - \ - # Cleanup - su-exec wodby composer clear-cache; \ - docker-php-source delete; \ - apk del --purge .build-deps; \ - pecl clear-cache; \ - \ - rm -rf \ - /usr/include/php \ - /usr/lib/php/build \ - /tmp/* \ - /root/.composer \ - /var/cache/apk/*; \ - \ - if [[ -z "${PHP_DEV}" ]]; then \ - rm -rf /usr/src/php.tar.xz; \ - fi - -USER wodby - -WORKDIR ${APP_ROOT} -EXPOSE 9000 - -COPY templates /etc/gotpl/ -COPY docker-entrypoint.sh / -COPY bin /usr/local/bin/ - -ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["sudo", "-E", "LD_PRELOAD=/usr/lib/preloadable_libiconv.so", "php-fpm"] diff --git a/5.6/Makefile b/5.6/Makefile deleted file mode 100644 index ebac0001..00000000 --- a/5.6/Makefile +++ /dev/null @@ -1,79 +0,0 @@ --include env_make - -PHP_VER ?= 5.6.40 -PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') - -REPO = wodby/php -NAME = php-$(PHP_VER_MINOR) -FROM_TAG = $(PHP_VER) - -WODBY_USER_ID ?= 1000 -WODBY_GROUP_ID ?= 1000 - -ifeq ($(TAG),) - ifneq ($(PHP_DEBUG),) - TAG ?= $(PHP_VER_MINOR)-debug - else ifneq ($(PHP_DEV),) - TAG ?= $(PHP_VER_MINOR)-dev - else - TAG ?= $(PHP_VER_MINOR) - endif -endif - -ifneq ($(PHP_DEV),) - NAME := $(NAME)-dev -endif - -ifneq ($(PHP_DEBUG),) - NAME := $(NAME)-debug - FROM_TAG := $(FROM_TAG)-debug - PHP_DEV := 1 -endif - -ifneq ($(STABILITY_TAG),) - ifneq ($(TAG),latest) - override TAG := $(TAG)-$(STABILITY_TAG) - endif -endif - -.PHONY: build test push shell run start stop logs clean release - -default: build - -build: - docker build -t $(REPO):$(TAG) \ - --build-arg FROM_TAG=$(FROM_TAG) \ - --build-arg PHP_DEV=$(PHP_DEV) \ - --build-arg PHP_DEBUG=$(PHP_DEBUG) \ - --build-arg WODBY_USER_ID=$(WODBY_USER_ID) \ - --build-arg WODBY_GROUP_ID=$(WODBY_GROUP_ID) \ - ./ - -test: - cd ./tests && IMAGE=$(REPO):$(TAG) ./run.sh - -push: - docker push $(REPO):$(TAG) - -shell: - docker run --rm --name $(NAME) -i -t $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) /bin/bash - -run: - docker run --rm --name $(NAME) $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) $(CMD) - -start: - docker run -d --name $(NAME) $(PORTS) $(VOLUMES) $(ENV) $(REPO):$(TAG) - -stop: - docker stop $(NAME) - -logs: - docker logs $(NAME) - -clean: - -docker rm -f $(NAME) - -check-configs: - ./check-configs.sh $(PHP_VER) $(PHP_VER_MINOR) - -release: build push diff --git a/5.6/bin/actions.mk b/5.6/bin/actions.mk deleted file mode 100644 index a0ababda..00000000 --- a/5.6/bin/actions.mk +++ /dev/null @@ -1,48 +0,0 @@ -.PHONY: migrate git-clone git-checkout files-import files-link walter check-ready check-live - -check_defined = \ - $(strip $(foreach 1,$1, \ - $(call __check_defined,$1,$(strip $(value 2))))) -__check_defined = \ - $(if $(value $1),, \ - $(error Required parameter is missing: $1$(if $2, ($2)))) - -host ?= localhost -max_try ?= 1 -wait_seconds ?= 1 -delay_seconds ?= 0 -is_hash ?= 0 -branch = "" -# Some symbols in env vars break cgi-fcgi -command ?= env -i SCRIPT_NAME="/ping" SCRIPT_FILENAME="/ping" REQUEST_METHOD=GET cgi-fcgi -bind -connect "${host}":9001 | grep -q "pong" -service = PHP-FPM - -default: check-ready - -migrate: - sudo migrate $(from) $(to) - -git-clone: - $(call check_defined, url) - git_clone $(url) $(branch) - -git-checkout: - $(call check_defined, target) - git_checkout $(target) $(is_hash) - -files-import: - $(call check_defined, source) - files_import $(source) - -files-link: - $(call check_defined, public_dir) - files_link $(public_dir) - -walter: - test ! -f "$(APP_ROOT)/wodby.yml" || walter -c "$(APP_ROOT)/wodby.yml" - -check-ready: - wait_for "$(command)" $(service) $(host) $(max_try) $(wait_seconds) $(delay_seconds) - -check-live: - @echo "OK" diff --git a/5.6/bin/files_chmod b/5.6/bin/files_chmod deleted file mode 100755 index f62a05e6..00000000 --- a/5.6/bin/files_chmod +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -dir=$1 - -if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then - chmod -R ug=rwX,o=rX "${dir}" -else - echo "Only dir/files under ${FILES_DIR} allowed" - exit 1 -fi diff --git a/5.6/bin/files_chown b/5.6/bin/files_chown deleted file mode 100755 index c99b147c..00000000 --- a/5.6/bin/files_chown +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -dir=$1 - -if [[ "${dir}" =~ ^"${FILES_DIR}/" ]]; then - chown -R www-data:www-data "${dir}" -else - echo "Only dir/files under ${FILES_DIR} allowed" - exit 1 -fi diff --git a/5.6/bin/files_import b/5.6/bin/files_import deleted file mode 100755 index faf188e8..00000000 --- a/5.6/bin/files_import +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -source=$1 -tmp_dir="/tmp/source" - -get_archive "${source}" "${tmp_dir}" "zip tgz tar.gz tar" - -# TODO: allow top level dir import only for wodby archives. -if [[ -f "${tmp_dir}/.wodby" || (-d "${tmp_dir}/private" && -d "${tmp_dir}/public") ]]; then - echo "Wodby backup archive detected. Importing to top directory" - sudo files_sync "${tmp_dir}/" "${FILES_DIR}" -else - echo "Importing files to public directory" - sudo files_sync "${tmp_dir}/" "${FILES_DIR}/public/" -fi - -rm -rf "${tmp_dir}" \ No newline at end of file diff --git a/5.6/bin/files_link b/5.6/bin/files_link deleted file mode 100755 index 548da8e9..00000000 --- a/5.6/bin/files_link +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -app_public_dir=$1 - -# Add symlink from persistent files volume to application's storage public dir. -if [[ -n "${app_public_dir}" ]]; then - echo "Application's public storage dir specified, trying to symlink from files persistent volume" - - if [[ -d "${app_public_dir}" ]]; then - if [[ ! -L "${app_public_dir}" ]]; then - if [[ "$(ls -A "${app_public_dir}")" ]]; then - echo "Error: failed to symlink public storage directory to a persistent volume" - echo "Directory ${app_public_dir} must not exists or be empty" - echo "(use files import to migrate existing public files)" - exit 1 - # If dir is not symlink and empty, remove it and link. - else - echo "Empty public storage dir detected: removing and symlinking" - rm -rf "${app_public_dir}" - ln -sf "${FILES_DIR}/public" "${app_public_dir}" - fi - else - echo "Symlink already in place" - fi - else - echo "No public storage dir detected: just symlinking" - ln -sf "${FILES_DIR}/public" "${app_public_dir}" - fi -fi diff --git a/5.6/bin/files_sync b/5.6/bin/files_sync deleted file mode 100755 index c54ad257..00000000 --- a/5.6/bin/files_sync +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -from=$1 -to=$2 - -if [[ "${to}" == "${FILES_DIR}" || "${to}" =~ ^"${FILES_DIR}/" ]]; then - rsync -rltpog --chown=www-data:www-data "${from}" "${to}" - # Ensure files volume permissions are still correct. - init_container -else - echo "Invalid destination. Must be under ${FILES_DIR}" - exit 1 -fi diff --git a/5.6/bin/git_checkout b/5.6/bin/git_checkout deleted file mode 100755 index a3f6865e..00000000 --- a/5.6/bin/git_checkout +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -target=$1 -is_hash=$2 - -cd "${APP_ROOT}" -git stash -git fetch --all -git checkout "${target}" - -if [[ "${is_hash}" -eq '0' ]]; then - git pull origin "${target}" -fi diff --git a/5.6/bin/git_clone b/5.6/bin/git_clone deleted file mode 100755 index 63cbf83d..00000000 --- a/5.6/bin/git_clone +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -url=$1 -branch=$2 - -if [[ -n "${branch}" ]]; then - git clone -b "${branch}" "${url}" "${APP_ROOT}" -else - git clone "${url}" "${APP_ROOT}" -fi diff --git a/5.6/bin/init_container b/5.6/bin/init_container deleted file mode 100755 index e506c29e..00000000 --- a/5.6/bin/init_container +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -chown wodby:wodby "${APP_ROOT}" - -declare -a dirs=( - "${FILES_DIR}" - "${FILES_DIR}/public" - "${FILES_DIR}/private" - "${FILES_DIR}/sessions" - "${FILES_DIR}/xdebug/profiler" - "${FILES_DIR}/xdebug/traces" -) - -if [[ -n $1 && $1 =~ ^"${FILES_DIR}/" ]]; then - dirs+=($1) -fi - -for dir in "${dirs[@]}"; do - mkdir -p "${dir}" - chown www-data:www-data "${dir}" - chmod 775 "${dir}" -done - -if [[ -f /etc/crontabs/www-data && -z "${CRONTAB}" ]]; then - chown root:www-data /etc/crontabs/www-data - chmod 660 /etc/crontabs/www-data -fi - -if [[ -f /home/wodby/.ssh/id_rsa ]]; then - chown wodby:wodby /home/wodby/.ssh/id_rsa - chmod 600 /home/wodby/.ssh/id_rsa -fi - -if [[ -f /home/wodby/.ssh/authorized_keys ]]; then - chown wodby:wodby /home/wodby/.ssh/authorized_keys - chmod 600 /home/wodby/.ssh/authorized_keys -fi diff --git a/5.6/bin/migrate b/5.6/bin/migrate deleted file mode 100755 index 91548f4d..00000000 --- a/5.6/bin/migrate +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -from="${1:-}" -to="${2:-}" - -# Default user changed from www-data (82) to wodby (1000), change recursively codebase permissions on volume. -if [[ "${to:0:1}" == 5 && "${from:0:1}" < 5 ]]; then - echo "Migrating to a new major 5.x version." - echo "Fixing permissions for codebase volume except symlinks (public files dir)" - find "${APP_ROOT}" -uid 82 ! -type l -exec chown wodby:wodby {} + -fi diff --git a/5.6/check-configs.sh b/5.6/check-configs.sh deleted file mode 100755 index 66f25294..00000000 --- a/5.6/check-configs.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -php_ver=$1 -php_ver_minor=$2 - -url="https://raw.githubusercontent.com/php/php-src/PHP-${php_ver}" - -array=( - "./orig/php-${php_ver_minor}.ini-development::${url}/php.ini-development" - "./orig/php-${php_ver_minor}.ini-production::${url}/php.ini-production" -) - -outdated=0 - -for index in "${array[@]}" ; do - local="${index%%::*}" - url="${index##*::}" - - orig="/tmp/${RANDOM}" - wget -qO "${orig}" "${url}" - - echo "Checking ${local}" - - if diff --strip-trailing-cr "${local}" "${orig}"; then - echo "OK" - else - echo "!!! OUTDATED" - echo "${url}" - outdated=1 - fi - - rm -f "${orig}" -done - -# we don't want travis builds to fail. -#[[ "${outdated}" == 0 ]] || exit 1 \ No newline at end of file diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh deleted file mode 100755 index a930b73d..00000000 --- a/5.6/docker-entrypoint.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -ssh_dir=/home/wodby/.ssh - -_gotpl() { - if [[ -f "/etc/gotpl/$1" ]]; then - gotpl "/etc/gotpl/$1" > "$2" - fi -} - -# @deprecated will be removed in favor of bind mounts (config maps). -init_ssh_client() { - if [[ -n "${SSH_PRIVATE_KEY}" ]]; then - _gotpl "id_rsa.tmpl" "${ssh_dir}/id_rsa" - chmod -f 600 "${ssh_dir}/id_rsa" - unset SSH_PRIVATE_KEY - fi -} - -init_git() { - git config --global user.email "${GIT_USER_EMAIL}" - git config --global user.name "${GIT_USER_NAME}" -} - -init_sshd() { - _gotpl "sshd_config.tmpl" "/etc/ssh/sshd_config" - - # @deprecated will be removed in favor of bind mounts (config maps). - if [[ -n "${SSH_PUBLIC_KEYS}" ]]; then - _gotpl "authorized_keys.tmpl" "${ssh_dir}/authorized_keys" - unset SSH_PUBLIC_KEYS - fi - - printenv | xargs -I{} echo {} | awk ' \ - BEGIN { FS = "=" }; { \ - if ($1 != "HOME" \ - && $1 != "PWD" \ - && $1 != "SHLVL") { \ - \ - print ""$1"="$2"" \ - } \ - }' > "${ssh_dir}/environment" - - sudo gen_ssh_keys "rsa" "${SSHD_HOST_KEYS_DIR}" -} - -# @deprecated will be removed in favor of bind mounts (config maps). -init_crond() { - if [[ -n "${CRONTAB}" ]]; then - _gotpl "crontab.tmpl" "/etc/crontabs/www-data" - fi -} - -process_templates() { - if [[ -n "${PHP_DEV}" ]]; then - export PHP_FPM_CLEAR_ENV="${PHP_FPM_CLEAR_ENV:-no}" - fi - - if [[ -n "${PHP_DEBUG}" ]]; then - export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" - else - # Extensions that don't work with --enabled-debug - _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" - fi - - _gotpl "docker-php.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php.ini" - _gotpl "docker-php-ext-apcu.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini" - _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" - _gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" - _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" - - _gotpl "ssh_config.tmpl" "${ssh_dir}/config" -} - -disable_modules() { - if [[ -n "${PHP_EXTENSIONS_DISABLE}" ]]; then - IFS=',' read -r -a modules <<< "${PHP_EXTENSIONS_DISABLE}" - - for module in "${modules[@]}"; do - if [[ -f "${PHP_INI_DIR}/conf.d/docker-php-ext-${module}.ini" ]]; then - rm "${PHP_INI_DIR}/conf.d/docker-php-ext-${module}.ini"; - else - echo "WARNING: instructed to disable module ${module} but it was not found" - fi - done - fi -} - -sudo init_container - -init_ssh_client -init_git -process_templates -disable_modules - -if [[ "${@:1:2}" == "sudo /usr/sbin/sshd" ]]; then - init_sshd -elif [[ "${@:1:3}" == "sudo -E crond" || "${@:1:4}" == "sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond" ]]; then - init_crond -fi - -exec_init_scripts - -if [[ "${1}" == "make" ]]; then - exec "${@}" -f /usr/local/bin/actions.mk -else - exec /usr/local/bin/docker-php-entrypoint "${@}" -fi diff --git a/5.6/orig/php-5.6.ini-development b/5.6/orig/php-5.6.ini-development deleted file mode 100644 index 752f6014..00000000 --- a/5.6/orig/php-5.6.ini-development +++ /dev/null @@ -1,2030 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it is -; much more verbose when it comes to errors. We recommend using the -; development version only in development environments, as errors shown to -; application users can inadvertently leak otherwise secure information. - -; This is php.ini-development INI file. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT - -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It is -; generally recommended that should be used and that this feature -; should be disabled, as enabling it may result in issues when generating XML -; documents, however this remains supported for backward compatibility reasons. -; Note that this directive does not control the tags. -; http://php.net/asp-tags -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -; http://php.net/precision -precision = 14 - -; Output buffering is a mechanism for controlling how much output data -; (excluding headers and cookies) PHP should keep internally before pushing that -; data to the client. If your application's output exceeds this setting, PHP -; will send that data in chunks of roughly the size you specify. -; Turning on this setting and managing its maximum buffer size can yield some -; interesting side-effects depending on your application and web server. -; You may be able to send headers and cookies after you've already sent output -; through print or echo. You also may see performance benefits if your server is -; emitting less packets due to buffered output versus PHP streaming the output -; as it gets it. On production servers, 4096 bytes is a good setting for performance -; reasons. -; Note: Output buffering can also be controlled via Output Buffering Control -; functions. -; Possible Values: -; On = Enabled and buffer is unlimited. (Use with caution) -; Off = Disabled -; Integer = Enables the buffer and sets its maximum size in bytes. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 -; http://php.net/output-buffering -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -; http://php.net/output-handler -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression -zlib.output_compression = Off - -; http://php.net/zlib.output-compression-level -;zlib.output_compression_level = -1 - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -; http://php.net/zlib.output-handler -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush -; Note: This directive is hardcoded to On for the CLI SAPI -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. A warning appears if the specified function is -; not defined, or if the function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func = - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 17 - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. -; http://php.net/disable-classes -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc -zend.enable_gc = On - -; If enabled, scripts may be written in encodings that are incompatible with -; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such -; encodings. To use this feature, mbstring extension must be enabled. -; Default: Off -;zend.multibyte = Off - -; Allows to set the default encoding for the scripts. This value will be used -; unless "declare(encoding=...)" directive appears at the top of the script. -; Only affects if zend.multibyte is set. -; Default: "" -;zend.script_encoding = - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it is automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL (Show all errors, warnings and notices including coding standards.) -; E_ALL & ~E_NOTICE (Show all errors, except for notices) -; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; http://php.net/error-reporting -error_reporting = E_ALL - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; For production environments, we recommend logging errors rather than -; sending them to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = On - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. We strongly recommend you -; set this to 'off' for production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = On - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = On - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of formatting the -; error message as HTML for easier reading. This directive controls whether -; the error message is formatted as HTML or not. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On -; http://php.net/html-errors -html_errors = On - -; If html_errors is set to On *and* docref_root is not empty, then PHP -; produces clickable error messages that direct to a page describing the error -; or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty, in which -; case no links to documentation are generated. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on Windows). -;error_log = syslog - -;windows.show_crt_warning -; Default value: 0 -; Development value: 0 -; Production value: 0 - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. G,P,C,E & S are abbreviations for the following respective super -; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty -; paid for the registration of these arrays and because ENV is not as commonly -; used as the others, ENV is not recommended on productions servers. You -; can still get access to the environment variables through getenv() should you -; need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P & C) should be -; registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive -; are specified in the same manner as the variables_order directive, -; EXCEPT one. Leaving this value empty will cause PHP to use the value set -; in the variables_order directive. It does not mean it will leave the super -; globals array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the ENV, REQUEST and SERVER variables are created when they're -; first used (Just In Time) instead of when the script starts. If these -; variables are not used within a script, having this directive on will result -; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Whether PHP will read the POST data. -; This option is enabled by default. -; Most likely, you won't want to disable this option globally. It causes $_POST -; and $_FILES to always be empty; the only way you will be able to read the -; POST data will be through the php://input stream wrapper. This can be useful -; to proxy requests or to process the POST data in a memory efficient fashion. -; http://php.net/enable-post-data-reading -;enable_post_data_reading = Off - -; Maximum size of POST data that PHP will accept. -; Its value may be 0 to disable the limit. It is ignored if POST data reading -; is disabled through enable_post_data_reading. -; http://php.net/post-max-size -post_max_size = 8M - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a media type using the Content-Type header. To -; disable this, simply set it to be empty. -; -; PHP's built-in default media type is set to text/html. -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to UTF-8. -; http://php.net/default-charset -default_charset = "UTF-8" - -; PHP internal character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/internal-encoding -;internal_encoding = - -; PHP input character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/input-encoding -;input_encoding = - -; PHP output character encoding is set to empty. -; If empty, default_charset is used. -; See also output_buffer. -; http://php.net/output-encoding -;output_encoding = - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature and it will be removed in a future version. -; If post reading is disabled through enable_post_data_reading, -; $HTTP_RAW_POST_DATA is *NOT* populated. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = -1 - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Directory where the temporary files should be placed. -; Defaults to the system default (see sys_get_temp_dir) -; sys_temp_dir = "/tmp" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside -; of the web tree and people will not be able to circumvent .htaccess security. -; http://php.net/cgi.dicard-path -;cgi.discard_path=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If set to 0, PHP sends Status: header that -; is supported by Apache. When this option is set to 1, PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! -; (shebang) at the top of the running script. This line might be needed if the -; script support running both as stand-alone script and via PHP CGI<. PHP in CGI -; mode skips this line and ignores its content if this directive is turned on. -; http://php.net/cgi.check-shebang-line -;cgi.check_shebang_line=1 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) -; extension folders as well as the separate PECL DLL download (PHP 5). -; Be sure to appropriately set the extension_dir directive. -; -;extension=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysql.dll -;extension=php_mysqli.dll -;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_shmop.dll - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=php_snmp.dll - -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite3.dll -;extension=php_sybase_ct.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[CLI Server] -; Whether the CLI web server uses ANSI color coding in its terminal output. -cli_server.color = On - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -; Use of this INI entry is deprecated, use global input_encoding instead. -; If empty, default_charset or input_encoding or iconv.input_encoding is used. -; The precedence is: default_charset < intput_encoding < iconv.input_encoding -;iconv.input_encoding = - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;iconv.internal_encoding = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; If empty, default_charset or output_encoding or iconv.output_encoding is used. -; The precedence is: default_charset < output_encoding < iconv.output_encoding -; To use an output encoding conversion, iconv's output handler must be set -; otherwise output encoding conversion cannot be performed. -;iconv.output_encoding = - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING -;intl.use_exceptions = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(). -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = -; Log mail to syslog (Event Log on Windows). -;mail.log = syslog - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = On - -; Records communication from all extensions using mysqlnd to the specified log -; file. -; http://php.net/mysqlnd.debug -;mysqlnd.debug = - -; Defines which queries will be logged. -; http://php.net/mysqlnd.log_mask -;mysqlnd.log_mask = 0 - -; Default size of the mysqlnd memory pool, which is used by result sets. -; http://php.net/mysqlnd.mempool_default_size -;mysqlnd.mempool_default_size = 16000 - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -; Timeout for network requests in seconds. -; http://php.net/mysqlnd.net_read_timeout -;mysqlnd.net_read_timeout = 31536000 - -; SHA-256 Authentication Plugin related. File with the MySQL server public RSA -; key. -; http://php.net/mysqlnd.sha256_server_public_key -;mysqlnd.sha256_server_public_key = - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgreSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if -; your OS has problems with many files in one directory, and is -; a more efficient layout for servers that handle many sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use strict session mode. -; Strict session mode does not accept uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via session adoption vulnerability. It is -; disabled by default for maximum compatibility, but enabling it is encouraged. -; https://wiki.php.net/rfc/strict_sessions -session.use_strict_mode = 0 - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combating -; session hijacking when not specifying and managing your own session id. It is -; not the be-all and end-all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 -type f | xargs rm - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -;session.entropy_length = 32 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; Defaults to /dev/urandom -; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom -; If neither are found at compile time, the default is no entropy file. -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users' security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publicly accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -; Enable upload progress tracking in $_SESSION -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.enabled -;session.upload_progress.enabled = On - -; Cleanup the progress information as soon as all POST data has been read -; (i.e. upload completed). -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.cleanup -;session.upload_progress.cleanup = On - -; A prefix used for the upload progress key in $_SESSION -; Default Value: "upload_progress_" -; Development Value: "upload_progress_" -; Production Value: "upload_progress_" -; http://php.net/session.upload-progress.prefix -;session.upload_progress.prefix = "upload_progress_" - -; The index name (concatenated with the prefix) in $_SESSION -; containing the upload progress information -; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" -; http://php.net/session.upload-progress.name -;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" - -; How frequently the upload progress should be updated. -; Given either in percentages (per-file), or in bytes -; Default Value: "1%" -; Development Value: "1%" -; Production Value: "1%" -; http://php.net/session.upload-progress.freq -;session.upload_progress.freq = "1%" - -; The minimum delay between updates, in seconds -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.upload-progress.min-freq -;session.upload_progress.min_freq = "1" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatibility_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.conf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; This affects mb_send_mail() and mbstrig.detect_order. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; internal/script encoding. -; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;mbstring.internal_encoding = - -; Use of this INI entry is deprecated, use global input_encoding instead. -; http input encoding. -; mbstring.encoding_traslation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.http_input -; http://php.net/mbstring.http-input -;mbstring.http_input = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; http output encoding. -; mb_output_handler must be registered as output buffer to function. -; If empty, default_charset or output_encoding or mbstring.http_output is used. -; The precedence is: default_charset < output_encoding < mbstring.http_output -; To use an output encoding conversion, mbstring's output handler must be set -; otherwise output encoding conversion cannot be performed. -; http://php.net/mbstring.http-output -;mbstring.http_output = - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; "auto" detect order is changed according to mbstring.language -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -; Default: Off -;mbstring.strict_detection = On - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -[opcache] -; Determines if Zend OPCache is enabled -;opcache.enable=0 - -; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=0 - -; The OPcache shared memory storage size. -;opcache.memory_consumption=64 - -; The amount of memory for interned strings in Mbytes. -;opcache.interned_strings_buffer=4 - -; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 100000 are allowed. -;opcache.max_accelerated_files=2000 - -; The maximum percentage of "wasted" memory until a restart is scheduled. -;opcache.max_wasted_percentage=5 - -; When this directive is enabled, the OPcache appends the current working -; directory to the script key, thus eliminating possible collisions between -; files with the same name (basename). Disabling the directive improves -; performance, but may break existing applications. -;opcache.use_cwd=1 - -; When disabled, you must reset the OPcache manually or restart the -; webserver for changes to the filesystem to take effect. -;opcache.validate_timestamps=1 - -; How often (in seconds) to check file timestamps for changes to the shared -; memory storage allocation. ("1" means validate once per second, but only -; once per request. "0" means always validate) -;opcache.revalidate_freq=2 - -; Enables or disables file search in include_path optimization -;opcache.revalidate_path=0 - -; If disabled, all PHPDoc comments are dropped from the code to reduce the -; size of the optimized code. -;opcache.save_comments=1 - -; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" -; may be always stored (save_comments=1), but not loaded by applications -; that don't need them anyway. -;opcache.load_comments=1 - -; If enabled, a fast shutdown sequence is used for the accelerated code -;opcache.fast_shutdown=0 - -; Allow file existence override (file_exists, etc.) performance feature. -;opcache.enable_file_override=0 - -; A bitmask, where each bit enables or disables the appropriate OPcache -; passes -;opcache.optimization_level=0xffffffff - -;opcache.inherited_hack=1 -;opcache.dups_fix=0 - -; The location of the OPcache blacklist file (wildcards allowed). -; Each OPcache blacklist file is a text file that holds the names of files -; that should not be accelerated. The file format is to add each filename -; to a new line. The filename may be a full path or just a file prefix -; (i.e., /var/www/x blacklists all the files and directories in /var/www -; that start with 'x'). Line starting with a ; are ignored (comments). -;opcache.blacklist_filename= - -; Allows exclusion of large files from being cached. By default all files -; are cached. -;opcache.max_file_size=0 - -; Check the cache checksum each N requests. -; The default value of "0" means that the checks are disabled. -;opcache.consistency_checks=0 - -; How long to wait (in seconds) for a scheduled restart to begin if the cache -; is not being accessed. -;opcache.force_restart_timeout=180 - -; OPcache error_log file name. Empty string assumes "stderr". -;opcache.error_log= - -; All OPcache errors go to the Web server log. -; By default, only fatal errors (level 0) or errors (level 1) are logged. -; You can also enable warnings (level 2), info messages (level 3) or -; debug messages (level 4). -;opcache.log_verbosity_level=1 - -; Preferred Shared Memory back-end. Leave empty and let the system decide. -;opcache.preferred_memory_model= - -; Protect the shared memory from unexpected writing during script execution. -; Useful for internal debugging only. -;opcache.protect_memory=0 - -; Validate cached file permissions. -; opcache.validate_permission=0 - -; Prevent name collisions in chroot'ed environment. -; opcache.validate_root=0 - -[curl] -; A default value for the CURLOPT_CAINFO option. This is required to be an -; absolute path. -;curl.cainfo = - -[openssl] -; The location of a Certificate Authority (CA) file on the local filesystem -; to use when verifying the identity of SSL/TLS peers. Most users should -; not specify a value for this directive as PHP will attempt to use the -; OS-managed cert stores in its absence. If specified, this value may still -; be overridden on a per-stream basis via the "cafile" SSL stream context -; option. -;openssl.cafile= - -; If openssl.cafile is not specified or if the CA file is not found, the -; directory pointed to by openssl.capath is searched for a suitable -; certificate. This value must be a correctly hashed certificate directory. -; Most users should not specify a value for this directive as PHP will -; attempt to use the OS-managed cert stores in its absence. If specified, -; this value may still be overridden on a per-stream basis via the "capath" -; SSL stream context option. -;openssl.capath= - -; Local Variables: -; tab-width: 4 -; End: diff --git a/5.6/orig/php-5.6.ini-production b/5.6/orig/php-5.6.ini-production deleted file mode 100644 index 97b5043c..00000000 --- a/5.6/orig/php-5.6.ini-production +++ /dev/null @@ -1,2030 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it is -; much more verbose when it comes to errors. We recommend using the -; development version only in development environments, as errors shown to -; application users can inadvertently leak otherwise secure information. - -; This is php.ini-production INI file. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT - -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It is -; generally recommended that should be used and that this feature -; should be disabled, as enabling it may result in issues when generating XML -; documents, however this remains supported for backward compatibility reasons. -; Note that this directive does not control the tags. -; http://php.net/asp-tags -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -; http://php.net/precision -precision = 14 - -; Output buffering is a mechanism for controlling how much output data -; (excluding headers and cookies) PHP should keep internally before pushing that -; data to the client. If your application's output exceeds this setting, PHP -; will send that data in chunks of roughly the size you specify. -; Turning on this setting and managing its maximum buffer size can yield some -; interesting side-effects depending on your application and web server. -; You may be able to send headers and cookies after you've already sent output -; through print or echo. You also may see performance benefits if your server is -; emitting less packets due to buffered output versus PHP streaming the output -; as it gets it. On production servers, 4096 bytes is a good setting for performance -; reasons. -; Note: Output buffering can also be controlled via Output Buffering Control -; functions. -; Possible Values: -; On = Enabled and buffer is unlimited. (Use with caution) -; Off = Disabled -; Integer = Enables the buffer and sets its maximum size in bytes. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 -; http://php.net/output-buffering -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -; http://php.net/output-handler -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression -zlib.output_compression = Off - -; http://php.net/zlib.output-compression-level -;zlib.output_compression_level = -1 - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -; http://php.net/zlib.output-handler -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush -; Note: This directive is hardcoded to On for the CLI SAPI -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. A warning appears if the specified function is -; not defined, or if the function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func = - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 17 - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. -; http://php.net/disable-classes -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc -zend.enable_gc = On - -; If enabled, scripts may be written in encodings that are incompatible with -; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such -; encodings. To use this feature, mbstring extension must be enabled. -; Default: Off -;zend.multibyte = Off - -; Allows to set the default encoding for the scripts. This value will be used -; unless "declare(encoding=...)" directive appears at the top of the script. -; Only affects if zend.multibyte is set. -; Default: "" -;zend.script_encoding = - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; How many GET/POST/COOKIE input variables may be accepted -; max_input_vars = 1000 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it is automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL (Show all errors, warnings and notices including coding standards.) -; E_ALL & ~E_NOTICE (Show all errors, except for notices) -; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; http://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; For production environments, we recommend logging errors rather than -; sending them to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = Off - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. We strongly recommend you -; set this to 'off' for production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = Off - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of formatting the -; error message as HTML for easier reading. This directive controls whether -; the error message is formatted as HTML or not. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On -; http://php.net/html-errors -html_errors = On - -; If html_errors is set to On *and* docref_root is not empty, then PHP -; produces clickable error messages that direct to a page describing the error -; or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty, in which -; case no links to documentation are generated. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on Windows). -;error_log = syslog - -;windows.show_crt_warning -; Default value: 0 -; Development value: 0 -; Production value: 0 - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. G,P,C,E & S are abbreviations for the following respective super -; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty -; paid for the registration of these arrays and because ENV is not as commonly -; used as the others, ENV is not recommended on productions servers. You -; can still get access to the environment variables through getenv() should you -; need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P & C) should be -; registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive -; are specified in the same manner as the variables_order directive, -; EXCEPT one. Leaving this value empty will cause PHP to use the value set -; in the variables_order directive. It does not mean it will leave the super -; globals array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the ENV, REQUEST and SERVER variables are created when they're -; first used (Just In Time) instead of when the script starts. If these -; variables are not used within a script, having this directive on will result -; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Whether PHP will read the POST data. -; This option is enabled by default. -; Most likely, you won't want to disable this option globally. It causes $_POST -; and $_FILES to always be empty; the only way you will be able to read the -; POST data will be through the php://input stream wrapper. This can be useful -; to proxy requests or to process the POST data in a memory efficient fashion. -; http://php.net/enable-post-data-reading -;enable_post_data_reading = Off - -; Maximum size of POST data that PHP will accept. -; Its value may be 0 to disable the limit. It is ignored if POST data reading -; is disabled through enable_post_data_reading. -; http://php.net/post-max-size -post_max_size = 8M - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a media type using the Content-Type header. To -; disable this, simply set it to be empty. -; -; PHP's built-in default media type is set to text/html. -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to UTF-8. -; http://php.net/default-charset -default_charset = "UTF-8" - -; PHP internal character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/internal-encoding -;internal_encoding = - -; PHP input character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/input-encoding -;input_encoding = - -; PHP output character encoding is set to empty. -; If empty, default_charset is used. -; See also output_buffer. -; http://php.net/output-encoding -;output_encoding = - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature and it will be removed in a future version. -; If post reading is disabled through enable_post_data_reading, -; $HTTP_RAW_POST_DATA is *NOT* populated. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = -1 - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Directory where the temporary files should be placed. -; Defaults to the system default (see sys_get_temp_dir) -; sys_temp_dir = "/tmp" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside -; of the web tree and people will not be able to circumvent .htaccess security. -; http://php.net/cgi.dicard-path -;cgi.discard_path=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If set to 0, PHP sends Status: header that -; is supported by Apache. When this option is set to 1, PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! -; (shebang) at the top of the running script. This line might be needed if the -; script support running both as stand-alone script and via PHP CGI<. PHP in CGI -; mode skips this line and ignores its content if this directive is turned on. -; http://php.net/cgi.check-shebang-line -;cgi.check_shebang_line=1 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) -; extension folders as well as the separate PECL DLL download (PHP 5). -; Be sure to appropriately set the extension_dir directive. -; -;extension=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysql.dll -;extension=php_mysqli.dll -;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_shmop.dll - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=php_snmp.dll - -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite3.dll -;extension=php_sybase_ct.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[CLI Server] -; Whether the CLI web server uses ANSI color coding in its terminal output. -cli_server.color = On - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -; Use of this INI entry is deprecated, use global input_encoding instead. -; If empty, default_charset or input_encoding or iconv.input_encoding is used. -; The precedence is: default_charset < intput_encoding < iconv.input_encoding -;iconv.input_encoding = - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;iconv.internal_encoding = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; If empty, default_charset or output_encoding or iconv.output_encoding is used. -; The precedence is: default_charset < output_encoding < iconv.output_encoding -; To use an output encoding conversion, iconv's output handler must be set -; otherwise output encoding conversion cannot be performed. -;iconv.output_encoding = - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING -;intl.use_exceptions = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(). -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = -; Log mail to syslog (Event Log on Windows). -;mail.log = syslog - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Records communication from all extensions using mysqlnd to the specified log -; file. -; http://php.net/mysqlnd.debug -;mysqlnd.debug = - -; Defines which queries will be logged. -; http://php.net/mysqlnd.log_mask -;mysqlnd.log_mask = 0 - -; Default size of the mysqlnd memory pool, which is used by result sets. -; http://php.net/mysqlnd.mempool_default_size -;mysqlnd.mempool_default_size = 16000 - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -; Timeout for network requests in seconds. -; http://php.net/mysqlnd.net_read_timeout -;mysqlnd.net_read_timeout = 31536000 - -; SHA-256 Authentication Plugin related. File with the MySQL server public RSA -; key. -; http://php.net/mysqlnd.sha256_server_public_key -;mysqlnd.sha256_server_public_key = - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgreSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if -; your OS has problems with many files in one directory, and is -; a more efficient layout for servers that handle many sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use strict session mode. -; Strict session mode does not accept uninitialized session ID and regenerate -; session ID if browser sends uninitialized session ID. Strict mode protects -; applications from session fixation via session adoption vulnerability. It is -; disabled by default for maximum compatibility, but enabling it is encouraged. -; https://wiki.php.net/rfc/strict_sessions -session.use_strict_mode = 0 - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combating -; session hijacking when not specifying and managing your own session id. It is -; not the be-all and end-all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 -type f | xargs rm - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -;session.entropy_length = 32 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; Defaults to /dev/urandom -; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom -; If neither are found at compile time, the default is no entropy file. -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users' security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publicly accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -; Enable upload progress tracking in $_SESSION -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.enabled -;session.upload_progress.enabled = On - -; Cleanup the progress information as soon as all POST data has been read -; (i.e. upload completed). -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.cleanup -;session.upload_progress.cleanup = On - -; A prefix used for the upload progress key in $_SESSION -; Default Value: "upload_progress_" -; Development Value: "upload_progress_" -; Production Value: "upload_progress_" -; http://php.net/session.upload-progress.prefix -;session.upload_progress.prefix = "upload_progress_" - -; The index name (concatenated with the prefix) in $_SESSION -; containing the upload progress information -; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" -; http://php.net/session.upload-progress.name -;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" - -; How frequently the upload progress should be updated. -; Given either in percentages (per-file), or in bytes -; Default Value: "1%" -; Development Value: "1%" -; Production Value: "1%" -; http://php.net/session.upload-progress.freq -;session.upload_progress.freq = "1%" - -; The minimum delay between updates, in seconds -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.upload-progress.min-freq -;session.upload_progress.min_freq = "1" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatibility_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.conf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; This affects mb_send_mail() and mbstrig.detect_order. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; internal/script encoding. -; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;mbstring.internal_encoding = - -; Use of this INI entry is deprecated, use global input_encoding instead. -; http input encoding. -; mbstring.encoding_traslation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < intput_encoding < mbsting.http_input -; http://php.net/mbstring.http-input -;mbstring.http_input = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; http output encoding. -; mb_output_handler must be registered as output buffer to function. -; If empty, default_charset or output_encoding or mbstring.http_output is used. -; The precedence is: default_charset < output_encoding < mbstring.http_output -; To use an output encoding conversion, mbstring's output handler must be set -; otherwise output encoding conversion cannot be performed. -; http://php.net/mbstring.http-output -;mbstring.http_output = - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; "auto" detect order is changed according to mbstring.language -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -; Default: Off -;mbstring.strict_detection = On - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -[opcache] -; Determines if Zend OPCache is enabled -;opcache.enable=0 - -; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=0 - -; The OPcache shared memory storage size. -;opcache.memory_consumption=64 - -; The amount of memory for interned strings in Mbytes. -;opcache.interned_strings_buffer=4 - -; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 100000 are allowed. -;opcache.max_accelerated_files=2000 - -; The maximum percentage of "wasted" memory until a restart is scheduled. -;opcache.max_wasted_percentage=5 - -; When this directive is enabled, the OPcache appends the current working -; directory to the script key, thus eliminating possible collisions between -; files with the same name (basename). Disabling the directive improves -; performance, but may break existing applications. -;opcache.use_cwd=1 - -; When disabled, you must reset the OPcache manually or restart the -; webserver for changes to the filesystem to take effect. -;opcache.validate_timestamps=1 - -; How often (in seconds) to check file timestamps for changes to the shared -; memory storage allocation. ("1" means validate once per second, but only -; once per request. "0" means always validate) -;opcache.revalidate_freq=2 - -; Enables or disables file search in include_path optimization -;opcache.revalidate_path=0 - -; If disabled, all PHPDoc comments are dropped from the code to reduce the -; size of the optimized code. -;opcache.save_comments=1 - -; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" -; may be always stored (save_comments=1), but not loaded by applications -; that don't need them anyway. -;opcache.load_comments=1 - -; If enabled, a fast shutdown sequence is used for the accelerated code -;opcache.fast_shutdown=0 - -; Allow file existence override (file_exists, etc.) performance feature. -;opcache.enable_file_override=0 - -; A bitmask, where each bit enables or disables the appropriate OPcache -; passes -;opcache.optimization_level=0xffffffff - -;opcache.inherited_hack=1 -;opcache.dups_fix=0 - -; The location of the OPcache blacklist file (wildcards allowed). -; Each OPcache blacklist file is a text file that holds the names of files -; that should not be accelerated. The file format is to add each filename -; to a new line. The filename may be a full path or just a file prefix -; (i.e., /var/www/x blacklists all the files and directories in /var/www -; that start with 'x'). Line starting with a ; are ignored (comments). -;opcache.blacklist_filename= - -; Allows exclusion of large files from being cached. By default all files -; are cached. -;opcache.max_file_size=0 - -; Check the cache checksum each N requests. -; The default value of "0" means that the checks are disabled. -;opcache.consistency_checks=0 - -; How long to wait (in seconds) for a scheduled restart to begin if the cache -; is not being accessed. -;opcache.force_restart_timeout=180 - -; OPcache error_log file name. Empty string assumes "stderr". -;opcache.error_log= - -; All OPcache errors go to the Web server log. -; By default, only fatal errors (level 0) or errors (level 1) are logged. -; You can also enable warnings (level 2), info messages (level 3) or -; debug messages (level 4). -;opcache.log_verbosity_level=1 - -; Preferred Shared Memory back-end. Leave empty and let the system decide. -;opcache.preferred_memory_model= - -; Protect the shared memory from unexpected writing during script execution. -; Useful for internal debugging only. -;opcache.protect_memory=0 - -; Validate cached file permissions. -; opcache.validate_permission=0 - -; Prevent name collisions in chroot'ed environment. -; opcache.validate_root=0 - -[curl] -; A default value for the CURLOPT_CAINFO option. This is required to be an -; absolute path. -;curl.cainfo = - -[openssl] -; The location of a Certificate Authority (CA) file on the local filesystem -; to use when verifying the identity of SSL/TLS peers. Most users should -; not specify a value for this directive as PHP will attempt to use the -; OS-managed cert stores in its absence. If specified, this value may still -; be overridden on a per-stream basis via the "cafile" SSL stream context -; option. -;openssl.cafile= - -; If openssl.cafile is not specified or if the CA file is not found, the -; directory pointed to by openssl.capath is searched for a suitable -; certificate. This value must be a correctly hashed certificate directory. -; Most users should not specify a value for this directive as PHP will -; attempt to use the OS-managed cert stores in its absence. If specified, -; this value may still be overridden on a per-stream basis via the "capath" -; SSL stream context option. -;openssl.capath= - -; Local Variables: -; tab-width: 4 -; End: diff --git a/5.6/templates/authorized_keys.tmpl b/5.6/templates/authorized_keys.tmpl deleted file mode 100644 index cd58124a..00000000 --- a/5.6/templates/authorized_keys.tmpl +++ /dev/null @@ -1,2 +0,0 @@ -{{ range jsonArray (getenv "SSH_PUBLIC_KEYS") }}{{ . }} -{{ end }} \ No newline at end of file diff --git a/5.6/templates/crontab.tmpl b/5.6/templates/crontab.tmpl deleted file mode 100644 index 537bc190..00000000 --- a/5.6/templates/crontab.tmpl +++ /dev/null @@ -1 +0,0 @@ -{{ getenv "CRONTAB" }} \ No newline at end of file diff --git a/5.6/templates/docker-php-ext-apcu.ini.tmpl b/5.6/templates/docker-php-ext-apcu.ini.tmpl deleted file mode 100644 index 5479d0e2..00000000 --- a/5.6/templates/docker-php-ext-apcu.ini.tmpl +++ /dev/null @@ -1,21 +0,0 @@ -[apcu] -extension=apcu.so -apc.enabled = {{ getenv "PHP_APCU_ENABLED" "1" }} -apc.shm_segments = {{ getenv "PHP_APCU_SHM_SEGMENTS" "1" }} -apc.shm_size = {{ getenv "PHP_APCU_SHM_SIZE" "32M" }} -apc.entries_hint = {{ getenv "PHP_APCU_ENTRIES_HINT" "4096" }} -apc.ttl = {{ getenv "PHP_APCU_TTL" "0" }} -apc.gc_ttl = {{ getenv "PHP_APCU_GC_TTL" "3600" }} -apc.slam_defense = {{ getenv "PHP_APCU_SLAM_DEFENSE" "1" }} -apc.enable_cli = {{ getenv "PHP_APCU_ENABLE_CLI" "0" }} -apc.use_request_time = {{ getenv "PHP_APCU_USE_REQUEST_TIME" "1" }} -apc.coredump_unmap = {{ getenv "PHP_APCU_COREDUMP_UNMAP" "0" }} -apc.preload_path = {{ getenv "PHP_APCU_PRELOAD_PATH" "NULL" }} - -{{ if getenv "PHP_APCU_SERIALIZER" }} -; Default value of serializer is "php" when it's not set -; Despite the segfault bug was resolved, avoid using "default" for safety -; https://github.com/krakjoe/apcu/issues/260 -; https://github.com/krakjoe/apcu/issues/248 -apc.serializer = {{ getenv "PHP_APCU_SERIALIZER" }} -{{ end }} diff --git a/5.6/templates/docker-php-ext-blackfire.ini.tmpl b/5.6/templates/docker-php-ext-blackfire.ini.tmpl deleted file mode 100644 index e8387eaa..00000000 --- a/5.6/templates/docker-php-ext-blackfire.ini.tmpl +++ /dev/null @@ -1,4 +0,0 @@ -{{ if getenv "PHP_BLACKFIRE" }} -extension=blackfire.so -blackfire.agent_socket=tcp://{{ getenv "PHP_BLACKFIRE_AGENT_HOST" "blackfire" }}:{{ getenv "PHP_BLACKFIRE_AGENT_PORT" "8707" }} -{{ end }} \ No newline at end of file diff --git a/5.6/templates/docker-php-ext-igbinary.ini.tmpl b/5.6/templates/docker-php-ext-igbinary.ini.tmpl deleted file mode 100644 index fa14b623..00000000 --- a/5.6/templates/docker-php-ext-igbinary.ini.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -[igbinary] -extension = igbinary.so -igbinary.compact_strings = {{ getenv "PHP_IGBINARY_COMPACT_STRINGS" "On" }} \ No newline at end of file diff --git a/5.6/templates/docker-php-ext-newrelic.ini.tmpl b/5.6/templates/docker-php-ext-newrelic.ini.tmpl deleted file mode 100644 index e803adf7..00000000 --- a/5.6/templates/docker-php-ext-newrelic.ini.tmpl +++ /dev/null @@ -1,26 +0,0 @@ -{{ if getenv "PHP_NEWRELIC_ENABLED" }} -[newrelic] -extension = newrelic.so -newrelic.appname = "{{ getenv "PHP_NEWRELIC_APPNAME" "My PHP app" }}" -newrelic.browser_monitoring.auto_instrument = "{{ getenv "PHP_NEWRELIC_BROWSER_MONITORING_AUTO_INSTRUMENT" "true" }}" -newrelic.capture_params = {{ getenv "PHP_NEWRELIC_CAPTURE_PARAMS" "false" }} -newrelic.daemon.logfile = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGFILE" "/proc/self/fd/2" }}" -newrelic.daemon.loglevel = "{{ getenv "PHP_NEWRELIC_DAEMON_LOGLEVEL" "warning" }}" -newrelic.daemon.port = "{{ getenv "PHP_NEWRELIC_DAEMON_PORT" "@newrelic-daemon" }}" -newrelic.enabled = {{ getenv "PHP_NEWRELIC_ENABLED" "false" }} -{{ if getenv "PHP_NEWRELIC_FRAMEWORK" }} -newrelic.framework = {{ getenv "PHP_NEWRELIC_FRAMEWORK" }} -{{ end }} -newrelic.guzzle_enabled = "{{ getenv "PHP_NEWRELIC_GUZZLE_ENABLED" "true" }}" -newrelic.high_security = {{ getenv "PHP_NEWRELIC_HIGH_SECURITY" "false" }} -newrelic.ignored_params = "{{ getenv "PHP_NEWRELIC_IGNORED_PARAMS" }}" -newrelic.labels = "{{ getenv "PHP_NEWRELIC_LABELS" }}" -newrelic.license = "{{ getenv "PHP_NEWRELIC_LICENSE" }}" -newrelic.logfile = "{{ getenv "PHP_NEWRELIC_LOGFILE" "/proc/self/fd/2" }}" -newrelic.loglevel = "{{ getenv "PHP_NEWRELIC_LOGLEVEL" "warning" }}" -{{ if getenv "PHP_NEWRELIC_SPECIAL" }} -newrelic.special = "{{ getenv "PHP_NEWRELIC_SPECIAL" }}" -{{ end }} -newrelic.transaction_tracer.detail = {{ getenv "PHP_NEWRELIC_TRANSACTION_TRACER_DETAIL" "1" }} -newrelic.distributed_tracing_enabled = {{ getenv "PHP_NEWRELIC_DISTRIBUTED_TRACING_ENABLED" "0" }} -{{ end }} diff --git a/5.6/templates/docker-php-ext-opcache.ini.tmpl b/5.6/templates/docker-php-ext-opcache.ini.tmpl deleted file mode 100644 index 1c1e51b3..00000000 --- a/5.6/templates/docker-php-ext-opcache.ini.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -[opcache] -zend_extension = opcache.so -opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} -opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} -opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} -opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} -opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} -opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} -opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} \ No newline at end of file diff --git a/5.6/templates/docker-php-ext-xdebug.ini.tmpl b/5.6/templates/docker-php-ext-xdebug.ini.tmpl deleted file mode 100644 index f5e0ba0a..00000000 --- a/5.6/templates/docker-php-ext-xdebug.ini.tmpl +++ /dev/null @@ -1,80 +0,0 @@ -{{ if getenv "PHP_XDEBUG" }} -[xdebug] -zend_extension = xdebug.so -xdebug.auto_trace = {{ getenv "PHP_XDEBUG_AUTO_TRACE" "0" }} -xdebug.cli_color = {{ getenv "PHP_XDEBUG_CLI_COLOR" "0" }} -xdebug.collect_assignments = {{ getenv "PHP_XDEBUG_COLLECT_ASSIGNMENTS" "0" }} -xdebug.collect_includes = {{ getenv "PHP_XDEBUG_COLLECT_INCLUDES" "1" }} -xdebug.collect_params = {{ getenv "PHP_XDEBUG_COLLECT_PARAMS" "0" }} -xdebug.collect_return = {{ getenv "PHP_XDEBUG_COLLECT_RETURN" "0" }} -xdebug.collect_vars = {{ getenv "PHP_XDEBUG_COLLECT_VARS" "0" }} -xdebug.coverage_enable = {{ getenv "PHP_XDEBUG_COVERAGE_ENABLE" "1" }} -xdebug.default_enable = {{ getenv "PHP_XDEBUG_DEFAULT_ENABLE" "0" }} -xdebug.dump_globals = {{ getenv "PHP_XDEBUG_DUMP_GLOBALS" "1" }} -xdebug.dump_once = {{ getenv "PHP_XDEBUG_DUMP_ONCE" "1" }} -xdebug.dump_undefined = {{ getenv "PHP_XDEBUG_DUMP_UNDEFINED" "0" }} -xdebug.extended_info = {{ getenv "PHP_XDEBUG_EXTENDED_INFO" "1" }} -xdebug.file_link_format = "{{ getenv "PHP_XDEBUG_FILE_LINK_FORMAT" "" }}" -xdebug.force_display_errors = {{ getenv "PHP_XDEBUG_FORCE_DISPLAY_ERRORS" "0" }} -xdebug.force_error_reporting = {{ getenv "PHP_XDEBUG_FORCE_ERROR_REPORTING" "0" }} -xdebug.halt_level = {{ getenv "PHP_XDEBUG_HALT_LEVEL" "0" }} -xdebug.manual_url = {{ getenv "PHP_XDEBUG_MANUAL_URL" "http://www.php.net" }} -xdebug.max_nesting_level = {{ getenv "PHP_XDEBUG_MAX_NESTING_LEVEL" "256" }} -xdebug.max_stack_frames = {{ getenv "PHP_XDEBUG_MAX_STACK_FRAMES" "-1" }} -xdebug.overload_var_dump = {{ getenv "PHP_XDEBUG_OVERLOAD_VAR_DUMP" "2" }} -xdebug.profiler_aggregate = {{ getenv "PHP_XDEBUG_PROFILER_AGGREGATE" "0" }} -xdebug.profiler_append = {{ getenv "PHP_XDEBUG_PROFILER_APPEND" "0" }} -xdebug.profiler_enable = {{ getenv "PHP_XDEBUG_PROFILER_ENABLE" "0" }} -xdebug.profiler_enable_trigger = {{ getenv "PHP_XDEBUG_PROFILER_ENABLE_TRIGGER" "0" }} -xdebug.profiler_enable_trigger_value = "{{ getenv "PHP_XDEBUG_PROFILER_ENABLE_TRIGGER_VALUE" "" }}" -xdebug.profiler_output_dir = {{ getenv "FILES_DIR" }}/xdebug/profiler -xdebug.profiler_output_name = {{ getenv "PHP_XDEBUG_PROFILER_OUTPUT_NAME" "cachegrind.out.%p" }} -xdebug.remote_addr_header = "{{ getenv "PHP_XDEBUG_REMOTE_ADDR_HEADER" "" }}" -xdebug.remote_autostart = {{ getenv "PHP_XDEBUG_REMOTE_AUTOSTART" "1" }} -xdebug.remote_connect_back = {{ getenv "PHP_XDEBUG_REMOTE_CONNECT_BACK" "1" }} -xdebug.remote_cookie_expire_time = {{ getenv "PHP_XDEBUG_REMOTE_COOKIE_EXPIRE_TIME" "3600" }} -xdebug.remote_enable = {{ getenv "PHP_XDEBUG_REMOTE_ENABLE" "1" }} -xdebug.remote_handler = {{ getenv "PHP_XDEBUG_REMOTE_HANDLER" "dbgp" }} -xdebug.remote_host = {{ getenv "PHP_XDEBUG_REMOTE_HOST" "localhost" }} -xdebug.remote_log = "{{ getenv "PHP_XDEBUG_REMOTE_LOG" "" }}" -xdebug.remote_mode = {{ getenv "PHP_XDEBUG_REMOTE_MODE" "req" }} -xdebug.remote_port = {{ getenv "PHP_XDEBUG_REMOTE_PORT" "9000" }} -xdebug.scream = {{ getenv "PHP_XDEBUG_SCREAM" "0" }} -xdebug.show_error_trace = {{ getenv "PHP_XDEBUG_SHOW_ERROR_TRACE" "0" }} -xdebug.show_exception_trace = {{ getenv "PHP_XDEBUG_SHOW_EXCEPTION_TRACE" "0" }} -xdebug.show_local_vars = {{ getenv "PHP_XDEBUG_SHOW_LOCAL_VARS" "0" }} -xdebug.show_mem_delta = {{ getenv "PHP_XDEBUG_SHOW_MEM_DELTA" "0" }} -xdebug.trace_enable_trigger = {{ getenv "PHP_XDEBUG_TRACE_ENABLE_TRIGGER" "0" }} -xdebug.trace_enable_trigger_value = "{{ getenv "PHP_XDEBUG_TRACE_ENABLE_TRIGGER_VALUE" "" }}" -xdebug.trace_format = {{ getenv "PHP_XDEBUG_TRACE_FORMAT" "0" }} -xdebug.trace_options = {{ getenv "PHP_XDEBUG_TRACE_OPTIONS" "0" }} -xdebug.trace_output_dir = {{ getenv "FILES_DIR" }}/xdebug/traces -xdebug.trace_output_name = {{ getenv "PHP_XDEBUG_TRACE_OUTPUT_NAME" "trace.%c" }} -xdebug.var_display_max_children = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_CHILDREN" "128" }} -xdebug.var_display_max_data = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_DATA" "512" }} -xdebug.var_display_max_depth = {{ getenv "PHP_XDEBUG_VAR_DISPLAY_MAX_DEPTH" "3" }} -{{ if getenv "PHP_XDEBUG_DUMP_COOKIE" }} -xdebug.dump.COOKIE = {{ getenv "PHP_XDEBUG_DUMP_COOKIE" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_FILES" }} -xdebug.dump.FILES = {{ getenv "PHP_XDEBUG_DUMP_FILES" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_GET" }} -xdebug.dump.GET = {{ getenv "PHP_XDEBUG_DUMP_GET" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_POST" }} -xdebug.dump.POST = {{ getenv "PHP_XDEBUG_DUMP_POST" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_REQUEST" }} -xdebug.dump.REQUEST = {{ getenv "PHP_XDEBUG_DUMP_REQUEST" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_SERVER" }} -xdebug.dump.SERVER = {{ getenv "PHP_XDEBUG_DUMP_SERVER" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_DUMP_SESSION" }} -xdebug.dump.SESSION = {{ getenv "PHP_XDEBUG_DUMP_SESSION" }} -{{ end }} -{{ if getenv "PHP_XDEBUG_IDEKEY" }} -xdebug.idekey = {{ getenv "PHP_XDEBUG_IDEKEY" }} -{{ end }} -{{ end }} \ No newline at end of file diff --git a/5.6/templates/docker-php.ini.tmpl b/5.6/templates/docker-php.ini.tmpl deleted file mode 100644 index 928bf327..00000000 --- a/5.6/templates/docker-php.ini.tmpl +++ /dev/null @@ -1,91 +0,0 @@ -; This file user only to override default php.ini values -; BASIC SETTINGS: $PHP_INI_DIR/php.ini -; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf - -[PHP] -display_errors = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} -display_startup_errors = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} -expose_php = {{ getenv "PHP_EXPOSE" "Off" }} -max_execution_time = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} -max_input_time = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} -max_input_vars = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} -post_max_size = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} -upload_max_filesize = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} -max_file_uploads = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} -allow_url_fopen = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} -default_socket_timeout = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} -output_buffering = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} -always_populate_raw_post_data = {{ getenv "PHP_ALWAYS_POPULATE_RAW_POST_DATA" "0" }} - -realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "16k" }} -realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} -memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} -error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} -track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} -error_log = /proc/self/fd/2 -auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} -auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} - -[Date] -date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} - -[Pdo_mysql] -pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} - -[Phar] -phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} -phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} -phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} - -[mail function] -sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} - -[MySQL] -mysql.cache_size = {{ getenv "PHP_MYSQL_CACHE_SIZE" "2000" }} - -[MySQLi] -mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} - -[Session] -session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" "/mnt/files/sessions" }}" -session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} -session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} -session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} -session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} -session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} -session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} -session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} -session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} -session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} -session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} -session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} -session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} -session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} -session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} -session.entropy_length = {{ getenv "PHP_SESSION_ENTROPY_LENGTH" "32" }} -session.entropy_file = {{ getenv "PHP_SESSION_ENTROPY_FILE" "/dev/urandom" }} -session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} -session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} -session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} -session.hash_function = {{ getenv "PHP_SESSION_HASH_FUNCTION" "0" }} -session.hash_bits_per_character = {{ getenv "PHP_SESSION_HASH_BITS_PER_CHARACTER" "5" }} -url_rewriter.tags = "{{ getenv "PHP_URL_REWRITER_TAGS" "a=href,area=href,frame=src,input=src,form=fakeentry" }}" -session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} -session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} -session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" -session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" -session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" -session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" - -[Assertion] -zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} -assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} - -[mbstring] -mbstring.http_input = {{ getenv "PHP_MBSTRING_HTTP_INPUT" "" }} -mbstring.http_output = {{ getenv "PHP_MBSTRING_HTTP_OUTPUT" "" }} -mbstring.encoding_translation = {{ getenv "PHP_MBSTRING_ENCODING_TRANSLATION" "Off" }} diff --git a/5.6/templates/id_rsa.tmpl b/5.6/templates/id_rsa.tmpl deleted file mode 100644 index 3fee5f15..00000000 --- a/5.6/templates/id_rsa.tmpl +++ /dev/null @@ -1 +0,0 @@ -{{ getenv "SSH_PRIVATE_KEY" }} \ No newline at end of file diff --git a/5.6/templates/ssh_config.tmpl b/5.6/templates/ssh_config.tmpl deleted file mode 100644 index 69bc5a2b..00000000 --- a/5.6/templates/ssh_config.tmpl +++ /dev/null @@ -1,55 +0,0 @@ -# $OpenBSD: ssh_config,v 1.30 2016/02/20 23:06:23 sobrado Exp $ - -# This is the ssh client system-wide configuration file. See -# ssh_config(5) for more information. This file provides defaults for -# users, and the values can be changed in per-user configuration files -# or on the command line. - -# Configuration data is parsed as follows: -# 1. command line options -# 2. user-specific file -# 3. system-wide file -# Any configuration value is only changed the first time it is set. -# Thus, host-specific definitions should be at the beginning of the -# configuration file, and defaults at the end. - -# Site-wide defaults for some commonly used options. For a comprehensive -# list of available options, their meanings and defaults, please see the -# ssh_config(5) man page. - -# Host * -# ForwardAgent no -# ForwardX11 no -# RhostsRSAAuthentication no -# RSAAuthentication yes -# PasswordAuthentication yes -# HostbasedAuthentication no -# GSSAPIAuthentication no -# GSSAPIDelegateCredentials no -# BatchMode no -# CheckHostIP yes -# AddressFamily any -# ConnectTimeout 0 -# StrictHostKeyChecking ask -# IdentityFile ~/.ssh/identity -# IdentityFile ~/.ssh/id_rsa -# IdentityFile ~/.ssh/id_dsa -# IdentityFile ~/.ssh/id_ecdsa -# IdentityFile ~/.ssh/id_ed25519 -# Port 22 -# Protocol 2 -# Cipher 3des -# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc -# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160 -# EscapeChar ~ -# Tunnel no -# TunnelDevice any:any -# PermitLocalCommand no -# VisualHostKey no -# ProxyCommand ssh -q -W %h:%p gateway.example.com -# RekeyLimit 1G 1h - -{{ if getenv "SSH_DISABLE_STRICT_KEY_CHECKING" }} -Host * - StrictHostKeyChecking no -{{ end }} \ No newline at end of file diff --git a/5.6/templates/sshd_config.tmpl b/5.6/templates/sshd_config.tmpl deleted file mode 100644 index 0188d49d..00000000 --- a/5.6/templates/sshd_config.tmpl +++ /dev/null @@ -1,121 +0,0 @@ -# $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $ - -# This is the sshd server system-wide configuration file. See -# sshd_config(5) for more information. - -# This sshd was compiled with PATH=/bin:/usr/bin:/sbin:/usr/sbin - -# The strategy used for options in the default sshd_config shipped with -# OpenSSH is to specify options with their default value where -# possible, but leave them commented. Uncommented options override the -# default value. - -#Port 22 -#AddressFamily any -#ListenAddress 0.0.0.0 -#ListenAddress :: - -{{ $keys_dir := (getenv "SSHD_HOST_KEYS_DIR" "/etc/ssh") }} -HostKey {{ $keys_dir }}/ssh_rsa_key -HostKey {{ $keys_dir }}/ssh_dsa_key -HostKey {{ $keys_dir }}/ssh_ecdsa_key -HostKey {{ $keys_dir }}/ssh_ed25519_key - -# Ciphers and keying -#RekeyLimit default none - -# Logging -#SyslogFacility AUTH -LogLevel {{ getenv "SSHD_LOG_LEVEL" "INFO" }} - -# Authentication: - -#LoginGraceTime 2m -#PermitRootLogin prohibit-password -#StrictModes yes -#MaxAuthTries 6 -#MaxSessions 10 - -PubkeyAuthentication yes - -# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 -# but this is overridden so installations will only check .ssh/authorized_keys -AuthorizedKeysFile .ssh/authorized_keys - -#AuthorizedPrincipalsFile none - -#AuthorizedKeysCommand none -#AuthorizedKeysCommandUser nobody - -# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts -#HostbasedAuthentication no -# Change to yes if you don't trust ~/.ssh/known_hosts for -# HostbasedAuthentication -#IgnoreUserKnownHosts no -# Don't read the user's ~/.rhosts and ~/.shosts files -#IgnoreRhosts yes - -# To disable tunneled clear text passwords, change to no here! -PasswordAuthentication {{ getenv "SSHD_PASSWORD_AUTHENTICATION" "no" }} -#PermitEmptyPasswords no - -# Change to no to disable s/key passwords -#ChallengeResponseAuthentication yes - -# Kerberos options -#KerberosAuthentication no -#KerberosOrLocalPasswd yes -#KerberosTicketCleanup yes -#KerberosGetAFSToken no - -# GSSAPI options -#GSSAPIAuthentication no -#GSSAPICleanupCredentials yes - -# UsePAM NOT SUPPORTED - -#AllowAgentForwarding yes -#AllowTcpForwarding yes -GatewayPorts {{ getenv "SSHD_GATEWAY_PORTS" "no" }} -#X11Forwarding no -#X11DisplayOffset 10 -#X11UseLocalhost yes -#PermitTTY yes -#PrintMotd yes -#PrintLastLog yes -#TCPKeepAlive yes -#UseLogin no -PermitUserEnvironment {{ getenv "SSHD_PERMIT_USER_ENV" "yes" }} -#Compression delayed -#ClientAliveInterval 0 -#ClientAliveCountMax 3 -UseDNS {{ getenv "SSHD_USE_DNS" "yes" }} -#PidFile /run/sshd.pid -#MaxStartups 10:30:100 -#PermitTunnel no -#ChrootDirectory none -#VersionAddendum none - -# no default banner path -#Banner none - -# override default of no subsystems -Subsystem sftp /usr/lib/ssh/sftp-server - -# the following are HPN related configuration options -# tcp receive buffer polling. disable in non autotuning kernels -#TcpRcvBufPoll yes - -# disable hpn performance boosts -#HPNDisabled no - -# buffer size for hpn to non-hpn connections -#HPNBufferSize 2048 - - -# Example of overriding settings on a per-user basis -#Match User anoncvs -# X11Forwarding no -# AllowTcpForwarding no -# PermitTTY no -# ForceCommand cvs server diff --git a/5.6/templates/wodby.settings.php.tmpl b/5.6/templates/wodby.settings.php.tmpl deleted file mode 100644 index a48e7c97..00000000 --- a/5.6/templates/wodby.settings.php.tmpl +++ /dev/null @@ -1,29 +0,0 @@ - /mnt/files/cron diff --git a/5.6/tests/docker-compose.yml b/5.6/tests/docker-compose.yml deleted file mode 100644 index cc2fe806..00000000 --- a/5.6/tests/docker-compose.yml +++ /dev/null @@ -1,38 +0,0 @@ -version: "2" - -services: - nginx: - image: wodby/nginx - environment: - NGINX_BACKEND_HOST: php - NGINX_VHOST_PRESET: php - depends_on: - - php - - sshd: - image: $IMAGE - command: sudo /usr/sbin/sshd -De - volumes: - - ./authorized_keys:/home/wodby/.ssh/authorized_keys - - php: - image: $IMAGE - environment: - SSH_DISABLE_STRICT_KEY_CHECKING: 1 - PHP_XDEBUG: 1 - PHP_BLACKFIRE: 1 - PHP_NEWRELIC_ENABLED: 1 - volumes: - - ./tests.sh:/usr/local/bin/tests.sh - - ./php_modules:/home/wodby/php_modules - - ./id_rsa:/home/wodby/.ssh/id_rsa - depends_on: - - sshd - - crond: - image: $IMAGE - command: sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond -f -d 0 - volumes: - - ./crontab:/etc/crontabs/www-data - depends_on: - - sshd diff --git a/5.6/tests/id_rsa b/5.6/tests/id_rsa deleted file mode 100644 index f7e7825b..00000000 --- a/5.6/tests/id_rsa +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIJKQIBAAKCAgEAokwbFJ7hz+qItITGFlbMtqaomcdXOyruYngI+GOKn5MWi1kQ -LO8MW3HvOmFKD3n2do4ZZJucMLN+zfgFkGk17p4rGEfuQDHGDmvt7UCA2NuxIpJS -Dr45pBCNoTm0n6SeNhmEg+PkTJNcgyubazEPJ6WFZ5SVMg+/bEn4cl4k+jph6GBs -NoyT3Yyga4TzXjd4O7x7CXT3k689/z/YgtiwIk8jXtduTc3eKAH30lxDpsHmb2SU -jbQFpBRMNoK1g0pUih1V/mSTLBSdpwNgndYd5CDjKEYnTdKG3ze/cUjy/AOcX/4W -AfxbyscU6S4rebgdXnaw8EDHyRd26/LELMtEwY+Y1/4SRS0LF9PXpd7I+/ky21PP -tDYCcJ88bqtnf76Wu2gGFnA7CmOS+DmBg1yJ9ZHfWOTFL5gvo/mW7l3NrT9gacZG -TCmY+dg0WSpGNOqw2rqMFh/DiHk7x967NykhIkutmhf6RVZGDGksAXzzCTkaaiSD -NBt/irauYXYYYfdxooYjUofb48AvTHMZzcTGV9DIljGuiZxlRPFRUHpzjPUMxS7x -5F/KgxlnAUautHZc8DEmMJDNB/OZd/WbNkjh2gSuOl2qk1cUoXNrem/hyxsnIAfI -l9V3Iy2SnUeZidtiqqm/feOyWM844FI8VIgRasYvOsYKeJtQ1B3mAKHEsdkCAwEA -AQKCAgEAgUJj/xRbfKCqqDtnGLug54fsmC1viCw1GC/J1SpSaa1YMzuH6oGpMduY -UMLTnWfhp6KdDsfwqckLoTd8Fvv0fEt0vy3qzy3VM/85y8+nzw+KEKLAwAU5GzYj -1tiCxvLxHt1L8U87sNFcyQueCM1V6Jmnmkt4WBq6tqBjQ5M/mBuPhufkx71Gtxkd -WwTUX6GGHO2MgIer9u+HTReodO3nuiuVXB/wNf9UhECtA9l/9/xOb0GIHyPVqkyQ -Non7zskQc7/RkX7AyEbTGQVTmeHChMK8qILXIuAdkwJvcuZKv/SQQtO263X2FZZh -TSX8ckD1Axs86NxvQfVyPZFoNNTfuJTVJGaRoa5cwNQtCAKtQ9BmasAarlre02Jb -xplj6N4elzYFPr7iQzZ0ae2weWs3oAriAG3e2Z6WZTbIbwnqTCMbVQlXBh+VggRK -ja5VS3bkJDoX6C6dWjcFPkGhCSyKjjKJ3Ixw47EoZN+k+jlWNEOmpGpz/Q8DzctK -mmA50zgmdHsj41W/saZ4dRBHbo3bdNY7Z9Fmk+wNTZD7KMfv6Hr/ajiERDewkvDd -tIrODvZdDANPrtUEFa5lQKJ3e8yp8wx/FVXLX45b9kw4PwUlyyEHi2GD2nR8vHv6 -EqPInQA7YTeUC165wRFEz7POVWjnVDzQv+wHKoURnMz8uA4JQFECggEBAM4NzSs6 -3XlG9M1Kpn/sNvLOPbP9ALZM9EQMEJrHvjMOEAfwzSWo5WiqRpLhKo/Fee1RPRn8 -db4vVztSXfKPh+3C3PeaE/ZHMIiDr+f0Xl+3+nHzmWfiKvjH1amBlAk0FRwQYD4r -YxhAGJnRy90KeXTxRoTcsguYhk5E72nBd4+x+QUecxI1r+gbFJa4DpVqBLGDbszP -jkoW/goZ+aLHxgq71lzWtHjjKoNqdzCI8LOYsTX+VSz3yYPXdAPLrpVaaITEb91Z -hdca1B2NZiE9HsSuV1ou+KZtG00MTnnN/7tnGqzTYXdYbbdHFywAg3sCKo4Nl/K9 -383OLwgd/MxJoT8CggEBAMmjFp2bWiBXg5AgDk0zGQrQ2rkfq+snJLwblj8HXoBp -tIO1Nh+fEAs2sdY1bmGvdKp9TItciIEcPL+dCLUKXOQHpTqX0a6GS///XECtQDTZ -eLAK6PC/FoBHbQE4aDj/5C2h5k32Hq0pLU+qwNhFF/KkV5ZZbg5oPUkyd3f3ARMM -SdFBnmqq7vkWGpYvVVZuORmUYeRb56uuVxO/DOfBMr5A+ikU8eN3cxpUKu9ZaUJd -RvbIRAztz/4dKsVLyBuOgeN8T8OzxAVI8HiUW3THAQQy68AkqEPvy9djujmU/yTx -uf753mBb4ZVa/ocjbM4Pt1JWMKSIk8yHXRy4AFQNTucCggEAL0l7jDA2I17lTzeS -fkj3U0GBZ4zoXO3MINGj/eFZBN51T10ztzDLdPmeuJZz7gqjsJK0MwJ9AuhaXILK -jJ/j0eymSSxS6HHt8WZHODQcdFsEXqJI0k5VDkLOBdh24KXTMl2PuLS8SRRskOBU -qKV+uhek11jOg1q9d7jaOKrthUySmVojjkpD1EBiuTQEJMXvzc0b4GTBgr9EDY1o -fLLcABqbVzLut89qMj58m+bRVmX0RS/Y3DkBRgBr33Me3aeh1NY/1cx1qqe9hgqt -JXOhXAGmiku9RHRFj6kDWXCs/5Tpyj+4XmsswqLN7osvoUsd+Pulo09vzQtEP9ih -6z/6gQKCAQEAocgX8jbedkqhRbdiojBYbGQsyhIOV2udvswHneSkvzWQ34g6t95g -+g5VW8CdIwWq/svv6XVCFQ159Gfjv5Zj95XmzX9YfsZEHk9eTopzlLPUcLMgOWGo -hR5J6IvAm9M82hwnc/AApwD92QjxF9VAJLAVko2Ij0i1u5AhaQCnPQhEBgC3QXCK -sxI4HL43o1Rmvg5fCOFwnUARn8dPbHeH5jyuOt4SQmbp1Hspw8cifFvo/0KpzxHU -K1hto8Vs9ic+Mi7gtO38Xh0qzCSEyMqPFzZgD1eaJoA1NklO9rqEiLjmeh0zfm7a -LYLH69fRiff0J7z95FWs+JK3c75yjP3siwKCAQBOAf1hryhPigHfG1JAgY2IxQp5 -WNVg2ClDamAd6dfVCo4dn+NXf6WNjgGxopcaCEMv7YG+QMusWDNxy1h/Ai5xUovW -505qh8C1RF8/JBl/Ow9AU1Dc6zT6bX49wN7/ZDxwEinYz/2nuMl/15XL0iMcWQqH -jMb2UfWbuyvn9WJi8wlVKwEulQy5DyqJZ4f9u/1fxuiC3X/WsfTJp4PdyYG35gRn -c64EObY0Br/IXsZXqOx0aXwtEkhZq864QlBzwEvuj81oenkOzSt+fvwCNR5HjFxZ -iWFfSRvJbky07BoT7SLrcFDNyXVhhorCHXiwav2wS/OwHo3tBiZ6qy5/xLoJ ------END RSA PRIVATE KEY----- diff --git a/5.6/tests/php_modules b/5.6/tests/php_modules deleted file mode 100644 index 2c306aff..00000000 --- a/5.6/tests/php_modules +++ /dev/null @@ -1,82 +0,0 @@ -[PHP Modules] -amqp -apc -apcu -bcmath -blackfire -bz2 -calendar -Core -ctype -curl -date -dom -ereg -event -exif -fileinfo -filter -ftp -gd -gmp -grpc -hash -iconv -igbinary -imagick -imap -intl -json -ldap -libxml -mbstring -mcrypt -memcached -mhash -mongodb -mysql -mysqli -mysqlnd -newrelic -OAuth -openssl -pcntl -pcre -PDO -pdo_mysql -pdo_pgsql -pdo_sqlite -pgsql -Phar -posix -rdkafka -readline -redis -Reflection -session -SimpleXML -soap -sockets -SPL -sqlite3 -standard -tidy -tokenizer -uploadprogress -uuid -xdebug -xml -xmlreader -xmlrpc -xmlwriter -xsl -yaml -Zend OPcache -zip -zlib - -[Zend Modules] -Xdebug -Zend OPcache -blackfire - diff --git a/5.6/tests/run.sh b/5.6/tests/run.sh deleted file mode 100755 index 5654d5c1..00000000 --- a/5.6/tests/run.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -git_url=https://github.com/wodby/php.git - -wait_for_cron() { - executed=0 - - for i in $(seq 1 13); do - if docker_exec crond cat /mnt/files/cron | grep -q "test"; then - executed=1 - break - fi - echo 'Waiting for cron execution...' - sleep 5 - done - - if [[ "${executed}" -eq '0' ]]; then - echo >&2 'Cron failed.' - exit 1 - fi - - echo 'Cron has been executed!' -} - -docker_exec() { - docker-compose exec "${@}" -} - -run_action() { - docker_exec "${1}" make "${@:2}" -f /usr/local/bin/actions.mk -} - -docker-compose up -d - -run_action php check-ready max_try=10 -run_action php migrate from=4.4.0 to=5.0.0 - -# PHP tools -docker_exec php tests.sh - -# SSH -echo -n "Testing ssh... " -docker_exec php touch /home/wodby/.ssh/known_hosts -docker_exec php ssh wodby@sshd cat /home/wodby/.ssh/authorized_keys | grep -q admin@example.com -echo "OK" - -# Git actions -echo -n "Running git actions... " -run_action php git-clone url="${git_url}" branch=master -run_action php git-checkout target=develop -echo "OK" - -# PHP-FPM -echo -n "Checking PHP-FPM... " -docker_exec php curl nginx | grep -q "Hello World!" -echo "OK" - -# Walter CD -echo -n "Running walter scripts... " -run_action php walter -docker_exec php cat ./walter-shell-stage -docker_exec php cat ./walter-command-stage -echo "OK" - -# Crond -wait_for_cron - -docker-compose down diff --git a/5.6/tests/tests.sh b/5.6/tests/tests.sh deleted file mode 100755 index 86ce8c44..00000000 --- a/5.6/tests/tests.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ -n "${DEBUG}" ]]; then - set -x -fi - -php -m > ~/php_modules.tmp -echo -n "Checking PHP modules... " - -# Modify copy, keep the mounted version untouched. -cp ~/php_modules ~/expected_modules - -if [[ -n "${PHP_DEBUG}" ]]; then - sed -i '/blackfire/d' ~/expected_modules - sed -i '/newrelic/d' ~/expected_modules -fi - -if ! cmp -s ~/php_modules.tmp ~/expected_modules; then - echo "Error. PHP modules are not identical." - diff ~/php_modules.tmp ~/expected_modules - exit 1 -fi - -echo "OK" - -echo -n "Checking composer... " -composer --version | grep -q 'Composer version' -echo "OK" - -echo -n "Checking walter... " -walter -v | grep -q 'Walter version' -echo "OK" diff --git a/7/Dockerfile b/7/Dockerfile index d73ccec3..4613e6cc 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -39,29 +39,29 @@ RUN set -xe; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \ apk add --update --no-cache -t .wodby-php-run-deps \ - c-client=2007f-r10 \ + c-client=2007f-r11 \ fcgi \ findutils \ - freetype=2.10.0-r0 \ + freetype=2.10.1-r0 \ git \ gmp=6.1.2-r1 \ icu-libs=64.2-r0 \ - imagemagick=7.0.8.68-r0 \ + imagemagick=7.0.9.7-r0 \ jpegoptim=1.4.6-r0 \ less \ - libbz2=1.0.6-r7 \ - libevent=2.1.10-r0 \ - libjpeg-turbo=2.0.3-r0 \ + libbz2=1.0.8-r1 \ + libevent=2.1.11-r0 \ + libjpeg-turbo=2.0.4-r0 \ libjpeg-turbo-utils \ - libldap=2.4.48-r0 \ - libltdl=2.4.6-r6 \ - libmemcached-libs=1.0.18-r3 \ + libldap=2.4.48-r1 \ + libltdl=2.4.6-r7 \ + libmemcached-libs=1.0.18-r4 \ libmcrypt=2.5.8-r7 \ libpng=1.6.37-r1 \ - librdkafka=1.0.1-r1 \ - libuuid=2.33.2-r0 \ - libwebp=1.0.2-r0 \ - libxslt=1.1.33-r3 \ + librdkafka=1.2.2-r0 \ + libuuid=2.34-r1 \ + libwebp=1.0.3-r0 \ + libxslt=1.1.34-r0 \ libzip=1.5.2-r0 \ make \ mariadb-client \ @@ -71,7 +71,7 @@ RUN set -xe; \ patch \ pngquant \ postgresql-client \ - rabbitmq-c=0.8.0-r5 \ + rabbitmq-c=0.10.0-r0 \ rsync \ su-exec \ sudo \ @@ -173,13 +173,6 @@ RUN set -xe; \ # Using pear as pecl throw errors: https://blog.flowl.info/2015/peclpear-behind-proxy-how-to/ pear config-set http_proxy "${PECL_HTTP_PROXY}"; \ fi; \ - # mcrypt moved to pecl in PHP 7.2 - if [[ "${PHP_VERSION:0:3}" == "7.2" ]]; then \ - pecl install mcrypt-1.0.3; \ - docker-php-ext-enable mcrypt; \ - elif [[ "${PHP_VERSION:0:3}" == "7.1" ]]; then \ - docker-php-ext-install mcrypt; \ - fi; \ \ # NewRelic extension and agent. newrelic_url="http://download.newrelic.com/php_agent/release/"; \ @@ -202,6 +195,7 @@ RUN set -xe; \ grpc-1.23.1 \ igbinary-3.0.1 \ imagick-3.4.4 \ + mcrypt-1.0.3 \ memcached-3.1.4 \ mongodb-1.6.0 \ oauth-2.0.4 \ @@ -220,6 +214,7 @@ RUN set -xe; \ igbinary \ imagick \ grpc \ + mcrypt \ memcached \ mongodb \ oauth \ @@ -233,14 +228,12 @@ RUN set -xe; \ # http://osmanov-dev-notes.blogspot.com/2013/07/fixing-php-start-up-error-unable-to.html mv /usr/local/etc/php/conf.d/docker-php-ext-event.ini /usr/local/etc/php/conf.d/z-docker-php-ext-event.ini; \ \ - if [[ "${PHP_VERSION:0:3}" != "7.4" ]]; then \ - # Blackfire extension (they have free tier). - mkdir -p /tmp/blackfire; \ - version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ - blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ - wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ - mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ - fi; \ + # Blackfire extension (they have free tier). + mkdir -p /tmp/blackfire; \ + version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"); \ + blackfire_url="https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/${version}"; \ + wget -qO- "${blackfire_url}" | tar xz --no-same-owner -C /tmp/blackfire; \ + mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so; \ \ # Uploadprogress. mkdir -p /usr/src/php/ext/uploadprogress; \ diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 3fefe6c7..95c530dd 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -68,9 +68,7 @@ process_templates() { export PHP_FPM_LOG_LEVEL="${PHP_FPM_LOG_LEVEL:-debug}" else # Extensions that don't work with --enabled-debug - if [[ "${php_ver_minor}" != "7.4" ]]; then - _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" - fi + _gotpl "docker-php-ext-blackfire.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-blackfire.ini" _gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini" fi @@ -79,12 +77,7 @@ process_templates() { _gotpl "docker-php-ext-igbinary.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini" _gotpl "docker-php-ext-tideways_xhprof.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-tideways_xhprof.ini" _gotpl "docker-php-ext-xdebug.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini" - - if [[ "${php_ver_minor}" == "7.1" ]]; then - _gotpl "docker-php-ext-opcache-7.1.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - else \ - _gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" - fi + _gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini" _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" diff --git a/7/templates/docker-php-7.1.ini.tmpl b/7/templates/docker-php-7.1.ini.tmpl deleted file mode 100644 index 9ee2558f..00000000 --- a/7/templates/docker-php-7.1.ini.tmpl +++ /dev/null @@ -1,82 +0,0 @@ -; This file user only to override default php.ini values -; BASIC SETTINGS: $PHP_INI_DIR/php.ini -; PHP-FPM SETTINGS: /usr/local/etc/php-fpm.d/zz-www.conf - -[PHP] -display_errors = {{ getenv "PHP_DISPLAY_ERRORS" "On" }} -display_startup_errors = {{ getenv "PHP_DISPLAY_STARTUP_ERRORS" "On" }} -expose_php = {{ getenv "PHP_EXPOSE" "Off" }} -max_execution_time = {{ getenv "PHP_MAX_EXECUTION_TIME" "120" }} -max_input_time = {{ getenv "PHP_MAX_INPUT_TIME" "60" }} -max_input_vars = {{ getenv "PHP_MAX_INPUT_VARS" "2000" }} -post_max_size = {{ getenv "PHP_POST_MAX_SIZE" "32M" }} -upload_max_filesize = {{ getenv "PHP_UPLOAD_MAX_FILESIZE" "32M" }} -max_file_uploads = {{ getenv "PHP_MAX_FILE_UPLOADS" "20" }} -allow_url_fopen = {{ getenv "PHP_ALLOW_URL_FOPEN" "On" }} -default_socket_timeout = {{ getenv "PHP_DEFAULT_SOCKET_TIMEOUT" "60" }} -output_buffering = {{ getenv "PHP_OUTPUT_BUFFERING" "4096" }} - -realpath_cache_size = {{ getenv "PHP_REALPATH_CACHE_SIZE" "4096k" }} -realpath_cache_ttl = {{ getenv "PHP_REALPATH_CACHE_TTL" "120" }} -memory_limit = {{ getenv "PHP_CLI_MEMORY_LIMIT" "-1" }} -error_reporting = {{ getenv "PHP_ERROR_REPORTING" "E_ALL" }} -log_errors = {{ getenv "PHP_LOG_ERRORS" "On" }} -log_errors_max_len = {{ getenv "PHP_LOG_ERRORS_MAX_LEN" "0" }} -track_errors = {{ getenv "PHP_TRACK_ERRORS" "On" }} -error_log = /proc/self/fd/2 -auto_prepend_file = {{ getenv "PHP_AUTO_PREPEND_FILE" }} -auto_append_file = {{ getenv "PHP_AUTO_APPEND_FILE" }} - -[Date] -date.timezone = {{ getenv "PHP_DATE_TIMEZONE" "UTC"}} - -[Pdo_mysql] -pdo_mysql.cache_size = {{ getenv "PHP_PDO_MYSQL_CACHE_SIZE" "2000" }} - -[Phar] -phar.readonly = {{ getenv "PHP_PHAR_READONLY" "1" }} -phar.require_hash = {{ getenv "PHP_PHAR_REQUIRE_HASH" "1" }} -phar.cache_list = {{ getenv "PHP_PHAR_CACHE_LIST" "" }} - -[mail function] -sendmail_path = {{ getenv "PHP_SENDMAIL_PATH" "/bin/true" }} - -[MySQLi] -mysqli.cache_size = {{ getenv "PHP_MYSQLI_CACHE_SIZE" "2000" }} - -[Session] -session.save_handler = {{ getenv "PHP_SESSION_SAVE_HANDLER" "files" }} -session.save_path = "{{ getenv "PHP_SESSION_SAVE_PATH" "/mnt/files/sessions" }}" -session.use_strict_mode = {{ getenv "PHP_SESSION_USE_STRICT_MODE" "0" }} -session.use_cookies = {{ getenv "PHP_SESSION_USE_COOKIES" "1" }} -session.cookie_secure = {{ getenv "PHP_SESSION_COOKIE_SECURE" "0" }} -session.use_only_cookies = {{ getenv "PHP_SESSION_USE_ONLY_COOKIES" "1" }} -session.name = {{ getenv "PHP_SESSION_NAME" "PHPSESSID" }} -session.auto_start = {{ getenv "PHP_SESSION_AUTO_START" "0" }} -session.cookie_lifetime = {{ getenv "PHP_SESSION_COOKIE_LIFETIME" "0" }} -session.cookie_path = {{ getenv "PHP_SESSION_COOKIE_PATH" "/" }} -session.cookie_domain = {{ getenv "PHP_SESSION_COOKIE_DOMAIN" }} -session.cookie_httponly = {{ getenv "PHP_SESSION_COOKIE_HTTPONLY" "0" }} -session.serialize_handler = {{ getenv "PHP_SESSION_SERIALIZE_HANDLER" "php" }} -session.gc_probability = {{ getenv "PHP_SESSION_GC_PROBABILITY" "1" }} -session.gc_divisor = {{ getenv "PHP_SESSION_GC_DIVISOR" "100" }} -session.gc_maxlifetime = {{ getenv "PHP_SESSION_GC_MAXLIFETIME" "1440" }} -session.referer_check = {{ getenv "PHP_SESSION_REFERER_CHECK" "" }} -session.cache_limiter = {{ getenv "PHP_SESSION_CACHE_LIMITER" "nocache" }} -session.cache_expire = {{ getenv "PHP_SESSION_CACHE_EXPIRE" "180" }} -session.use_trans_sid = {{ getenv "PHP_SESSION_USE_TRANS_SID" "0" }} -session.sid_length = {{ getenv "PHP_SESSION_SID_LENGTH" "26" }} -session.trans_sid_tags = "{{ getenv "PHP_SESSION_TRANS_SID_TAGS" "a=href,area=href,frame=src,form=" }}" -session.trans_sid_hosts = {{ getenv "PHP_SESSION_TRANS_SID_HOSTS" "" }} -session.sid_bits_per_character = {{ getenv "PHP_SESSION_SID_BITS_PER_CHARACTER" "5" }} -session.upload_progress.enabled = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_ENABLED" "on" }} -session.upload_progress.cleanup = {{ getenv "PHP_SESSION_UPLOAD_PROGRESS_CLEANUP" "on" }} -session.upload_progress.prefix = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_PREFIX" "upload_progress_" }}" -session.upload_progress.name = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_NAME" "PHP_SESSION_UPLOAD_PROGRESS" }}" -session.upload_progress.freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_FREQ" "1%" }}" -session.upload_progress.min_freq = "{{ getenv "PHP_SESSION_UPLOAD_PROGRESS_MIN_FREQ" "1" }}" -session.lazy_write = {{ getenv "PHP_SESSION_LAZY_WRITE" "on" }} - -[Assertion] -zend.assertions = {{ getenv "PHP_ZEND_ASSERTIONS" "1" }} -assert.active = {{ getenv "PHP_ASSERT_ACTIVE" "On" }} \ No newline at end of file diff --git a/7/templates/docker-php-ext-opcache-7.1.ini.tmpl b/7/templates/docker-php-ext-opcache-7.1.ini.tmpl deleted file mode 100644 index b7bcb042..00000000 --- a/7/templates/docker-php-ext-opcache-7.1.ini.tmpl +++ /dev/null @@ -1,11 +0,0 @@ -[opcache] -zend_extension = opcache.so -opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }} -opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "1" }} -opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }} -opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "4000" }} -opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "128" }} -opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }} -opcache.fast_shutdown = {{ getenv "PHP_OPCACHE_FAST_SHUTDOWN" "1" }} -opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }} -opcache.huge_code_pages = {{ getenv "PHP_OPCACHE_HUGE_CODE_PAGES" "0" }} \ No newline at end of file diff --git a/7/tests/php_modules/7.1 b/7/tests/php_modules/7.1 deleted file mode 100644 index 098edd25..00000000 --- a/7/tests/php_modules/7.1 +++ /dev/null @@ -1,81 +0,0 @@ -[PHP Modules] -amqp -apcu -ast -bcmath -blackfire -bz2 -calendar -Core -ctype -curl -date -dom -ds -event -exif -fileinfo -filter -ftp -gd -gmp -grpc -hash -iconv -igbinary -imagick -imap -intl -json -ldap -libxml -mbstring -mcrypt -memcached -mongodb -mysqli -mysqlnd -newrelic -OAuth -openssl -pcntl -pcre -PDO -pdo_mysql -pdo_pgsql -pdo_sqlite -pgsql -Phar -posix -rdkafka -readline -redis -Reflection -session -SimpleXML -soap -sockets -SPL -sqlite3 -standard -tideways_xhprof -tidy -tokenizer -uploadprogress -uuid -xdebug -xml -xmlreader -xmlrpc -xmlwriter -xsl -yaml -Zend OPcache -zip -zlib - -[Zend Modules] -Xdebug -Zend OPcache -blackfire - diff --git a/7/tests/php_modules/7.4 b/7/tests/php_modules/7.4 index 26700a7c..a79a7ce8 100644 --- a/7/tests/php_modules/7.4 +++ b/7/tests/php_modules/7.4 @@ -3,6 +3,7 @@ amqp apcu ast bcmath +blackfire bz2 calendar Core @@ -76,4 +77,5 @@ zlib [Zend Modules] Xdebug Zend OPcache +blackfire diff --git a/README.md b/README.md index f9436f21..1ec181f4 100644 --- a/README.md +++ b/README.md @@ -38,24 +38,19 @@ About images: * [Travis CI builds](https://travis-ci.org/wodby/php) * [Docker Hub](https://hub.docker.com/r/wodby/php) -❗PHP 5.6 and 7.1 [has reached end of life](http://php.net/supported-versions.php) and no longer supported by PHP team, we strongly advise you to migrate to the latest stable 7.x version. - Supported tags and respective `Dockerfile` links: * `7.4`, `7`, `latest` [_(7/Dockerfile)_] * `7.3` [_(7/Dockerfile)_] * `7.2` [_(7/Dockerfile)_] -* `7.1` [_(7/Dockerfile)_] * `5.6`, `5` [_(5.6/Dockerfile)_] * `7.4-dev`, `7-dev`, `dev` [_(7/Dockerfile)_] * `7.3-dev` [_(7/Dockerfile)_] * `7.2-dev` [_(7/Dockerfile)_] -* `7.1-dev` [_(7/Dockerfile)_] * `5.6-dev`, `5-dev` [_(5.6/Dockerfile)_] * `7.4-dev-macos`, `7-dev-macos`, `dev-macos` [_(7/Dockerfile)_] * `7.3-dev-macos` [_(7/Dockerfile)_] * `7.2-dev-macos` [_(7/Dockerfile)_] -* `7.1-dev-macos` [_(7/Dockerfile)_] * `5.6-dev-macos`, `5-dev-macos` [_(5.6/Dockerfile)_] ### `-dev` @@ -87,92 +82,92 @@ Include all changes from `-dev` images and additionally: The default configuration is not recommended to be used for production environment: -| Variable | 7.4 | 7.3 | 7.2 | 7.1 | 5.6 | -| ------------------------------------- | ------------- | ------------- | ------------- | ------------- | ------------- | -| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | `On` | `On` | -| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | - | `0` | -| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | `0` | `0` | -| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | `4096` | `4096` | -| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | `0` | `0` | -| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | `3600` | `3600` | -| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | `NULL` | `NULL` | -| [`PHP_APCU_SERIALIZER`] | | | | | | -| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | `32M` | `32M` | -| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_APCU_TTL`] | `0` | `0` | `0` | `0` | `0` | -| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | `On` | `On` | -| [`PHP_AUTO_PREPEND_FILE`] | | | | | | -| [`PHP_AUTO_APPEND_FILE`] | | | | | | -| `PHP_BLACKFIRE` | - | | | | | -| `PHP_BLACKFIRE_AGENT_HOST` | - | `blackfire` | `blackfire` | `blackfire` | `blackfire` | -| `PHP_BLACKFIRE_AGENT_PORT` | - | `8707` | `8707` | `8707` | `8707` | -| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | `-1` | `-1` | -| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | `UTC` | `UTC` | -| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | `60` | `60` | -| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | `On` | `On` | -| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | `On` | `On` | -| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | `E_ALL` | -| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | `Off` | `Off` | -| `PHP_EXTENSIONS_DISABLE` | | | | | | -| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | `yes` | `yes` | -| `PHP_FPM_ENV_VARS` | | | | | | -| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | `notice` | `notice` | -| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | `dynamic` | `dynamic` | -| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | `8` | `8` | -| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | `500` | `500` | -| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | `3` | `3` | -| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_FPM_PM_STATUS_PATH`] | | | | | | -| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | | | -| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | `2` | `2` | -| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | `www-data` | `www-data` | -| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | `www-data` | `www-data` | -| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | `On` | `On` | -| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | `0` | `0` | -| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | `120` | `120` | -| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | `20` | `20` | -| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | `60` | `60` | -| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | `2000` | `2000` | -| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | - | | -| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | - | | -| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | - | `Off` | -| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | `512M` | `512M` | -| `PHP_MYSQL_CACHE_SIZE` | - | - | - | - | `2000` | -| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | `2000` | `2000` | -| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | `false` | `false` | -| [`PHP_NEWRELIC_LICENSE`] | | | | | | -| _see all newrelic ext options_ | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | [5.6 newrelic] | -| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | `0` | `0` | -| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | `2` | `2` | -| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | `4000` | `4000` | -| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | `128` | `128` | -| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | `8` | `8` | -| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | - | `1` | `1` | -| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | `0` | - | -| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | `4096` | `4096` | -| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | - | `2000` | `2000` | `2000` | -| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | `1` | `1` | -| [`PHP_PHAR_CACHE_LIST`] | | | | | | -| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | `32M` | `32M` | -| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | `4096k` | `16k` | -| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | `120` | `120` | -| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | `/bin/true` | -| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | `files` | `files` | -| _see all session options_ | [7.4 session] | [7.3 session] | [7.2 session] | [7.1 session] | [5.6 session] | -| `PHP_XHPROF` | | | | | - | -| [`PHP_TRACK_ERRORS`] | - | - | - | `On` | `On` | -| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | `32M` | `32M` | -| `PHP_XDEBUG` | | | | | | -| [`PHP_XDEBUG_DEFAULT_ENABLE`] | `0` | `0` | `0` | `0` | `0` | -| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | [5.6 xdebug] | -| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | `1` | `1` | +| Variable | 7.4 | 7.3 | 7.2 | +| ------------------------------------- | ------------- | ------------- | ------------- | +| [`PHP_ALLOW_URL_FOPEN`] | `On` | `On` | `On` | +| [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`] | - | - | - | +| [`PHP_APCU_ENABLE_CLI`] | `0` | `0` | `0` | +| [`PHP_APCU_ENABLED`] | `1` | `1` | `1` | +| [`PHP_APCU_ENTRIES_HINT`] | `4096` | `4096` | `4096` | +| [`PHP_APCU_COREDUMP_UNMAP`] | `0` | `0` | `0` | +| [`PHP_APCU_GC_TTL`] | `3600` | `3600` | `3600` | +| [`PHP_APCU_PRELOAD_PATH`] | `NULL` | `NULL` | `NULL` | +| [`PHP_APCU_SERIALIZER`] | | | | +| [`PHP_APCU_SHM_SEGMENTS`] | `1` | `1` | `1` | +| [`PHP_APCU_SHM_SIZE`] | `32M` | `32M` | `32M` | +| [`PHP_APCU_SLAM_DEFENSE`] | `1` | `1` | `1` | +| [`PHP_APCU_TTL`] | `0` | `0` | `0` | +| [`PHP_APCU_USE_REQUEST_TIME`] | `1` | `1` | `1` | +| [`PHP_ASSERT_ACTIVE`] | `On` | `On` | `On` | +| [`PHP_AUTO_PREPEND_FILE`] | | | | +| [`PHP_AUTO_APPEND_FILE`] | | | | +| `PHP_BLACKFIRE` | | | | +| `PHP_BLACKFIRE_AGENT_HOST` | `blackfire` | `blackfire` | `blackfire` | +| `PHP_BLACKFIRE_AGENT_PORT` | `8707` | `8707` | `8707` | +| `PHP_CLI_MEMORY_LIMIT` | `-1` | `-1` | `-1` | +| [`PHP_DATE_TIMEZONE`] | `UTC` | `UTC` | `UTC` | +| [`PHP_DEFAULT_SOCKET_TIMEOUT`] | `60` | `60` | `60` | +| [`PHP_DISPLAY_ERRORS`] | `On` | `On` | `On` | +| [`PHP_DISPLAY_STARTUP_ERRORS`] | `On` | `On` | `On` | +| [`PHP_ERROR_REPORTING`] | `E_ALL` | `E_ALL` | `E_ALL` | +| [`PHP_EXPOSE`] | `Off` | `Off` | `Off` | +| `PHP_EXTENSIONS_DISABLE` | | | | +| [`PHP_FPM_CLEAR_ENV`]* | `yes` | `yes` | `yes` | +| `PHP_FPM_ENV_VARS` | | | | +| [`PHP_FPM_LOG_LEVEL`]* | `notice` | `notice` | `notice` | +| [`PHP_FPM_PM`] | `dynamic` | `dynamic` | `dynamic` | +| [`PHP_FPM_PM_MAX_CHILDREN`] | `8` | `8` | `8` | +| [`PHP_FPM_PM_MAX_REQUESTS`] | `500` | `500` | `500` | +| [`PHP_FPM_PM_MAX_SPARE_SERVERS`] | `3` | `3` | `3` | +| [`PHP_FPM_PM_MIN_SPARE_SERVERS`] | `1` | `1` | `1` | +| [`PHP_FPM_PM_STATUS_PATH`] | | | | +| [`PHP_FPM_REQUEST_SLOWLOG_TIMEOUT`] | | | | +| [`PHP_FPM_PM_START_SERVERS`] | `2` | `2` | `2` | +| [`PHP_FPM_USER`] | `www-data` | `www-data` | `www-data` | +| [`PHP_FPM_GROUP`] | `www-data` | `www-data` | `www-data` | +| `PHP_IGBINARY_COMPACT_STRINGS` | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS`] | `On` | `On` | `On` | +| [`PHP_LOG_ERRORS_MAX_LEN`] | `0` | `0` | `0` | +| [`PHP_MAX_EXECUTION_TIME`] | `120` | `120` | `120` | +| [`PHP_MAX_FILE_UPLOADS`] | `20` | `20` | `20` | +| [`PHP_MAX_INPUT_TIME`] | `60` | `60` | `60` | +| [`PHP_MAX_INPUT_VARS`] | `2000` | `2000` | `2000` | +| [`PHP_MBSTRING_HTTP_INPUT`] | - | - | - | +| [`PHP_MBSTRING_HTTP_OUTPUT`] | - | - | - | +| [`PHP_MBSTRING_ENCODING_TRANSLATION`] | - | - | - | +| [`PHP_MEMORY_LIMIT`] | `512M` | `512M` | `512M` | +| `PHP_MYSQL_CACHE_SIZE` | - | - | - | +| [`PHP_MYSQLI_CACHE_SIZE`] | `2000` | `2000` | `2000` | +| [`PHP_NEWRELIC_ENABLED`] | `false` | `false` | `false` | +| [`PHP_NEWRELIC_LICENSE`] | | | | +| _see all newrelic ext options_ | [7.x newrelic] | [7.x newrelic] | [7.x newrelic] | +| [`PHP_OPCACHE_ENABLE`] | `1` | `1` | `1` | +| [`PHP_OPCACHE_ENABLE_CLI`] | `0` | `0` | `0` | +| [`PHP_OPCACHE_VALIDATE_TIMESTAMPS`] | `1` | `1` | `1` | +| [`PHP_OPCACHE_REVALIDATE_FREQ`] | `2` | `2` | `2` | +| [`PHP_OPCACHE_MAX_ACCELERATED_FILES`] | `4000` | `4000` | `4000` | +| [`PHP_OPCACHE_MEMORY_CONSUMPTION`] | `128` | `128` | `128` | +| [`PHP_OPCACHE_INTERNED_STRINGS_BUFFER`] | `8` | `8` | `8` | +| [`PHP_OPCACHE_FAST_SHUTDOWN`] | - | - | - | +| [`PHP_OPCACHE_HUGE_CODE_PAGES`] | `0` | `0` | `0` | +| [`PHP_OUTPUT_BUFFERING`] | `4096` | `4096` | `4096` | +| [`PHP_PDO_MYSQL_CACHE_SIZE`] | - | - | `2000` | +| [`PHP_PHAR_READONLY`] | `1` | `1` | `1` | +| [`PHP_PHAR_REQUIRE_HASH`] | `1` | `1` | `1` | +| [`PHP_PHAR_CACHE_LIST`] | | | | +| [`PHP_POST_MAX_SIZE`] | `32M` | `32M` | `32M` | +| [`PHP_REALPATH_CACHE_SIZE`] | `4096k` | `4096k` | `4096k` | +| [`PHP_REALPATH_CACHE_TTL`] | `120` | `120` | `120` | +| [`PHP_SENDMAIL_PATH`] | `/bin/true` | `/bin/true` | `/bin/true` | +| [`PHP_SESSION_SAVE_HANDLER`] | `files` | `files` | `files` | +| _see all session options_ | [7.4 session] | [7.3 session] | [7.2 session] | +| `PHP_XHPROF` | | | | +| [`PHP_TRACK_ERRORS`] | - | - | - | +| [`PHP_UPLOAD_MAX_FILESIZE`] | `32M` | `32M` | `32M` | +| `PHP_XDEBUG` | | | | +| [`PHP_XDEBUG_DEFAULT_ENABLE`] | `0` | `0` | `0` | +| _see all xdebug ext options_ | [7.x xdebug] | [7.x xdebug] | [7.x xdebug] | +| [`PHP_ZEND_ASSERTIONS`] | `1` | `1` | `1` | > "-" - Not available for this version @@ -209,85 +204,85 @@ Change `WODBY_USER_ID` and `WODBY_GROUP_ID` mainly for local dev version of imag You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated by `,`, e.g. `$PHP_EXTENSIONS_DISABLE=event,ds` -| Extension | 7.4 | 7.3 | 7.2 | 7.1 | 5.6 | -| ---------------- | -------- | -------- | -------- | -------- | -------- | -| [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | 1.9.4 | -| apc | - | - | - | - | - | -| [apcu] | 5.1.18 | 5.1.18 | 5.1.18 | 5.1.18 | 4.0.11 | -| [ast] | 1.0.5 | 1.0.5 | 1.0.5 | 1.0.5 | - | -| [blackfire] | - | latest | latest | latest | latest | -| bcmath | | | | | | -| bz2 | | | | | | -| calendar | | | | | | -| Core | | | | | | -| ctype | | | | | | -| curl | | | | | | -| date | | | | | | -| dom | | | | | | -| [ds] | 1.2.9 | 1.2.9 | 1.2.9 | 1.2.9 | - | -| exif | | | | | | -| ereg | - | - | - | - | | -| [event] | 2.5.3 | 2.5.3 | 2.5.3 | 2.5.3 | 2.5.3 | -| fileinfo | | | | | | -| filter | | | | | | -| ftp | | | | | | -| gd | | | | | | -| [grpc] | 1.23.1 | 1.23.1 | 1.23.1 | 1.23.1 | 1.23.1 | -| hash | | | | | | -| iconv | | | | | | -| [igbinary] | 3.0.1 | 3.0.1 | 3.0.1 | 3.0.1 | 2.0.8 | -| [imagick] | 3.4.4 | 3.4.4 | 3.4.4 | 3.4.4 | 3.4.4 | -| imap | | | | | | -| intl | | | | | | -| json | | | | | | -| ldap | | | | | | -| libxml | | | | | | -| mbstring | | | | | | -| mcrypt | - | - | [1.0.3] | | | -| [memcached] | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 | 2.2.0 | -| [mongodb] | 1.6.0 | 1.6.0 | 1.6.0 | 1.6.0 | 1.6.0 | -| mysql | - | - | - | - | | -| mysqli | | | | | | -| mysqlnd | | | | | | -| [newrelic] | latest | latest | latest | latest | latest | -| [OAuth] | 2.0.4 | 2.0.4 | 2.0.4 | 2.0.4 | 1.2.3 | -| openssl | | | | | | -| pcntl | | | | | | -| pcre | | | | | | -| PDO | | | | | | -| pdo_mysql | | | | | | -| pdo_pgsql | | | | | | -| pdo_sqlite | | | | | | -| pgsql | | | | | | -| Phar | | | | | | -| posix | | | | | | -| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | 3.1.2 | 3.1.2 | -| readline | | | | | | -| [redis] | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 | 4.3.0 | -| Reflection | | | | | | -| session | | | | | | -| SimpleXML | | | | | | -| soap | | | | | | -| sockets | | | | | | -| sodium | | | | - | - | -| SPL | | | | | | -| sqlite3 | | | | | | -| standard | | | | | | -| [tideways_xhprof] | v5.0-beta3 | v5.0-beta3 | v5.0-beta3 | v5.0-beta3 | | -| tidy | | | | | | -| tokenizer | | | | | | -| [uploadprogress] | [latest] | [latest] | [latest] | [latest] | 1.0.3.1 | -| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | 2.8.0 | 2.8.0 | 2.8.0 | 2.8.0 | 2.5.5 | -| xml | | | | | | -| xmlreader | | | | | | -| xmlrpc | | | | | | -| xmlwriter | | | | | | -| xsl | | | | | | -| [yaml] | 2.0.4 | 2.0.4 | 2.0.4 | 2.0.4 | 1.3.1 | -| Zend OPcache | | | | | | -| zip | | | | | | -| zlib | | | | | | +| Extension | 7.4 | 7.3 | 7.2 | +| ---------------- | -------- | -------- | -------- | +| [amqp] | 1.9.4 | 1.9.4 | 1.9.4 | +| apc | - | - | - | +| [apcu] | 5.1.18 | 5.1.18 | 5.1.18 | +| [ast] | 1.0.5 | 1.0.5 | 1.0.5 | +| [blackfire] | latest | latest | latest | +| bcmath | | | | +| bz2 | | | | +| calendar | | | | +| Core | | | | +| ctype | | | | +| curl | | | | +| date | | | | +| dom | | | | +| [ds] | 1.2.9 | 1.2.9 | 1.2.9 | +| exif | | | | +| ereg | - | - | - | +| [event] | 2.5.3 | 2.5.3 | 2.5.3 | +| fileinfo | | | | +| filter | | | | +| ftp | | | | +| gd | | | | +| [grpc] | 1.23.1 | 1.23.1 | 1.23.1 | +| hash | | | | +| iconv | | | | +| [igbinary] | 3.0.1 | 3.0.1 | 3.0.1 | +| [imagick] | 3.4.4 | 3.4.4 | 3.4.4 | +| imap | | | | +| intl | | | | +| json | | | | +| ldap | | | | +| libxml | | | | +| mbstring | | | | +| [mcrypt] | 1.0.3 | 1.0.3 | 1.0.3 | +| [memcached] | 3.1.4 | 3.1.4 | 3.1.4 | +| [mongodb] | 1.6.0 | 1.6.0 | 1.6.0 | +| mysql | - | - | - | +| mysqli | | | | +| mysqlnd | | | | +| [newrelic] | latest | latest | latest | +| [OAuth] | 2.0.4 | 2.0.4 | 2.0.4 | +| openssl | | | | +| pcntl | | | | +| pcre | | | | +| PDO | | | | +| pdo_mysql | | | | +| pdo_pgsql | | | | +| pdo_sqlite | | | | +| pgsql | | | | +| Phar | | | | +| posix | | | | +| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | +| readline | | | | +| [redis] | 4.3.0 | 4.3.0 | 4.3.0 | +| Reflection | | | | +| session | | | | +| SimpleXML | | | | +| soap | | | | +| sockets | | | | +| sodium | | | | +| SPL | | | | +| sqlite3 | | | | +| standard | | | | +| [tideways_xhprof] | v5.0-beta3 | v5.0-beta3 | v5.0-beta3 | +| tidy | | | | +| tokenizer | | | | +| [uploadprogress] | [latest] | [latest] | [latest] | +| [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | +| [xdebug] | 2.8.0 | 2.8.0 | 2.8.0 | +| xml | | | | +| xmlreader | | | | +| xmlrpc | | | | +| xmlwriter | | | | +| xsl | | | | +| [yaml] | 2.0.4 | 2.0.4 | 2.0.4 | +| Zend OPcache | | | | +| zip | | | | +| zlib | | | | Legend: @@ -299,10 +294,10 @@ Extensions xdebug, blackfire and xhprof disabled by default. ## Tools -| Tool | 7.4 | 7.3 | 7.2 | 7.1 | 5.6 | -| ---------------------------------------------------------- | ------- | ------- | ------- | ------- | ------- | -| [Composer](https://getcomposer.org) | latest | latest | latest | latest | latest | -| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 | 1.4.0 | +| Tool | 7.4 | 7.3 | 7.2 | +| ---------------------------------------------------------- | ------- | ------- | ------- | +| [Composer](https://getcomposer.org) | latest | latest | latest | +| [Walter](https://github.com/walter-cd/walter) (deprecated) | 1.4.0 | 1.4.0 | 1.4.0 | ## Libraries @@ -392,7 +387,6 @@ default params values: [7.4 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.4.ini.tmpl [7.3 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.3.ini.tmpl [7.2 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl -[7.1 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.1.ini.tmpl [5.6 session]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen @@ -486,6 +480,7 @@ default params values: [grpc]: https://pecl.php.net/package/grpc [igbinary]: https://pecl.php.net/package/igbinary [imagick]: https://pecl.php.net/package/imagick +[mcrypt]: http://pecl.php.net/package/mcrypt [memcached]: http://pecl.php.net/package/memcached [mongo]: http://pecl.php.net/package/mongo [mongodb]: http://pecl.php.net/package/mongodb From 4241eb5ea28bb7fa96bfd95b5a7315c5150dd295 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Tue, 21 Jan 2020 12:08:11 +0700 Subject: [PATCH 520/559] Fix tests --- 7/tests/php_modules/7.3 | 1 + 7/tests/php_modules/7.4 | 1 + 2 files changed, 2 insertions(+) diff --git a/7/tests/php_modules/7.3 b/7/tests/php_modules/7.3 index a79a7ce8..e4ece08e 100644 --- a/7/tests/php_modules/7.3 +++ b/7/tests/php_modules/7.3 @@ -30,6 +30,7 @@ json ldap libxml mbstring +mcrypt memcached mongodb mysqli diff --git a/7/tests/php_modules/7.4 b/7/tests/php_modules/7.4 index a79a7ce8..e4ece08e 100644 --- a/7/tests/php_modules/7.4 +++ b/7/tests/php_modules/7.4 @@ -30,6 +30,7 @@ json ldap libxml mbstring +mcrypt memcached mongodb mysqli From 19eba67ab5ad7015843433f8d1f566439166f636 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 22 Jan 2020 04:55:33 +0000 Subject: [PATCH 521/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 7d079e86..c1b2f11a 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.4.1#2020-01-20T07:28:33.167477Z -7.3.3#2020-01-20T07:29:25.000301Z -7.2.16#2020-01-20T07:28:49.01275Z +7.4.1#2020-01-21T04:25:40.250567Z +7.3.3#2020-01-21T04:25:29.005125Z +7.2.16#2020-01-21T04:25:19.722382Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From 6ce8205d16b56f8931820f1d3a043a9ebd610c91 Mon Sep 17 00:00:00 2001 From: Wodby Date: Wed, 22 Jan 2020 22:52:13 +0000 Subject: [PATCH 522/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index c1b2f11a..b1fc7983 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,4 @@ -7.4.1#2020-01-21T04:25:40.250567Z -7.3.3#2020-01-21T04:25:29.005125Z -7.2.16#2020-01-21T04:25:19.722382Z +7.4.1#2020-01-22T05:01:07.648307Z +7.3.3#2020-01-22T05:01:15.824407Z +7.2.16#2020-01-22T05:01:19.630989Z 5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file From 7f35839a4ec2a27e9519c4c63594a739ad923f28 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 23 Jan 2020 17:03:33 +0700 Subject: [PATCH 523/559] Clean up 5.6 info --- .base-php | 3 +-- README.md | 9 --------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/.base-php b/.base-php index b1fc7983..2a3dc7c0 100644 --- a/.base-php +++ b/.base-php @@ -1,4 +1,3 @@ 7.4.1#2020-01-22T05:01:07.648307Z 7.3.3#2020-01-22T05:01:15.824407Z -7.2.16#2020-01-22T05:01:19.630989Z -5.6.40#2019-02-01T20:00:43.44326Z \ No newline at end of file +7.2.16#2020-01-22T05:01:19.630989Z \ No newline at end of file diff --git a/README.md b/README.md index 1ec181f4..8557abe8 100644 --- a/README.md +++ b/README.md @@ -43,15 +43,12 @@ Supported tags and respective `Dockerfile` links: * `7.4`, `7`, `latest` [_(7/Dockerfile)_] * `7.3` [_(7/Dockerfile)_] * `7.2` [_(7/Dockerfile)_] -* `5.6`, `5` [_(5.6/Dockerfile)_] * `7.4-dev`, `7-dev`, `dev` [_(7/Dockerfile)_] * `7.3-dev` [_(7/Dockerfile)_] * `7.2-dev` [_(7/Dockerfile)_] -* `5.6-dev`, `5-dev` [_(5.6/Dockerfile)_] * `7.4-dev-macos`, `7-dev-macos`, `dev-macos` [_(7/Dockerfile)_] * `7.3-dev-macos` [_(7/Dockerfile)_] * `7.2-dev-macos` [_(7/Dockerfile)_] -* `5.6-dev-macos`, `5-dev-macos` [_(5.6/Dockerfile)_] ### `-dev` @@ -376,18 +373,12 @@ default params values: ``` [_(7/Dockerfile)_]: https://github.com/wodby/php/tree/master/7/Dockerfile -[_(5.6/Dockerfile)_]: https://github.com/wodby/php/tree/master/5.6/Dockerfile [7.x xdebug]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-xdebug.ini.tmpl -[5.6 xdebug]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-xdebug.ini.tmpl - [7.x newrelic]: https://github.com/wodby/php/tree/master/7/templates/docker-php-ext-newrelic.ini.tmpl -[5.6 newrelic]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php-ext-newrelic.ini.tmpl - [7.4 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.4.ini.tmpl [7.3 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.3.ini.tmpl [7.2 session]: https://github.com/wodby/php/tree/master/7/templates/docker-php-7.2.ini.tmpl -[5.6 session]: https://github.com/wodby/php/tree/master/5.6/templates/docker-php.ini.tmpl [`PHP_ALLOW_URL_FOPEN`]: http://php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen [`PHP_ALWAYS_POPULATE_RAW_POST_DATA`]: http://php.net/always-populate-raw-post-data From 88c7b707a133f7fcf8c573764afc4b3d56b48e73 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 24 Jan 2020 22:52:24 +0000 Subject: [PATCH 524/559] Update php to 7.4.2 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 2a3dc7c0..0b6a7cd2 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.1#2020-01-22T05:01:07.648307Z +7.4.2#2020-01-23T22:58:39.257232Z 7.3.3#2020-01-22T05:01:15.824407Z 7.2.16#2020-01-22T05:01:19.630989Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 43142316..6a8ea3ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP74=7.4.1 + - PHP74=7.4.2 - PHP73=7.3.13 - PHP72=7.2.26 matrix: diff --git a/7/Makefile b/7/Makefile index 22851ea9..f125d34c 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.4.1 +PHP_VER ?= 7.4.2 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 036b2088b1021b8c3e61921a7515253374daf8ec Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 24 Jan 2020 22:52:25 +0000 Subject: [PATCH 525/559] Update php to 7.3.14 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6a8ea3ad..d4e23090 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP74=7.4.2 - - PHP73=7.3.13 + - PHP73=7.3.14 - PHP72=7.2.26 matrix: - PHP_VER="${PHP74}" TAGS=7.4,7,latest From b331b5f057e5325c6619e90d03d0735a18e7d161 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 24 Jan 2020 22:52:26 +0000 Subject: [PATCH 526/559] Update php to 7.2.27 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d4e23090..d3f9cea8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP74=7.4.2 - PHP73=7.3.14 - - PHP72=7.2.26 + - PHP72=7.2.27 matrix: - PHP_VER="${PHP74}" TAGS=7.4,7,latest - PHP_VER="${PHP73}" TAGS=7.3 From 08e13373b8f6ac32852ce314522bbfed3ea89e5c Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 24 Jan 2020 22:53:28 +0000 Subject: [PATCH 527/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 0b6a7cd2..cc2275b6 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.2#2020-01-23T22:58:39.257232Z -7.3.3#2020-01-22T05:01:15.824407Z -7.2.16#2020-01-22T05:01:19.630989Z \ No newline at end of file +7.4.2#2020-01-23T22:58:41.203244Z +7.3.3#2020-01-23T22:58:46.205746Z +7.2.16#2020-01-23T22:58:20.420311Z \ No newline at end of file From 939fc7e58849bfea96c48be7dd34a6a1d361e3f1 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 25 Jan 2020 22:53:41 +0000 Subject: [PATCH 528/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index cc2275b6..e9484b6b 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.2#2020-01-23T22:58:41.203244Z -7.3.3#2020-01-23T22:58:46.205746Z -7.2.16#2020-01-23T22:58:20.420311Z \ No newline at end of file +7.4.2#2020-01-24T22:59:07.041768Z +7.3.3#2020-01-24T22:59:26.618084Z +7.2.16#2020-01-24T22:58:54.067874Z \ No newline at end of file From d517a6222980521d2499a175ef69de2f62b52364 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 12 Feb 2020 09:59:48 +0700 Subject: [PATCH 529/559] Update xdebug to 2.9.2 #98 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 4613e6cc..febe5bf5 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -202,7 +202,7 @@ RUN set -xe; \ rdkafka-3.1.2 \ redis-4.3.0 \ uuid-1.0.4 \ - xdebug-2.8.0 \ + xdebug-2.9.2 \ yaml-2.0.4; \ \ docker-php-ext-enable \ diff --git a/README.md b/README.md index 8557abe8..03042eae 100644 --- a/README.md +++ b/README.md @@ -270,7 +270,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | tokenizer | | | | | [uploadprogress] | [latest] | [latest] | [latest] | | [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | 2.8.0 | 2.8.0 | 2.8.0 | +| [xdebug] | 2.9.2 | 2.9.2 | 2.9.2 | | xml | | | | | xmlreader | | | | | xmlrpc | | | | From c84ec23e42ee3e629e81fad9bf6af4721d58651b Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Wed, 12 Feb 2020 10:04:37 +0700 Subject: [PATCH 530/559] Add libxml2 https://github.com/wodby/docker4drupal/issues/421 --- 7/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/7/Dockerfile b/7/Dockerfile index febe5bf5..bb171540 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -61,6 +61,7 @@ RUN set -xe; \ librdkafka=1.2.2-r0 \ libuuid=2.34-r1 \ libwebp=1.0.3-r0 \ + libxml2=2.9.10-r2 \ libxslt=1.1.34-r0 \ libzip=1.5.2-r0 \ make \ From 544532ee981d9f2e7b4b696d6e00361fca74b07b Mon Sep 17 00:00:00 2001 From: Chingis Date: Wed, 19 Feb 2020 15:37:45 +0700 Subject: [PATCH 531/559] Update init_container --- 7/bin/init_container | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/bin/init_container b/7/bin/init_container index e506c29e..0c5361e4 100755 --- a/7/bin/init_container +++ b/7/bin/init_container @@ -23,7 +23,7 @@ fi for dir in "${dirs[@]}"; do mkdir -p "${dir}" - chown www-data:www-data "${dir}" + chown -R www-data:www-data "${dir}" chmod 775 "${dir}" done From 68b011cf6aee6fca7ce34a71f6ff05f0fd7ac577 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 21 Feb 2020 23:09:30 +0000 Subject: [PATCH 532/559] Update php to 7.4.3 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index e9484b6b..fe39b9c0 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.2#2020-01-24T22:59:07.041768Z +7.4.3#2020-02-20T23:15:31.902094Z 7.3.3#2020-01-24T22:59:26.618084Z 7.2.16#2020-01-24T22:58:54.067874Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index d3f9cea8..b6ca9bf3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP74=7.4.2 + - PHP74=7.4.3 - PHP73=7.3.14 - PHP72=7.2.27 matrix: diff --git a/7/Makefile b/7/Makefile index f125d34c..31516a5f 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.4.2 +PHP_VER ?= 7.4.3 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From 7e2cd0a249cd1ca38d21e656f4d01fdbd38dcae2 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 21 Feb 2020 23:09:31 +0000 Subject: [PATCH 533/559] Update php to 7.3.15 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b6ca9bf3..fa6eb71b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP74=7.4.3 - - PHP73=7.3.14 + - PHP73=7.3.15 - PHP72=7.2.27 matrix: - PHP_VER="${PHP74}" TAGS=7.4,7,latest From 060574fe75015f05264f79f93087403db6d7a87c Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 21 Feb 2020 23:09:32 +0000 Subject: [PATCH 534/559] Update php to 7.2.28 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fa6eb71b..c961fa0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP74=7.4.3 - PHP73=7.3.15 - - PHP72=7.2.27 + - PHP72=7.2.28 matrix: - PHP_VER="${PHP74}" TAGS=7.4,7,latest - PHP_VER="${PHP73}" TAGS=7.3 From ac0e2afcdf9d6430ce22fdfc00aa9d690056c891 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 21 Feb 2020 23:10:31 +0000 Subject: [PATCH 535/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index fe39b9c0..711aae7c 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.3#2020-02-20T23:15:31.902094Z -7.3.3#2020-01-24T22:59:26.618084Z -7.2.16#2020-01-24T22:58:54.067874Z \ No newline at end of file +7.4.3#2020-02-20T23:15:33.376793Z +7.3.3#2020-02-20T23:15:44.460787Z +7.2.16#2020-02-20T23:16:15.917784Z \ No newline at end of file From a48b2b35b0451e11ba80173d6c6883c07c3510e5 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 28 Feb 2020 13:54:42 +0700 Subject: [PATCH 536/559] Set git user name/email via system config #100 --- 7/Dockerfile | 4 ++-- 7/docker-entrypoint.sh | 7 +------ 7/templates/gitconfig.tmpl | 3 +++ 3 files changed, 6 insertions(+), 8 deletions(-) create mode 100644 7/templates/gitconfig.tmpl diff --git a/7/Dockerfile b/7/Dockerfile index bb171540..7678c828 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -306,8 +306,8 @@ RUN set -xe; \ /usr/local/etc/php-fpm.d \ /home/wodby/.[^.]*; \ \ - touch /etc/ssh/sshd_config; \ - chown wodby: /etc/ssh/sshd_config; \ + touch /etc/ssh/sshd_config /etc/gitconfig; \ + chown wodby: /etc/ssh/sshd_config /etc/gitconfig; \ \ rm /etc/crontabs/root; \ # deprecated: remove in favor of bind mounts. diff --git a/7/docker-entrypoint.sh b/7/docker-entrypoint.sh index 95c530dd..b8c2e2fa 100755 --- a/7/docker-entrypoint.sh +++ b/7/docker-entrypoint.sh @@ -23,11 +23,6 @@ init_ssh_client() { fi } -init_git() { - git config --global user.email "${GIT_USER_EMAIL}" - git config --global user.name "${GIT_USER_NAME}" -} - init_sshd() { _gotpl "sshd_config.tmpl" "/etc/ssh/sshd_config" @@ -82,6 +77,7 @@ process_templates() { _gotpl "zz-www.conf.tmpl" "/usr/local/etc/php-fpm.d/zz-www.conf" _gotpl "wodby.settings.php.tmpl" "${CONF_DIR}/wodby.settings.php" _gotpl "ssh_config.tmpl" "${ssh_dir}/config" + _gotpl "gitconfig.tmpl" "/etc/gitconfig" } disable_modules() { @@ -105,7 +101,6 @@ disable_modules() { sudo init_container init_ssh_client -init_git process_templates disable_modules diff --git a/7/templates/gitconfig.tmpl b/7/templates/gitconfig.tmpl new file mode 100644 index 00000000..5f06d3fa --- /dev/null +++ b/7/templates/gitconfig.tmpl @@ -0,0 +1,3 @@ +[user] + name = {{ getenv "GIT_USER_NAME" }} + email = {{ getenv "GIT_USER_EMAIL" }} \ No newline at end of file From ebf20ce9440ca4481b94155269e172e209f43aad Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 28 Feb 2020 17:29:05 +0700 Subject: [PATCH 537/559] Revert "Update init_container" This reverts commit 544532ee #101 --- 7/bin/init_container | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/bin/init_container b/7/bin/init_container index 0c5361e4..e506c29e 100755 --- a/7/bin/init_container +++ b/7/bin/init_container @@ -23,7 +23,7 @@ fi for dir in "${dirs[@]}"; do mkdir -p "${dir}" - chown -R www-data:www-data "${dir}" + chown www-data:www-data "${dir}" chmod 775 "${dir}" done From dc203130c2ecc0385fdf3fff6c443f6324f61f80 Mon Sep 17 00:00:00 2001 From: alsar Date: Mon, 16 Mar 2020 10:28:57 +0100 Subject: [PATCH 538/559] Updated rdkafka to version 4.0.3 --- 7/Dockerfile | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 7678c828..30fdc1a0 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -58,7 +58,7 @@ RUN set -xe; \ libmemcached-libs=1.0.18-r4 \ libmcrypt=2.5.8-r7 \ libpng=1.6.37-r1 \ - librdkafka=1.2.2-r0 \ + librdkafka=1.3.0 \ libuuid=2.34-r1 \ libwebp=1.0.3-r0 \ libxml2=2.9.10-r2 \ @@ -200,7 +200,7 @@ RUN set -xe; \ memcached-3.1.4 \ mongodb-1.6.0 \ oauth-2.0.4 \ - rdkafka-3.1.2 \ + rdkafka-4.0.3 \ redis-4.3.0 \ uuid-1.0.4 \ xdebug-2.9.2 \ diff --git a/README.md b/README.md index 03042eae..bc58bab2 100644 --- a/README.md +++ b/README.md @@ -253,7 +253,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | pgsql | | | | | Phar | | | | | posix | | | | -| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | +| [rdkafka] | 4.0.3 | 4.0.3 | 4.0.3 | | readline | | | | | [redis] | 4.3.0 | 4.3.0 | 4.3.0 | | Reflection | | | | From 48294eb320dca35692f66b90bea40da3c95b6765 Mon Sep 17 00:00:00 2001 From: Chingis Date: Mon, 16 Mar 2020 20:22:59 +0700 Subject: [PATCH 539/559] Revert "Updated rdkafka to version 4.0.3" --- 7/Dockerfile | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 30fdc1a0..7678c828 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -58,7 +58,7 @@ RUN set -xe; \ libmemcached-libs=1.0.18-r4 \ libmcrypt=2.5.8-r7 \ libpng=1.6.37-r1 \ - librdkafka=1.3.0 \ + librdkafka=1.2.2-r0 \ libuuid=2.34-r1 \ libwebp=1.0.3-r0 \ libxml2=2.9.10-r2 \ @@ -200,7 +200,7 @@ RUN set -xe; \ memcached-3.1.4 \ mongodb-1.6.0 \ oauth-2.0.4 \ - rdkafka-4.0.3 \ + rdkafka-3.1.2 \ redis-4.3.0 \ uuid-1.0.4 \ xdebug-2.9.2 \ diff --git a/README.md b/README.md index bc58bab2..03042eae 100644 --- a/README.md +++ b/README.md @@ -253,7 +253,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | pgsql | | | | | Phar | | | | | posix | | | | -| [rdkafka] | 4.0.3 | 4.0.3 | 4.0.3 | +| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | | readline | | | | | [redis] | 4.3.0 | 4.3.0 | 4.3.0 | | Reflection | | | | From 2af957a023af9d21f161b1ccc37e6498feb8faa0 Mon Sep 17 00:00:00 2001 From: alsar Date: Mon, 16 Mar 2020 14:36:04 +0100 Subject: [PATCH 540/559] Updated rdkafka to version 4.0.3 --- 7/Dockerfile | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 7678c828..4405d662 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -58,7 +58,7 @@ RUN set -xe; \ libmemcached-libs=1.0.18-r4 \ libmcrypt=2.5.8-r7 \ libpng=1.6.37-r1 \ - librdkafka=1.2.2-r0 \ + librdkafka=1.2.2 \ libuuid=2.34-r1 \ libwebp=1.0.3-r0 \ libxml2=2.9.10-r2 \ @@ -200,7 +200,7 @@ RUN set -xe; \ memcached-3.1.4 \ mongodb-1.6.0 \ oauth-2.0.4 \ - rdkafka-3.1.2 \ + rdkafka-4.0.3 \ redis-4.3.0 \ uuid-1.0.4 \ xdebug-2.9.2 \ diff --git a/README.md b/README.md index 03042eae..bc58bab2 100644 --- a/README.md +++ b/README.md @@ -253,7 +253,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | pgsql | | | | | Phar | | | | | posix | | | | -| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | +| [rdkafka] | 4.0.3 | 4.0.3 | 4.0.3 | | readline | | | | | [redis] | 4.3.0 | 4.3.0 | 4.3.0 | | Reflection | | | | From dc2dc1899749fb0a82e3f26618bc875a93cf53fa Mon Sep 17 00:00:00 2001 From: Chingis Date: Tue, 17 Mar 2020 09:44:55 +0700 Subject: [PATCH 541/559] Revert "Updated rdkafka to version 4.0.3" --- 7/Dockerfile | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 4405d662..7678c828 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -58,7 +58,7 @@ RUN set -xe; \ libmemcached-libs=1.0.18-r4 \ libmcrypt=2.5.8-r7 \ libpng=1.6.37-r1 \ - librdkafka=1.2.2 \ + librdkafka=1.2.2-r0 \ libuuid=2.34-r1 \ libwebp=1.0.3-r0 \ libxml2=2.9.10-r2 \ @@ -200,7 +200,7 @@ RUN set -xe; \ memcached-3.1.4 \ mongodb-1.6.0 \ oauth-2.0.4 \ - rdkafka-4.0.3 \ + rdkafka-3.1.2 \ redis-4.3.0 \ uuid-1.0.4 \ xdebug-2.9.2 \ diff --git a/README.md b/README.md index bc58bab2..03042eae 100644 --- a/README.md +++ b/README.md @@ -253,7 +253,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | pgsql | | | | | Phar | | | | | posix | | | | -| [rdkafka] | 4.0.3 | 4.0.3 | 4.0.3 | +| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | | readline | | | | | [redis] | 4.3.0 | 4.3.0 | 4.3.0 | | Reflection | | | | From 7d90094229e5496de1772e79a20c0b60ab02cb9f Mon Sep 17 00:00:00 2001 From: alsar Date: Mon, 16 Mar 2020 14:36:04 +0100 Subject: [PATCH 542/559] Updated rdkafka to version 4.0.3 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 7678c828..a8be4908 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -200,7 +200,7 @@ RUN set -xe; \ memcached-3.1.4 \ mongodb-1.6.0 \ oauth-2.0.4 \ - rdkafka-3.1.2 \ + rdkafka-4.0.3 \ redis-4.3.0 \ uuid-1.0.4 \ xdebug-2.9.2 \ diff --git a/README.md b/README.md index 03042eae..bc58bab2 100644 --- a/README.md +++ b/README.md @@ -253,7 +253,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | pgsql | | | | | Phar | | | | | posix | | | | -| [rdkafka] | 3.1.2 | 3.1.2 | 3.1.2 | +| [rdkafka] | 4.0.3 | 4.0.3 | 4.0.3 | | readline | | | | | [redis] | 4.3.0 | 4.3.0 | 4.3.0 | | Reflection | | | | From 0031d820df292583b789ea3b740f1a1670865bf6 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Fri, 20 Mar 2020 00:43:57 +0700 Subject: [PATCH 543/559] Update xdebug to 2.9.3 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index a8be4908..12e52936 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -203,7 +203,7 @@ RUN set -xe; \ rdkafka-4.0.3 \ redis-4.3.0 \ uuid-1.0.4 \ - xdebug-2.9.2 \ + xdebug-2.9.3 \ yaml-2.0.4; \ \ docker-php-ext-enable \ diff --git a/README.md b/README.md index bc58bab2..f245cdc5 100644 --- a/README.md +++ b/README.md @@ -270,7 +270,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | tokenizer | | | | | [uploadprogress] | [latest] | [latest] | [latest] | | [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | 2.9.2 | 2.9.2 | 2.9.2 | +| [xdebug] | 2.9.3 | 2.9.3 | 2.9.3 | | xml | | | | | xmlreader | | | | | xmlrpc | | | | From f28982ae16621b296e808c8ff10c7b023d566a0b Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Mar 2020 23:20:40 +0000 Subject: [PATCH 544/559] Update php to 7.4.4 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 711aae7c..b210d08a 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.3#2020-02-20T23:15:33.376793Z +7.4.4#2020-03-19T17:46:08.148438Z 7.3.3#2020-02-20T23:15:44.460787Z 7.2.16#2020-02-20T23:16:15.917784Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index c961fa0a..5a17e9da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP74=7.4.3 + - PHP74=7.4.4 - PHP73=7.3.15 - PHP72=7.2.28 matrix: diff --git a/7/Makefile b/7/Makefile index 31516a5f..77153f08 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.4.3 +PHP_VER ?= 7.4.4 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From fde026d966e30c6245fc8de0bdfcaf8210fc1f60 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Mar 2020 23:20:40 +0000 Subject: [PATCH 545/559] Update php to 7.3.16 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5a17e9da..6e9d572a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP74=7.4.4 - - PHP73=7.3.15 + - PHP73=7.3.16 - PHP72=7.2.28 matrix: - PHP_VER="${PHP74}" TAGS=7.4,7,latest From 1ca4713a4094dfe469457f204e2e3d8727d2f4b8 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Mar 2020 23:20:41 +0000 Subject: [PATCH 546/559] Update php to 7.2.29 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6e9d572a..526613b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ env: global: - PHP74=7.4.4 - PHP73=7.3.16 - - PHP72=7.2.28 + - PHP72=7.2.29 matrix: - PHP_VER="${PHP74}" TAGS=7.4,7,latest - PHP_VER="${PHP73}" TAGS=7.3 From f2f36c223ce71a126581b2b58f2e20a70f1826e4 Mon Sep 17 00:00:00 2001 From: Wodby Date: Thu, 19 Mar 2020 23:21:42 +0000 Subject: [PATCH 547/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index b210d08a..c86633c2 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.4#2020-03-19T17:46:08.148438Z -7.3.3#2020-02-20T23:15:44.460787Z -7.2.16#2020-02-20T23:16:15.917784Z \ No newline at end of file +7.4.4#2020-03-19T17:46:09.612193Z +7.3.3#2020-03-19T17:45:48.477142Z +7.2.16#2020-03-19T17:45:38.616303Z \ No newline at end of file From bce87bb40266624ab637bb20e8d767940dcd9185 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 20 Mar 2020 03:31:28 +0000 Subject: [PATCH 548/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index c86633c2..b2387083 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.4#2020-03-19T17:46:09.612193Z -7.3.3#2020-03-19T17:45:48.477142Z -7.2.16#2020-03-19T17:45:38.616303Z \ No newline at end of file +7.4.4#2020-03-19T23:28:18.092273Z +7.3.3#2020-03-19T23:28:13.612475Z +7.2.16#2020-03-19T23:28:30.876899Z \ No newline at end of file From 1a8c751dd3bac93ece3c44d20cd80b64c774d05a Mon Sep 17 00:00:00 2001 From: Wodby Date: Tue, 24 Mar 2020 23:24:58 +0000 Subject: [PATCH 549/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index b2387083..51448c9f 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.4#2020-03-19T23:28:18.092273Z -7.3.3#2020-03-19T23:28:13.612475Z -7.2.16#2020-03-19T23:28:30.876899Z \ No newline at end of file +7.4.4#2020-03-24T04:51:47.694169Z +7.3.3#2020-03-24T04:52:22.210015Z +7.2.16#2020-03-24T04:52:56.904219Z \ No newline at end of file From 1780592b7ac933c39cbaa2afaf64c7ae164b7d36 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Thu, 26 Mar 2020 11:06:23 +0700 Subject: [PATCH 550/559] Update iculibs pkg --- 7/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7/Dockerfile b/7/Dockerfile index 12e52936..9be9118e 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -45,7 +45,7 @@ RUN set -xe; \ freetype=2.10.1-r0 \ git \ gmp=6.1.2-r1 \ - icu-libs=64.2-r0 \ + icu-libs=64.2-r1 \ imagemagick=7.0.9.7-r0 \ jpegoptim=1.4.6-r0 \ less \ From 3a1916fdd1dea605baff005b613994b3e6ea6b45 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 30 Mar 2020 15:08:50 +0700 Subject: [PATCH 551/559] Add yarn to -dev pkg #99 --- 7/Dockerfile | 4 ++++ README.md | 1 + 2 files changed, 5 insertions(+) diff --git a/7/Dockerfile b/7/Dockerfile index 9be9118e..5e35e7e3 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -82,6 +82,10 @@ RUN set -xe; \ tmux \ yaml=0.2.2-r1; \ \ + if [[ -n "${PHP_DEV}" ]]; then \ + apk add --update --no-cache -t .wodby-php-dev-run-deps yarn; \ + fi; \ + \ apk add --update --no-cache -t .wodby-php-build-deps \ autoconf \ cmake \ diff --git a/README.md b/README.md index f245cdc5..28c956e7 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ Images with `-dev` tag have a few differences: * `sudo` allowed for all commands for `wodby` user * PHP source code available under `/usr/src/php.tar.xz` * `PHP_FPM_CLEAR_ENV` is set to `no` by default +* Additional packages installed: yarn ### `-dev-macos` From ee41f05bf7d554afb959398c92cb70766a514351 Mon Sep 17 00:00:00 2001 From: Chingis Sandanov Date: Mon, 6 Apr 2020 13:50:25 +0700 Subject: [PATCH 552/559] Update xdebug to 2.9.4 --- 7/Dockerfile | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 5e35e7e3..25d0232d 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -207,7 +207,7 @@ RUN set -xe; \ rdkafka-4.0.3 \ redis-4.3.0 \ uuid-1.0.4 \ - xdebug-2.9.3 \ + xdebug-2.9.4 \ yaml-2.0.4; \ \ docker-php-ext-enable \ diff --git a/README.md b/README.md index 28c956e7..f283ea0f 100644 --- a/README.md +++ b/README.md @@ -271,7 +271,7 @@ You can disable extension by listing them in `$PHP_EXTENSIONS_DISABLE` separated | tokenizer | | | | | [uploadprogress] | [latest] | [latest] | [latest] | | [uuid] | 1.0.4 | 1.0.4 | 1.0.4 | -| [xdebug] | 2.9.3 | 2.9.3 | 2.9.3 | +| [xdebug] | 2.9.4 | 2.9.4 | 2.9.4 | | xml | | | | | xmlreader | | | | | xmlrpc | | | | From 19de41eed5e4d74125d9e91b99f7ab0f069b15a1 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 10 Apr 2020 23:35:55 +0000 Subject: [PATCH 553/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 51448c9f..aa337c83 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.4#2020-03-24T04:51:47.694169Z -7.3.3#2020-03-24T04:52:22.210015Z -7.2.16#2020-03-24T04:52:56.904219Z \ No newline at end of file +7.4.4#2020-04-09T23:41:28.741667Z +7.3.3#2020-04-09T23:41:28.624594Z +7.2.16#2020-04-09T23:41:01.98169Z \ No newline at end of file From 29475d03c909fcbe19c712f49d56dd6b70cd2560 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 17 Apr 2020 04:10:43 +0000 Subject: [PATCH 554/559] Update php to 7.4.5 --- .base-php | 2 +- .travis.yml | 2 +- 7/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index aa337c83..3224f517 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.4#2020-04-09T23:41:28.741667Z +7.4.5#2020-04-16T18:12:59.208633Z 7.3.3#2020-04-09T23:41:28.624594Z 7.2.16#2020-04-09T23:41:01.98169Z \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 526613b2..07a62283 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: env: global: - - PHP74=7.4.4 + - PHP74=7.4.5 - PHP73=7.3.16 - PHP72=7.2.29 matrix: diff --git a/7/Makefile b/7/Makefile index 77153f08..8586cc44 100644 --- a/7/Makefile +++ b/7/Makefile @@ -1,6 +1,6 @@ -include env_make -PHP_VER ?= 7.4.4 +PHP_VER ?= 7.4.5 PHP_VER_MINOR ?= $(shell echo "${PHP_VER}" | grep -oE '^[0-9]+\.[0-9]+') REPO = wodby/php From ad45d329e120973239cfbfa1b57b7b1ef9c66b68 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 17 Apr 2020 04:10:43 +0000 Subject: [PATCH 555/559] Update php to 7.3.17 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 07a62283..0034c35e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ services: env: global: - PHP74=7.4.5 - - PHP73=7.3.16 + - PHP73=7.3.17 - PHP72=7.2.29 matrix: - PHP_VER="${PHP74}" TAGS=7.4,7,latest From bfe4adfec741ba71d0119e62a0329ec79b0c9e61 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 17 Apr 2020 04:11:41 +0000 Subject: [PATCH 556/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index 3224f517..b70166a2 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.5#2020-04-16T18:12:59.208633Z -7.3.3#2020-04-09T23:41:28.624594Z -7.2.16#2020-04-09T23:41:01.98169Z \ No newline at end of file +7.4.5#2020-04-16T18:13:00.576058Z +7.3.3#2020-04-16T18:13:18.447923Z +7.2.16#2020-04-16T18:12:40.013042Z \ No newline at end of file From 359f456c0a3c716b5613c717e45dd48b2360dc56 Mon Sep 17 00:00:00 2001 From: Wodby Date: Fri, 17 Apr 2020 07:49:14 +0000 Subject: [PATCH 557/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index b70166a2..cf44357b 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.5#2020-04-16T18:13:00.576058Z -7.3.3#2020-04-16T18:13:18.447923Z -7.2.16#2020-04-16T18:12:40.013042Z \ No newline at end of file +7.4.5#2020-04-17T06:16:10.458031Z +7.3.3#2020-04-17T06:15:45.750555Z +7.2.16#2020-04-17T06:15:44.173026Z \ No newline at end of file From 863fc2391e9e2435bf6966cbda60fd22fba75458 Mon Sep 17 00:00:00 2001 From: Wodby Date: Sat, 18 Apr 2020 18:30:46 +0000 Subject: [PATCH 558/559] Rebuild against updated base image --- .base-php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.base-php b/.base-php index cf44357b..fd4804ed 100644 --- a/.base-php +++ b/.base-php @@ -1,3 +1,3 @@ -7.4.5#2020-04-17T06:16:10.458031Z -7.3.3#2020-04-17T06:15:45.750555Z -7.2.16#2020-04-17T06:15:44.173026Z \ No newline at end of file +7.4.5#2020-04-17T18:36:31.016606Z +7.3.3#2020-04-17T18:36:53.477668Z +7.2.16#2020-04-17T18:36:17.094345Z \ No newline at end of file From 46fea5be38aa9bb6ad8d653e41cd65e0e0ef592e Mon Sep 17 00:00:00 2001 From: jonatasrenan Date: Sat, 18 Apr 2020 17:03:46 -0300 Subject: [PATCH 559/559] Using groupadd/useradd to add user/group addgroup gives error: number 961200513 is not in 0..256000 range when uid/gid is greater than 256000 --- 7/Dockerfile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/7/Dockerfile b/7/Dockerfile index 25d0232d..9ee45bc2 100644 --- a/7/Dockerfile +++ b/7/Dockerfile @@ -33,8 +33,12 @@ RUN set -xe; \ existing_user=$(getent passwd "${WODBY_USER_ID}" | cut -d: -f1); \ if [[ -n "${existing_user}" ]]; then deluser "${existing_user}"; fi; \ \ - addgroup -g "${WODBY_GROUP_ID}" -S wodby; \ - adduser -u "${WODBY_USER_ID}" -D -S -s /bin/bash -G wodby wodby; \ + apk add --no-cache -t .wodby-useradd-deps \ + shadow=4.7-r1 \ + linux-pam=1.3.1-r1 ; \ + /usr/sbin/groupadd -g ${WODBY_GROUP_ID} wodby; \ + /usr/sbin/useradd -s /bin/sh -g ${WODBY_GROUP_ID} -u ${WODBY_USER_ID} wodby; \ + apk del --purge .wodby-useradd-deps ; \ adduser wodby www-data; \ sed -i '/^wodby/s/!/*/' /etc/shadow; \ \