From 1eed53ae9c1c46ec69a3da5da128a57338f08a48 Mon Sep 17 00:00:00 2001 From: Marvin Flock Date: Tue, 18 Mar 2025 20:29:33 +0100 Subject: [PATCH] fix: add missing php ini to docker compose --- docker-compose.yml | 1 + docker/php.ini | 204 ++++++++++++++++----------------------------- 2 files changed, 72 insertions(+), 133 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5d9d9e5..6f566c4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,6 +16,7 @@ services: JOOMLA_ADMIN_EMAIL: joomla@example.com volumes: - './data/joomla_data:/var/www/html' + - './docker/php.ini:/usr/local/etc/php/php.ini' networks: - joomla_network diff --git a/docker/php.ini b/docker/php.ini index cd54289..28dd9eb 100644 --- a/docker/php.ini +++ b/docker/php.ini @@ -9,15 +9,15 @@ ; 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) +; 2. The PHPRC environment variable. +; 3. A number of predefined registry keys on Windows ; 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 +; https://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). @@ -31,7 +31,7 @@ ; 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 +; https://php.net/ini.sections ; Directives are specified using the following syntax: ; directive = value @@ -75,7 +75,7 @@ ; 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 +; compatibility with older or less security-conscious 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 @@ -756,7 +756,7 @@ user_dir = ; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir -extension_dir = /opt/bitnami/php/lib/php/extensions +;extension_dir = /usr/local/lib/php/extensions ; On windows: ;extension_dir = "ext" @@ -839,7 +839,7 @@ 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 = /opt/bitnami/php/tmp +upload_tmp_dir = /tmp ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize @@ -1318,7 +1318,7 @@ session.save_handler = files ; ; The path can be defined as: ; -session.save_path = /opt/bitnami/php/var/run/session +session.save_path = /tmp/session ; ; 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 @@ -1334,12 +1334,10 @@ session.save_path = /opt/bitnami/php/var/run/session ; The file storage module creates files using mode 600 by default. ; You can change that by using ; -session.save_path = /opt/bitnami/php/var/run/session ; ; 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 = /opt/bitnami/php/var/run/session ; Whether to use strict session mode. ; Strict session mode does not accept an uninitialized session ID, and @@ -1539,18 +1537,18 @@ session.sid_bits_per_character = 5 ; Default Value: "1%" ; Development Value: "1%" ; Production Value: "1%" -; http://php.net/session.upload-progress.freq +; https://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 +; https://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 +; https://php.net/session.lazy-write ;session.lazy_write = On [Assertion] @@ -1558,67 +1556,47 @@ session.sid_bits_per_character = 5 ; -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) +; Changing from or to a negative value is only possible in php.ini! +; (For turning assertions on and off at run-time, toggle zend.assertions between the values 1 and 0) ; Default Value: 1 ; Development Value: 1 ; Production Value: -1 -; http://php.net/zend.assertions +; https://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 +; https://php.net/com.typelib-file ;com.typelib_file = ; allow Distributed-COM calls -; http://php.net/com.allow-dcom +; https://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 +; autoregister constants of a component's typelib on com_load() +; https://php.net/com.autoregister-typelib ;com.autoregister_typelib = true ; register constants casesensitive -; http://php.net/com.autoregister-casesensitive +; https://php.net/com.autoregister-casesensitive ;com.autoregister_casesensitive = false ; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose +; https://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= +; The version of the .NET framework to use. The value of the setting are the first three parts +; of the framework's version number, separated by dots, and prefixed with "v", e.g. "v4.0.30319". +;com.dotnet_version= + [mbstring] ; language for internal character representation. ; This affects mb_send_mail() and mbstring.detect_order. -; http://php.net/mbstring.language +; https://php.net/mbstring.language ;mbstring.language = Japanese ; Use of this INI entry is deprecated, use global internal_encoding instead. @@ -1633,7 +1611,7 @@ zend.assertions = -1 ; 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 < mbstring.http_input -; http://php.net/mbstring.http-input +; https://php.net/mbstring.http-input ;mbstring.http_input = ; Use of this INI entry is deprecated, use global output_encoding instead. @@ -1643,7 +1621,7 @@ zend.assertions = -1 ; 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 +; https://php.net/mbstring.http-output ;mbstring.http_output = ; enable automatic encoding translation according to @@ -1651,54 +1629,40 @@ zend.assertions = -1 ; 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 +; https://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 +; https://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 +; https://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 +; 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= +; Default: mbstring.http_output_conv_mimetypes=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetypes= ; 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 +; https://php.net/gd.jpeg-ignore-warning ;gd.jpeg_ignore_warning = 1 [exif] @@ -1706,48 +1670,48 @@ zend.assertions = -1 ; 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 +; intel byte order. A decode setting must not be empty. +; https://php.net/exif.encode-unicode ;exif.encode_unicode = ISO-8859-15 -; http://php.net/exif.decode-unicode-motorola +; https://php.net/exif.decode-unicode-motorola ;exif.decode_unicode_motorola = UCS-2BE -; http://php.net/exif.decode-unicode-intel +; https://php.net/exif.decode-unicode-intel ;exif.decode_unicode_intel = UCS-2LE -; http://php.net/exif.encode-jis +; https://php.net/exif.encode-jis ;exif.encode_jis = -; http://php.net/exif.decode-jis-motorola +; https://php.net/exif.decode-jis-motorola ;exif.decode_jis_motorola = JIS -; http://php.net/exif.decode-jis-intel +; https://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 +; https://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 +; https://php.net/tidy.clean-output tidy.clean_output = Off [soap] ; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled +; https://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 +; https://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 +; https://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) @@ -1806,6 +1770,11 @@ opcache.revalidate_freq = 60 ; size of the optimized code. ;opcache.save_comments=1 +; If enabled, compilation warnings (including notices and deprecations) will +; be recorded and replayed each time a file is included. Otherwise, compilation +; warnings will only be emitted when the file is first cached. +;opcache.record_warnings=0 + ; Allow file existence override (file_exists, etc.) performance feature. ;opcache.enable_file_override=0 @@ -1827,10 +1796,6 @@ opcache.revalidate_freq = 60 ; 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 @@ -1868,7 +1833,16 @@ opcache.revalidate_freq = 60 ; 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 = /opt/bitnami/php/var/run/opcache_file +opcache.file_cache = /tmp/opcache_file + +; Enables or disables read-only mode for the second level cache directory. +; It should improve performance for read-only containers, +; when the cache is pre-warmed and packaged alongside the application. +; Best used with `opcache.validate_timestamps=0`, `opcache.enable_file_override=1` +; and `opcache.file_cache_consistency_checks=0`. +; Note: A cache generated with a different build of PHP, a different file path, +; or different settings (including which extensions are loaded), may be ignored. +;opcache.file_cache_read_only=0 ; Enables or disables opcode caching in shared memory. ;opcache.file_cache_only=0 @@ -1882,8 +1856,13 @@ opcache.file_cache = /opt/bitnami/php/var/run/opcache_file ;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 +; Under certain circumstances (if only a single global PHP process is +; started from which all others fork), this can increase performance +; by a tiny amount because TLB misses are reduced. On the other hand, this +; delays PHP startup, increases memory usage and degrades performance +; under memory pressure - use with care. +; Requires appropriate OS configuration. +;opcache.huge_code_pages=0 ; Validate cached file permissions. ;opcache.validate_permission=0 @@ -1897,12 +1876,12 @@ opcache.file_cache = /opt/bitnami/php/var/run/opcache_file ; Specifies a PHP script that is going to be compiled and executed at server ; start-up. -; http://php.net/opcache.preload +; https://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 +; https://php.net/opcache.preload_user ;opcache.preload_user= ; Prevents caching files that are less than this number of seconds old. It @@ -1945,44 +1924,3 @@ opcache.file_cache = /opt/bitnami/php/var/run/opcache_file ; List of headers files to preload, wildcard patterns allowed. ;ffi.preload= -zend_extension = opcache -opcache.fast_shutdown = 1 -;extension = pdo_dblib -;extension = apcu -;extension = mcrypt -;extension = imagick -;extension = memcached -;extension = maxminddb -;extension = mongodb - -;[XDebug] -zend_extension = xdebug -xdebug.mode = debug -;xdebug.client_host = 127.0.0.1 -;xdebug.client_port = 9000 -;xdebug.output_dir = /tmp -;xdebug.remote_handler = dbgp - -;xdebug.remote_port=9000 -;xdebug.remote_host=10.254.254.254 -;xdebug.remote_autostart=1 -;xdebug.remote_enable=1 -;xdebug.default_enable=0 -;xdebug.remote_host=host.docker.internal -;xdebug.remote_port=9000 -;xdebug.remote_connect_back=0 -;xdebug.profiler_enable=0 -;xdebug.remote_log="/tmp/xdebug.log" -xdebug.mode=debug -xdebug.client_port=9000 -xdebug.client_host=host.docker.internal -xdebug.remote_handler=dbgp -;xdebug.remote_host=host.docker.internal -;xdebug.remote_port=9000 -xdebug.start_with_request=yes -xdebug.discover_client_host=0 -xdebug.idekey=PHPSTORM -xdebug.show_error_trace = 1 -xdebug.max_nesting_level=250 -xdebug.var_display_max_depth=10 -;xdebug.log=/tmp/xdebug.log