From 9b37e3a3073cd3469f7cc0a5cf234580417d724f Mon Sep 17 00:00:00 2001 From: cytopia Date: Thu, 3 Feb 2022 10:01:28 +0100 Subject: [PATCH 1/9] Updated project files --- .devilbox/www/config.php | 4 ++-- CHANGELOG.md | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.devilbox/www/config.php b/.devilbox/www/config.php index 509e4fba..383cc877 100644 --- a/.devilbox/www/config.php +++ b/.devilbox/www/config.php @@ -13,8 +13,8 @@ error_reporting(-1); putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1'); -$DEVILBOX_VERSION = 'v1.10.2'; -$DEVILBOX_DATE = '2022-02-02'; +$DEVILBOX_VERSION = 'v1.10.3'; +$DEVILBOX_DATE = '2022-02-03'; $DEVILBOX_API_PAGE = 'devilbox-api/status.json'; // diff --git a/CHANGELOG.md b/CHANGELOG.md index 08d8d031..0085d0c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl ## Unreleased +## Release v1.10.3 (2022-02-03) + +#### Added +- Added PHP 8.2 + +#### Changed +- Updated PHP-FPM images [#225](https://github.com/devilbox/docker-php-fpm/pull/225) + + ## Release v1.10.2 (2022-02-02) #### Fixed From 928d5a2475a1bc373c5f572a6dd5e7d4848eddf4 Mon Sep 17 00:00:00 2001 From: cytopia Date: Thu, 3 Feb 2022 10:01:56 +0100 Subject: [PATCH 2/9] Updated get-modules tests --- .tests/Makefile | 2 +- .tests/scripts/get-modules.sh | 47 ++++++++++++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/.tests/Makefile b/.tests/Makefile index f0c3c72f..b4a5b4ba 100644 --- a/.tests/Makefile +++ b/.tests/Makefile @@ -8,7 +8,7 @@ endif # ------------------------------------------------------------------------------------------------- update-readme: cat "../README.md" \ - | perl -00 -pe "s#.*#\n$$(./scripts/get-modules.sh)\n#s" \ + | perl -0 -pe "s#.*#\n$$(./scripts/get-modules.sh)\n#s" \ > "../README.md.tmp" yes | mv -f "../README.md.tmp" "../README.md" diff --git a/.tests/scripts/get-modules.sh b/.tests/scripts/get-modules.sh index 627911de..17b75700 100755 --- a/.tests/scripts/get-modules.sh +++ b/.tests/scripts/get-modules.sh @@ -169,6 +169,18 @@ if ! PHP81_BASE="$( run "\ exit 1 fi +if ! PHP82_BASE="$( run "\ + curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ + | tac \ + | tac \ + | grep -E '82-base' \ + | sed \ + -e 's/.*\">//g' \ + -e 's/<.*//g'" "${RETRIES}" )"; then + >&2 echo "Failed to retrieve modules for PHP 8.2" + exit 1 +fi + ### ### Get PHP mods modules (5 rounds) ### @@ -317,10 +329,22 @@ if ! PHP81_MODS="$( run "\ exit 1 fi +if ! PHP82_MODS="$( run "\ + curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \ + | tac \ + | tac \ + | grep -E '82-mods' \ + | sed \ + -e 's/.*\">//g' \ + -e 's/<.*//g'" "${RETRIES}" )"; then + >&2 echo "Failed to retrieve modules for PHP 8.2" + exit 1 +fi + ### ### Todo: add ioncube ### -MODS="$( echo "${PHP52_MODS}, ${PHP53_MODS}, ${PHP54_MODS}, ${PHP55_MODS}, ${PHP56_MODS}, ${PHP70_MODS}, ${PHP71_MODS}, ${PHP72_MODS}, ${PHP73_MODS}, ${PHP74_MODS}, ${PHP80_MODS}, ${PHP81_MODS}" | sed 's/,/\n/g' | sed -e 's/^\s*//g' -e 's/\s*$//g' | sort -uf )" +MODS="$( echo "${PHP52_MODS}, ${PHP53_MODS}, ${PHP54_MODS}, ${PHP55_MODS}, ${PHP56_MODS}, ${PHP70_MODS}, ${PHP71_MODS}, ${PHP72_MODS}, ${PHP73_MODS}, ${PHP74_MODS}, ${PHP80_MODS}, ${PHP81_MODS}, ${PHP82_MODS}" | sed 's/,/\n/g' | sed -e 's/^\s*//g' -e 's/\s*$//g' | sort -uf )" ### @@ -333,11 +357,11 @@ E="🗸" # Enabled mods modules (can be disabled) D="d" # Disabled modules (can be enabled) U=" " # Unavailable -echo "| Modules | PHP 5.2 | PHP 5.3 | PHP 5.4 | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 |" -echo "|-------------------------------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|" +echo "| Modules | PHP 5.2 | PHP 5.3 | PHP 5.4 | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 |" +echo "|-------------------------------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|" echo "${MODS}" | while read -r line; do # Print current module - printf "| %-30s%s" "${line}" "|" + printf "| %-30s%s" "${line}" "|" # ---------- PHP 5.2 ----------# if echo ",${PHP52_MODS}," | sed 's/,\s/,/g' | grep -Eq ",${line},"; then @@ -519,5 +543,20 @@ echo "${MODS}" | while read -r line; do printf " %s |" "${U}" # Not available fi + # ---------- PHP 8.2 ----------# + if echo ",${PHP82_MODS}," | sed 's/,\s/,/g' | grep -Eq ",${line},"; then + if echo "${DISABLED}" | grep -Eq ",${line},"; then + printf " %s |" "${D}" # Currently disabled + else + if echo ",${PHP82_BASE}," | sed 's/,\s/,/g' | grep -Eq ",${line},"; then + printf " %s |" "${B}" # Enabled, but cannot be disabled + else + printf " %s |" "${E}" # Enabled, can be disabled + fi + fi + else + printf " %s |" "${U}" # Not available + fi + printf "\\n" done From 3d3f716121b3c1fea3353efd9f843f0b1bceb76c Mon Sep 17 00:00:00 2001 From: cytopia Date: Thu, 3 Feb 2022 10:06:42 +0100 Subject: [PATCH 3/9] Added PHP 8.2 --- .github/workflows/ci-smoke-linux.yml | 1 + .github/workflows/test-config.yml | 1 + .gitignore | 5 + README.md | 226 +++++++++--------- cfg/php-fpm-8.2/.keepme | 0 cfg/php-fpm-8.2/README.md | 54 +++++ cfg/php-fpm-8.2/devilbox-fpm.conf-default | 80 +++++++ cfg/php-fpm-8.2/devilbox-fpm.conf-pm_dynamic | 46 ++++ cfg/php-fpm-8.2/devilbox-fpm.conf-pm_ondemand | 39 +++ cfg/php-ini-8.2/.keepme | 0 cfg/php-ini-8.2/README.md | 26 ++ cfg/php-ini-8.2/devilbox-php.ini-default | 63 +++++ cfg/php-ini-8.2/devilbox-php.ini-xdebug | 35 +++ cfg/php-startup-8.2/.keepme | 0 .../01-update-apt-index.sh-example | 6 + cfg/php-startup-8.2/README.md | 29 +++ docker-compose.yml | 2 +- env-example | 1 + log/php-fpm-8.2/.keepme | 0 mod/php-fpm-8.2/.keepme | 0 20 files changed, 506 insertions(+), 108 deletions(-) create mode 100644 cfg/php-fpm-8.2/.keepme create mode 100644 cfg/php-fpm-8.2/README.md create mode 100644 cfg/php-fpm-8.2/devilbox-fpm.conf-default create mode 100644 cfg/php-fpm-8.2/devilbox-fpm.conf-pm_dynamic create mode 100644 cfg/php-fpm-8.2/devilbox-fpm.conf-pm_ondemand create mode 100644 cfg/php-ini-8.2/.keepme create mode 100644 cfg/php-ini-8.2/README.md create mode 100644 cfg/php-ini-8.2/devilbox-php.ini-default create mode 100644 cfg/php-ini-8.2/devilbox-php.ini-xdebug create mode 100644 cfg/php-startup-8.2/.keepme create mode 100755 cfg/php-startup-8.2/01-update-apt-index.sh-example create mode 100644 cfg/php-startup-8.2/README.md create mode 100644 log/php-fpm-8.2/.keepme create mode 100644 mod/php-fpm-8.2/.keepme diff --git a/.github/workflows/ci-smoke-linux.yml b/.github/workflows/ci-smoke-linux.yml index df2c8c81..fb6411bd 100644 --- a/.github/workflows/ci-smoke-linux.yml +++ b/.github/workflows/ci-smoke-linux.yml @@ -44,6 +44,7 @@ jobs: - "7.4" - "8.0" - "8.1" + - "8.2" httpd: - "apache-2.2" - "apache-2.4" diff --git a/.github/workflows/test-config.yml b/.github/workflows/test-config.yml index f6dc6c35..d5798bb5 100644 --- a/.github/workflows/test-config.yml +++ b/.github/workflows/test-config.yml @@ -44,6 +44,7 @@ jobs: - "7.4" - "8.0" - "8.1" + - "8.2" httpd: - "apache-2.2" - "apache-2.4" diff --git a/.gitignore b/.gitignore index d8a65397..c2b573f9 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,7 @@ /log/php-fpm-7.4/* /log/php-fpm-8.0/* /log/php-fpm-8.1/* +/log/php-fpm-8.2/* !/log/.keepme !/log/*/.keepme @@ -89,6 +90,7 @@ /cfg/php-ini-7.4/*.ini /cfg/php-ini-8.0/*.ini /cfg/php-ini-8.1/*.ini +/cfg/php-ini-8.2/*.ini # Ignore custom PHP-FPM configs /cfg/php-fpm-5.2/php-fpm.xml @@ -103,6 +105,7 @@ /cfg/php-fpm-7.4/*.conf /cfg/php-fpm-8.0/*.conf /cfg/php-fpm-8.1/*.conf +/cfg/php-fpm-8.2/*.conf # Ignore custom PHP-FPM startup scripts /autostart/*.sh @@ -118,6 +121,7 @@ /cfg/php-startup-7.4/*.sh /cfg/php-startup-8.0/*.sh /cfg/php-startup-8.1/*.sh +/cfg/php-startup-8.2/*.sh # Ignorecustom Varnish configs /cfg/varnish-4/*.vcl @@ -137,6 +141,7 @@ /mod/php-fpm-7.4/*.so /mod/php-fpm-8.0/*.so /mod/php-fpm-8.1/*.so +/mod/php-fpm-8.2/*.so # Ignore supervisord configs /supervisor/*.conf diff --git a/README.md b/README.md index 6d7c0487..d2db01b4 100644 --- a/README.md +++ b/README.md @@ -368,12 +368,24 @@ Every single attachable container comes with many different versions. In order t + + + + 8.2[2] + + + + + + + + [1] PHP 5.2 is available to use, but it is not officially supported. The Devilbox intranet does not work with this version as PHP 5.2 does not support namespaces. Furthermore PHP 5.2 does only work with Apache 2.4, Nginx stable and Nginx mainline. It does not work with Apache 2.2. Use at your own risk. - +[2] PHP 8.2 is an upcoming unreleased versions of PHP, which is directly built out of their [official git branches](https://github.com/php/php-src/) every night to assure you will leverage their latest features. > **Documentation:** > [Change container versions](https://devilbox.readthedocs.io/en/latest/getting-started/change-container-versions.html) @@ -719,112 +731,112 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module > * Available, but disabled (can be enabled): **d** -| Modules | PHP 5.2 | PHP 5.3 | PHP 5.4 | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | -|-------------------------------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:| -| amqp | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| apc | | 🗸 | 🗸 | 🗸 | 🗸 | | | | | | | | -| apcu | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| bcmath | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| blackfire | | | | | d | d | d | d | d | d | d | | -| bz2 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| calendar | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| Core | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| ctype | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| curl | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| date | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| dba | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| dom | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| enchant | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | 🗸 | 🗸 | -| ereg | | ✔ | ✔ | ✔ | ✔ | | | | | | | | -| exif | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| FFI | | | | | | | | | | 🗸 | ✔ | ✔ | -| fileinfo | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| filter | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| ftp | 🗸 | 🗸 | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| gd | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| gettext | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| gmp | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| hash | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| iconv | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| igbinary | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| imagick | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| imap | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| interbase | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | -| intl | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| ioncube | d | d | d | d | d | d | d | d | d | d | | | -| json | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| ldap | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| libxml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| mbstring | ✔ | 🗸 | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| mcrypt | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | -| memcache | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| memcached | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| mhash | | | | | ✔ | | | | | | | | -| mongo | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | | | | -| mongodb | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| msgpack | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| mysql | ✔ | ✔ | 🗸 | 🗸 | 🗸 | | | | | | | | -| mysqli | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| mysqlnd | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| OAuth | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| oci8 | | d | d | d | d | d | d | d | d | d | d | d | -| openssl | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| pcntl | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| pcre | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| PDO | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| pdo_dblib | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| PDO_Firebird | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| pdo_mysql | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| PDO_OCI | | | | | | d | d | d | d | d | d | d | -| pdo_pgsql | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| pdo_sqlite | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| pdo_sqlsrv | | | | | | d | d | d | d | d | d | d | -| pgsql | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| phalcon | | d | d | d | d | d | d | d | d | d | | | -| Phar | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| posix | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| pspell | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| psr | | | d | d | d | d | d | d | d | d | d | d | -| rdkafka | | d | d | d | d | d | d | d | d | d | d | d | -| readline | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| recode | 🗸 | ✔ | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | -| redis | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| Reflection | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| session | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| shmop | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| SimpleXML | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| snmp | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| soap | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| sockets | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| sodium | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | -| solr | | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| SPL | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| SQLite | ✔ | ✔ | | | | | | | | | | | -| sqlite3 | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| sqlsrv | | | | | | d | d | d | d | d | d | d | -| ssh2 | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | -| standard | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| swoole | | d | d | d | d | d | d | d | d | d | d | | -| sysvmsg | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| sysvsem | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| sysvshm | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| tidy | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| tokenizer | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| uploadprogress | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| uuid | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| vips | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | -| wddx | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | -| xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| xlswriter | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| xml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| xmlreader | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| xmlrpc | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | -| xmlwriter | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| xsl | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| yaml | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| Zend OPcache | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| zip | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | -| zlib | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| Modules | PHP 5.2 | PHP 5.3 | PHP 5.4 | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 | +|-------------------------------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:| +| amqp | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| apc | | 🗸 | 🗸 | 🗸 | 🗸 | | | | | | | | | +| apcu | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| bcmath | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| blackfire | | | | | d | d | d | d | d | d | d | | | +| bz2 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| calendar | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| Core | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| ctype | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| curl | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| date | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| dba | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| dom | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| enchant | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | 🗸 | 🗸 | 🗸 | +| ereg | | ✔ | ✔ | ✔ | ✔ | | | | | | | | | +| exif | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| FFI | | | | | | | | | | 🗸 | ✔ | ✔ | ✔ | +| fileinfo | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| filter | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| ftp | 🗸 | 🗸 | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| gd | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| gettext | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| gmp | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| hash | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| iconv | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| igbinary | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| imagick | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| imap | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| interbase | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | +| intl | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| ioncube | d | d | d | d | d | d | d | d | d | d | | | | +| json | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| ldap | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| libxml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| mbstring | ✔ | 🗸 | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| mcrypt | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | +| memcache | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| memcached | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| mhash | | | | | ✔ | | | | | | | | | +| mongo | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | | | | | +| mongodb | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| msgpack | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| mysql | ✔ | ✔ | 🗸 | 🗸 | 🗸 | | | | | | | | | +| mysqli | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| mysqlnd | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| OAuth | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| oci8 | | d | d | d | d | d | d | d | d | d | d | d | d | +| openssl | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| pcntl | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| pcre | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| PDO | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| pdo_dblib | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| PDO_Firebird | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| pdo_mysql | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| PDO_OCI | | | | | | d | d | d | d | d | d | d | d | +| pdo_pgsql | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| pdo_sqlite | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| pdo_sqlsrv | | | | | | d | d | d | d | d | d | d | d | +| pgsql | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| phalcon | | d | d | d | d | d | d | d | d | d | | | | +| Phar | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| posix | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| pspell | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| psr | | | d | d | d | d | d | d | d | d | d | d | d | +| rdkafka | | d | d | d | d | d | d | d | d | d | d | d | d | +| readline | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| recode | 🗸 | ✔ | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | +| redis | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| Reflection | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| session | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| shmop | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| SimpleXML | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| snmp | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| soap | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| sockets | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| sodium | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| solr | | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | +| SPL | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| SQLite | ✔ | ✔ | | | | | | | | | | | | +| sqlite3 | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| sqlsrv | | | | | | d | d | d | d | d | d | d | d | +| ssh2 | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | +| standard | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| swoole | | d | d | d | d | d | d | d | d | d | d | | | +| sysvmsg | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| sysvsem | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| sysvshm | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| tidy | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| tokenizer | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| uploadprogress | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| uuid | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| vips | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | +| wddx | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | +| xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | +| xlswriter | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| xml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| xmlreader | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| xmlrpc | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | +| xmlwriter | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| xsl | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| yaml | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| Zend OPcache | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| zip | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | +| zlib | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | > * Core enabled (cannot be disabled): **✔** diff --git a/cfg/php-fpm-8.2/.keepme b/cfg/php-fpm-8.2/.keepme new file mode 100644 index 00000000..e69de29b diff --git a/cfg/php-fpm-8.2/README.md b/cfg/php-fpm-8.2/README.md new file mode 100644 index 00000000..db30d63f --- /dev/null +++ b/cfg/php-fpm-8.2/README.md @@ -0,0 +1,54 @@ +# PHP-FPM config directory + +## General + +* Add you custom php-fpm.conf files into this directory. +* Only files ending by `.conf` will be enabled +* Only files ending by `.conf` are ignored by git + + +## Example files + +This directory also holds three example files: + +| File | Description | +|---------------------------------|---------------------------------------------| +| `devilbox-fpm.conf-default` | Represents current PHP-FPM default settings | +| `devilbox-fpm.conf-pm_dynamic` | Example settings for dynamic workers | +| `devilbox-fpm.conf-pm_ondemand` | Example settings for ondemand workers | + +* Do not edit these example files! +* Copy them to a new file (in case you want to use them) + + +## Worker configuration + +When changing worker processes or scheduler, the following commands will come in handy +to monitor number of processes and memory consumption. + +```bash +# Show current PHP-FPM child memory consumption in MB +ps -ylC php-fpm --sort:rss | awk '!/RSS/ { s+=$8 } END { printf "%dM\n", s/1024 }' + +# (repeatedly) show current PHP-FPM child memory consumption in MB +watch --interval=1 "ps -ylC php-fpm --sort:rss | awk '"'!'"/RSS/ { s+=\$8 } END { printf \"%dM\n\", s/1024 }'" + +# (repeatedly) Current number of PHP-FPM childs +watch --interval=1 "ps auxw | grep -E 'php-(cgi|fpm)' | grep -vE 'grep|master' | wc -l" +``` + + +## Overwriting + +If multiple `.conf` files are present in this directory specifying different values for the +same settings, the last file (alphabetically by filename) will overwrite any previous values. + + +## Compatibility + +**Note:** + +PHP-FPM 5.2 uses XML-style configuration and does not allow includes. +If you want to change php-fpm.conf for PHP-FPM 5.2 you need to adjust the main configuration file. + +See `php-fpm-5.2/` directory. diff --git a/cfg/php-fpm-8.2/devilbox-fpm.conf-default b/cfg/php-fpm-8.2/devilbox-fpm.conf-default new file mode 100644 index 00000000..37e1f8ed --- /dev/null +++ b/cfg/php-fpm-8.2/devilbox-fpm.conf-default @@ -0,0 +1,80 @@ +; ############################################################ +; Devilbox php-fpm.conf: Current default settings +; ############################################################ +; +; Information +; ----------- +; * Do not edit this file (it belongs to git) +; * This file shows example settings that are currently effective +; * If this file is enabled, nothing will change as it reflects the current default settings +; +; How to enable? +; -------------- +; * Copy this file to another file with ".conf" extension +; * Only files with ".conf" extensions will be applied by PHP-FPM + + +; ### +; ### PHP-FPM global settings +; ### +; +[global] + +; Error log level. Possible values: alert, error, warning, notice, debug. Default value: notice. +log_level = notice + + + +; ### +; ### Pool configuratoin +; ### + +[www] + +; The timeout for serving a single request after which the worker process will be killed. +; This option should be used when the 'max_execution_time' ini option does not stop script +; execution for some reason. +request_terminate_timeout = 120s + + +; A maximum of backlog incoming connections will be queued for processing. +; If a connection request arrives with the queue full the client may receive an error with an +; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission, +; the request may be ignored so that retries may succeed. +; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections +; are silently truncated +listen.backlog = 1024 + + +; static - the number of child processes is fixed (pm.max_children). +; +; dynamic - the number of child processes is set dynamically based on the following directives: +; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers. +; +; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where +; pm.start_servers are started when the service is started. +pm = ondemand + +; The maximum number of child processes to be created +pm.max_children = 50 + +; The number of child processes created on startup. Used only when pm is set to dynamic. +; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2. +pm.start_servers = 4 + +; The desired minimum number of idle server processes. +pm.min_spare_servers = 2 + +; The desired maximum number of idle server processes. +pm.max_spare_servers = 6 + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. +; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default value: 0. +pm.max_requests = 500 + +; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand +pm.process_idle_timeout = 10s + +; vim: set ft=dosini: diff --git a/cfg/php-fpm-8.2/devilbox-fpm.conf-pm_dynamic b/cfg/php-fpm-8.2/devilbox-fpm.conf-pm_dynamic new file mode 100644 index 00000000..59ec044b --- /dev/null +++ b/cfg/php-fpm-8.2/devilbox-fpm.conf-pm_dynamic @@ -0,0 +1,46 @@ +; ############################################################ +; # Devilbox php-fpm.conf: dynamic example +; ############################################################ +; +; Information +; ----------- +; * Do not edit this file (it belongs to git) +; * This file show a possible dynamic example configuration +; * If this file is enabled, it will overwrite the current worker settings +; +; How to enable? +; -------------- +; * Copy this file to another file with ".conf" extension +; * Only files with ".conf" extensions will be applied by PHP-FPM + + +; ### +; ### Pool configuratoin +; ### + +[www] + +; dynamic - the number of child processes is set dynamically based on the following directives: +pm = dynamic + +; The maximum number of child processes to be created +pm.max_children = 50 + +; The number of child processes created on startup. Used only when pm is set to dynamic. +; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2. +pm.start_servers = 4 + +; The desired minimum number of idle server processes. +pm.min_spare_servers = 2 + +; The desired maximum number of idle server processes. +pm.max_spare_servers = 6 + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. +; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default value: 0. +pm.max_requests = 500 + + +; vim: set ft=dosini: diff --git a/cfg/php-fpm-8.2/devilbox-fpm.conf-pm_ondemand b/cfg/php-fpm-8.2/devilbox-fpm.conf-pm_ondemand new file mode 100644 index 00000000..84cd3ca7 --- /dev/null +++ b/cfg/php-fpm-8.2/devilbox-fpm.conf-pm_ondemand @@ -0,0 +1,39 @@ +; ############################################################ +; # Devilbox php-fpm.conf: ondemand example +; ############################################################ +; +; Information +; ----------- +; * Do not edit this file (it belongs to git) +; * This file show a possible ondemand example configuration +; * If this file is enabled, it will overwrite the current worker settings +; +; How to enable? +; -------------- +; * Copy this file to another file with ".conf" extension +; * Only files with ".conf" extensions will be applied by PHP-FPM + + +; ### +; ### Pool configuratoin +; ### + +[www] + +; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where +; pm.start_servers are started when the service is started. +pm = ondemand + +; The maximum number of child processes to be created +pm.max_children = 50 + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. +; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default value: 0. +pm.max_requests = 500 + +; The number of seconds after which an idle process will be killed. +pm.process_idle_timeout = 10s + +; vim: set ft=dosini: diff --git a/cfg/php-ini-8.2/.keepme b/cfg/php-ini-8.2/.keepme new file mode 100644 index 00000000..e69de29b diff --git a/cfg/php-ini-8.2/README.md b/cfg/php-ini-8.2/README.md new file mode 100644 index 00000000..b967fcaa --- /dev/null +++ b/cfg/php-ini-8.2/README.md @@ -0,0 +1,26 @@ +# PHP ini directory + +## General + +* Add you custom php.ini files into this directory. +* Only files ending by `.ini` will be enabled +* Only files ending by `.ini` are ignored by git + + +## Example files + +This directory also holds two example files: + +| File | Description | +|----------------------------|-----------------------------------------| +| `devilbox-php.ini-default` | Represents current PHP default settings | +| `devilbox-php.ini-xdebug ` | Example settings for Xdebug | + +* Do not edit these example files! +* Copy them to a new file (in case you want to use them) + + +## Overwriting + +If multiple `.ini` files are present in this directory specifying different values for the +same settings, the last file (alphabetically by filename) will overwrite any previous values. diff --git a/cfg/php-ini-8.2/devilbox-php.ini-default b/cfg/php-ini-8.2/devilbox-php.ini-default new file mode 100644 index 00000000..83d03712 --- /dev/null +++ b/cfg/php-ini-8.2/devilbox-php.ini-default @@ -0,0 +1,63 @@ +; ############################################################ +; # Devilbox php.ini: Current default settings +; ############################################################ +; +; Information +; ----------- +; * Do not edit this file (it belongs to git) +; * This file shows example settings that are currently effective +; * If this file is enabled, nothing will change as it reflects the current default settings +; +; How to enable? +; -------------- +; * Copy this file to another file with ".ini" extension +; * Only files with ".ini" extensions will be applied by PHP + + + +; +; PHP.ini configuration +; +[PHP] + +; Memory +; Note: "memory_limit" should be larger than "post_max_size" +memory_limit = 512M + + +; Timeouts +max_execution_time = 120 +max_input_time = 120 + + +; Uploads +; Note: "post_max_size" should be greater than "upload_max_filesize" +post_max_size = 72M +upload_max_filesize = 64M +max_file_uploads = 20 + + +; Vars +variables_order = EGPCS +max_input_vars = 8000 +max_input_nesting_level = 64 + + +; Error reporting +; Note: error_log is dynamic and handled during start to set appropriate setting +error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED +xmlrpc_errors = Off +report_memleaks = On +display_errors = On +display_startup_errors = On +log_errors = On +html_errors = On + + +; Xdebug settings +xdebug.default_enable = Off +xdebug.profiler_enable = Off +xdebug.remote_enable = Off +xdebug.remote_autostart = Off + +; vim: set ft=dosini: diff --git a/cfg/php-ini-8.2/devilbox-php.ini-xdebug b/cfg/php-ini-8.2/devilbox-php.ini-xdebug new file mode 100644 index 00000000..94f7ca77 --- /dev/null +++ b/cfg/php-ini-8.2/devilbox-php.ini-xdebug @@ -0,0 +1,35 @@ +; ############################################################ +; # Devilbox php.ini: Xdebug example +; ############################################################ +; +; Information +; ----------- +; * Do not edit this file (it belongs to git) +; * This file show a possible Xdebug example configuration +; * If this file is enabled, it will overwrite the current Xdebug settings +; +; How to enable? +; -------------- +; * Copy this file to another file with ".ini" extension +; * Only files with ".ini" extensions will be applied by PHP + + + +; +; PHP.ini configuration +; +[PHP] + +; Xdebug +; https://3.xdebug.org/docs/upgrade_guide +; Use these settings to enable Xdebug for PHP +; Make sure to read up on Xdebug some settings might significantly slow down requests. +; The following is just an example configuration and should be adjusted +xdebug.mode = debug +xdebug.start_with_request = yes +xdebug.remote_handler = dbgp +xdebug.remote_port = 9000 +xdebug.idekey = PHPSTORM +xdebug.remote_log = /var/log/php/xdebug.log + +; vim: set ft=dosini: diff --git a/cfg/php-startup-8.2/.keepme b/cfg/php-startup-8.2/.keepme new file mode 100644 index 00000000..e69de29b diff --git a/cfg/php-startup-8.2/01-update-apt-index.sh-example b/cfg/php-startup-8.2/01-update-apt-index.sh-example new file mode 100755 index 00000000..d324ef89 --- /dev/null +++ b/cfg/php-startup-8.2/01-update-apt-index.sh-example @@ -0,0 +1,6 @@ +#!/bin/bash +# +# Simple example showing how to update the packet index +# + +DEBIAN_FRONTEND=noninteractive apt-get update -q diff --git a/cfg/php-startup-8.2/README.md b/cfg/php-startup-8.2/README.md new file mode 100644 index 00000000..e212252e --- /dev/null +++ b/cfg/php-startup-8.2/README.md @@ -0,0 +1,29 @@ +# Custom startup scripts (per PHP version) + +Any script inside this directory ending by `.sh` will be executed during the PHP container startup. +This is useful to apply your custom settings such as installing software that usually requires +the user to accept a license or similar. + +A few examples are given that do not end by `.sh` which won't be run. If you want to use the +provided examples, copy them to a file ending by `.sh` + + +## Info + +If you want to autostart NodeJS applications, you can use [pm2](https://github.com/Unitech/pm2). +Ensure you do this as user `devilbox`, as by default everything is run by root. + +```bash +su -c 'cd /shared/httpd/node/node; pm2 start index.js' -l devilbox +``` + + +## Note + +This directory will startup commands only for a specific PHP version. If you want to run commands +for all versions , go to `autostart/` in the root of the Devilbox git directory. + + +## Important + +All provided scripts will be executed with **root** permissions. diff --git a/docker-compose.yml b/docker-compose.yml index 4b57a552..7d67dc72 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -95,7 +95,7 @@ services: # PHP # ------------------------------------------------------------ php: - image: devilbox/php-fpm:${PHP_SERVER}-work-0.132 + image: devilbox/php-fpm:${PHP_SERVER}-work-0.133 hostname: php ## diff --git a/env-example b/env-example index c4027222..fd9af838 100644 --- a/env-example +++ b/env-example @@ -267,6 +267,7 @@ DEVILBOX_VENDOR_PHPPGADMIN_AUTOLOGIN=1 PHP_SERVER=7.4 #PHP_SERVER=8.0 #PHP_SERVER=8.1 +#PHP_SERVER=8.2 ### diff --git a/log/php-fpm-8.2/.keepme b/log/php-fpm-8.2/.keepme new file mode 100644 index 00000000..e69de29b diff --git a/mod/php-fpm-8.2/.keepme b/mod/php-fpm-8.2/.keepme new file mode 100644 index 00000000..e69de29b From 422af8e91634235bffb0c34cb0961164c6cae42a Mon Sep 17 00:00:00 2001 From: cytopia Date: Thu, 3 Feb 2022 10:16:11 +0100 Subject: [PATCH 4/9] Added missing mariadb entries into gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index c2b573f9..7b0e9176 100644 --- a/.gitignore +++ b/.gitignore @@ -72,6 +72,8 @@ /cfg/mariadb-10.3/*.cnf /cfg/mariadb-10.4/*.cnf /cfg/mariadb-10.5/*.cnf +/cfg/mariadb-10.6/*.cnf +/cfg/mariadb-10.7/*.cnf /cfg/percona-5.5/*.cnf /cfg/percona-5.6/*.cnf /cfg/percona-5.7/*.cnf From ae780388dcb2726fc8d2f6aa185a3813db3701ac Mon Sep 17 00:00:00 2001 From: cytopia Date: Thu, 3 Feb 2022 20:34:01 +0100 Subject: [PATCH 5/9] Update PHP images --- CHANGELOG.md | 1 + docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0085d0c8..fa7adbdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl #### Changed - Updated PHP-FPM images [#225](https://github.com/devilbox/docker-php-fpm/pull/225) +- Updated PHP-FPM images [#225](https://github.com/devilbox/docker-php-fpm/pull/226) ## Release v1.10.2 (2022-02-02) diff --git a/docker-compose.yml b/docker-compose.yml index 7d67dc72..dece35cc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -95,7 +95,7 @@ services: # PHP # ------------------------------------------------------------ php: - image: devilbox/php-fpm:${PHP_SERVER}-work-0.133 + image: devilbox/php-fpm:${PHP_SERVER}-work-0.134 hostname: php ## From 7d346463c7df33ba036e032d3765dd2f4cdba806 Mon Sep 17 00:00:00 2001 From: cytopia Date: Fri, 4 Feb 2022 11:03:00 +0100 Subject: [PATCH 6/9] Adjust smoke tests --- .tests/tests/framework-cakephp.sh | 18 ++++++++++++++---- .tests/tests/framework-drupal.sh | 2 +- .tests/tests/framework-wordpress.sh | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.tests/tests/framework-cakephp.sh b/.tests/tests/framework-cakephp.sh index d9f9d05e..3caa7340 100755 --- a/.tests/tests/framework-cakephp.sh +++ b/.tests/tests/framework-cakephp.sh @@ -13,12 +13,22 @@ DVLBOX_PATH="$( cd "${SCRIPT_PATH}/../.." && pwd -P )" . "${SCRIPT_PATH}/../scripts/.lib.sh" RETRIES=10 -DISABLED_VERSIONS=("5.2" "5.3" "5.4" "5.5" "8.0" "8.1") +DISABLED_VERSIONS=("5.2" "5.3" "5.4" "5.5" "8.0" "8.1" "8.2") + +PHP_VERSION="$( get_php_version "${DVLBOX_PATH}" )" + +### +### What CakePHP Version? +### +CAKE_PHP_VERSION=3.8 +#if [ "${PHP_VERSION}" = "8.0" ] || [ "${PHP_VERSION}" = "8.1" ]; then +# CAKE_PHP_VERSION= +#fi echo echo "# --------------------------------------------------------------------------------------------------" -echo "# [Framework] CakePHP 3.8.0" +echo "# [Framework] CakePHP ${CAKE_PHP_VERSION}" echo "# --------------------------------------------------------------------------------------------------" echo @@ -27,13 +37,13 @@ echo # Pre-check # ------------------------------------------------------------------------------------------------- -PHP_VERSION="$( get_php_version "${DVLBOX_PATH}" )" if [[ ${DISABLED_VERSIONS[*]} =~ ${PHP_VERSION} ]]; then printf "[SKIP] Skipping all checks for PHP %s\\n" "${PHP_VERSION}" exit 0 fi + # ------------------------------------------------------------------------------------------------- # ENTRYPOINT # ------------------------------------------------------------------------------------------------- @@ -50,7 +60,7 @@ create_vhost_dir "${VHOST}" # Setup CakePHP project -run "docker-compose exec --user devilbox -T php bash -c 'cd /shared/httpd/${VHOST}; composer create-project --no-interaction --prefer-dist cakephp/app cakephp 3.8'" "${RETRIES}" "${DVLBOX_PATH}" +run "docker-compose exec --user devilbox -T php bash -c 'cd /shared/httpd/${VHOST}; composer create-project --no-interaction --prefer-dist cakephp/app cakephp ${CAKE_PHP_VERSION}'" "${RETRIES}" "${DVLBOX_PATH}" run "docker-compose exec --user devilbox -T php bash -c 'cd /shared/httpd/${VHOST}; ln -sf cakephp/webroot htdocs'" "${RETRIES}" "${DVLBOX_PATH}" run "docker-compose exec --user devilbox -T php mysql -u root -h mysql --password=\"${MYSQL_ROOT_PASSWORD}\" -e \"DROP DATABASE IF EXISTS my_cake; CREATE DATABASE my_cake;\"" "${RETRIES}" "${DVLBOX_PATH}" diff --git a/.tests/tests/framework-drupal.sh b/.tests/tests/framework-drupal.sh index ec6b2287..7d8648ef 100755 --- a/.tests/tests/framework-drupal.sh +++ b/.tests/tests/framework-drupal.sh @@ -13,7 +13,7 @@ DVLBOX_PATH="$( cd "${SCRIPT_PATH}/../.." && pwd -P )" . "${SCRIPT_PATH}/../scripts/.lib.sh" RETRIES=10 -DISABLED_VERSIONS=("5.3" "5.4" "5.5" "5.6" "8.0" "8.1") +DISABLED_VERSIONS=("5.3" "5.4" "5.5" "5.6" "8.0" "8.1" "8.2") DISABLED_MYSQL_VERSIONS=("mysql-8.0" "percona-8.0") diff --git a/.tests/tests/framework-wordpress.sh b/.tests/tests/framework-wordpress.sh index a020f752..20ff62fb 100755 --- a/.tests/tests/framework-wordpress.sh +++ b/.tests/tests/framework-wordpress.sh @@ -13,7 +13,7 @@ DVLBOX_PATH="$( cd "${SCRIPT_PATH}/../.." && pwd -P )" . "${SCRIPT_PATH}/../scripts/.lib.sh" RETRIES=20 -DISABLED_VERSIONS=("8.0" "8.1") +DISABLED_VERSIONS=("8.0" "8.1" "8.2") echo From 82a1d7c881f40008a5bfc96f808616e3fdf40364 Mon Sep 17 00:00:00 2001 From: cytopia Date: Fri, 4 Feb 2022 11:04:02 +0100 Subject: [PATCH 7/9] Adjust release date --- .devilbox/www/config.php | 2 +- CHANGELOG.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.devilbox/www/config.php b/.devilbox/www/config.php index 383cc877..a2ca578c 100644 --- a/.devilbox/www/config.php +++ b/.devilbox/www/config.php @@ -14,7 +14,7 @@ putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1'); $DEVILBOX_VERSION = 'v1.10.3'; -$DEVILBOX_DATE = '2022-02-03'; +$DEVILBOX_DATE = '2022-02-04'; $DEVILBOX_API_PAGE = 'devilbox-api/status.json'; // diff --git a/CHANGELOG.md b/CHANGELOG.md index fa7adbdb..ca78031f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl ## Unreleased -## Release v1.10.3 (2022-02-03) +## Release v1.10.3 (2022-02-04) #### Added - Added PHP 8.2 From 015d66052e6989985818c390f208c227d6c753b1 Mon Sep 17 00:00:00 2001 From: cytopia Date: Fri, 4 Feb 2022 11:05:05 +0100 Subject: [PATCH 8/9] Adjust CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca78031f..8595885f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl #### Changed - Updated PHP-FPM images [#225](https://github.com/devilbox/docker-php-fpm/pull/225) -- Updated PHP-FPM images [#225](https://github.com/devilbox/docker-php-fpm/pull/226) +- Updated PHP-FPM images [#226](https://github.com/devilbox/docker-php-fpm/pull/226) ## Release v1.10.2 (2022-02-02) From 830549a90549f3a223d9d8fb6df657f3fb60cec3 Mon Sep 17 00:00:00 2001 From: cytopia Date: Fri, 4 Feb 2022 12:47:03 +0100 Subject: [PATCH 9/9] Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d2db01b4..ec04e1d1 100644 --- a/README.md +++ b/README.md @@ -826,7 +826,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module | uuid | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | vips | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | wddx | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | | -| xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | +| xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | xlswriter | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | xml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | xmlreader | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |