diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 64f95bd..677402a 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -2198,6 +2198,20 @@ AST exposes the abstract syntax tree generated by PHP 7+. This extension is requ **Note** If you need a specific version of AST then search for the `WORKSPACE_AST_VERSION` argument under the Workspace Container and set it to the desired version and continue step 4. +
+ +## Install PHP Decimal extension +The PHP Decimal extension adds support for correctly-rounded, arbitrary-precision decimal floating point arithmetic. Applications that rely on accurate numbers (ie. money, measurements, or mathematics) can use Decimal instead of float or string to represent numerical values. + +For more information visit the [PHP Decimal website](https://php-decimal.io). + +2 - Search for the `WORKSPACE_INSTALL_PHPDECIMAL` argument under the Workspace Container + +2 - Search for the `PHP_FPM_INSTALL_PHPDECIMAL` argument under the PHP-FPM container + +3 - Set it to `true` + +4 - Re-build the container `docker-compose build workspace php-fpm`
diff --git a/docker-compose.yml b/docker-compose.yml index 1c77788..3fadfda 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -165,6 +165,7 @@ services: - INSTALL_GNU_PARALLEL=${WORKSPACE_INSTALL_GNU_PARALLEL} - INSTALL_LNAV=${WORKSPACE_INSTALL_LNAV} - INSTALL_PROTOC=${WORKSPACE_INSTALL_PROTOC} + - INSTALL_PHPDECIMAL=${WORKSPACE_INSTALL_PHPDECIMAL} - PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION} - INSTALL_DOCKER_CLIENT=${WORKSPACE_INSTALL_DOCKER_CLIENT} - http_proxy @@ -261,6 +262,7 @@ services: - INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF} - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF} - INSTALL_XMLRPC=${PHP_FPM_INSTALL_XMLRPC} + - INSTALL_PHPDECIMAL=${PHP_FPM_INSTALL_PHPDECIMAL} - DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=${PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL} - PUID=${PHP_FPM_PUID} - PGID=${PHP_FPM_PGID} diff --git a/env-example b/env-example index 670f577..9b71f67 100644 --- a/env-example +++ b/env-example @@ -197,6 +197,7 @@ WORKSPACE_INSTALL_GIT_PROMPT=false WORKSPACE_INSTALL_DOCKER_CLIENT=false WORKSPACE_INSTALL_LNAV=false WORKSPACE_INSTALL_PROTOC=false +WORKSPACE_INSTALL_PHPDECIMAL=false WORKSPACE_PROTOC_VERSION=latest ### PHP_FPM ############################################### @@ -256,6 +257,7 @@ PHP_FPM_INSTALL_PING=false PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_INSTALL_MAILPARSE=false PHP_FPM_INSTALL_WKHTMLTOPDF=false +PHP_FPM_INSTALL_PHPDECIMAL=false PHP_FPM_FFMPEG=false PHP_FPM_AUDIOWAVEFORM=false PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8" diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index e6cc119..9ee8460 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -1069,6 +1069,21 @@ RUN if [ ${INSTALL_XMLRPC} = true ]; then \ fi \ ;fi +########################################################################### +# PHP DECIMAL: +########################################################################### + +USER root + +ARG INSTALL_PHPDECIMAL=false + +RUN if [ ${INSTALL_PHPDECIMAL} = true ]; then \ + apt-get update -yqq \ + && apt-get install -y libmpdec-dev \ + && pecl install decimal \ + && docker-php-ext-enable decimal \ +;fi + ########################################################################### # New Relic for PHP: ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index ca62496..7ef997b 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1576,6 +1576,26 @@ RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \ echo "" >> ~/.zshrc \ ;fi +USER root + + +########################################################################### +# PHP DECIMAL: +########################################################################### + +USER root + +ARG INSTALL_PHPDECIMAL=false + +RUN if [ ${INSTALL_PHPDECIMAL} = true ]; then \ + apt-get update -yqq \ + && apt-get install -y libmpdec-dev \ + && pecl install decimal \ + && echo "extension=decimal.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/decimal.ini \ + && ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/decimal.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-decimal.ini \ + && php -m | grep -q 'decimal' \ +;fi + # #-------------------------------------------------------------------------- # Final Touch