From d3b7c843a5411f34cd52125da5c256245c7a4037 Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Thu, 28 Sep 2023 06:27:15 +0200 Subject: [PATCH] Add PHP Opcache extension --- src/docker/7.2/Dockerfile | 4 +- src/docker/7.3/Dockerfile | 5 +- src/docker/7.4/Dockerfile | 4 +- src/docker/8.0/Dockerfile | 4 +- src/docker/8.1/Dockerfile | 3 + src/docker/8.2/Dockerfile | 3 + src/opcache.ini | 135 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 154 insertions(+), 4 deletions(-) create mode 100644 src/opcache.ini diff --git a/src/docker/7.2/Dockerfile b/src/docker/7.2/Dockerfile index 59b97de..cfc4f62 100644 --- a/src/docker/7.2/Dockerfile +++ b/src/docker/7.2/Dockerfile @@ -54,7 +54,8 @@ RUN docker-php-ext-install pdo_mysql # Install the PHP pdo_pgsql extention RUN docker-php-ext-install pdo_pgsql - +# Install PHP Opcache extention +RUN docker-php-ext-install opcache # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer @@ -68,6 +69,7 @@ mkdir -p /var/www/html ADD src/index.php $WORKDIR/index.php ADD src/conf/nginx/default.conf /etc/nginx/sites-available/default ADD src/php.ini $PHP_INI_DIR/conf.d/ +ADD src/opcache.ini $PHP_INI_DIR/conf.d/ ADD src/supervisor/supervisord.conf /etc/supervisor/supervisord.conf COPY src/entrypoint.sh /usr/local/bin/ diff --git a/src/docker/7.3/Dockerfile b/src/docker/7.3/Dockerfile index 23cda34..1ade451 100644 --- a/src/docker/7.3/Dockerfile +++ b/src/docker/7.3/Dockerfile @@ -54,7 +54,8 @@ RUN docker-php-ext-install pdo_mysql # Install the PHP pdo_pgsql extention RUN docker-php-ext-install pdo_pgsql - +# Install PHP Opcache extention +RUN docker-php-ext-install opcache # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer @@ -68,6 +69,8 @@ mkdir -p /var/www/html ADD src/index.php $WORKDIR/index.php ADD src/conf/nginx/default.conf /etc/nginx/sites-available/default ADD src/php.ini $PHP_INI_DIR/conf.d/ +ADD src/opcache.ini $PHP_INI_DIR/conf.d/ + ADD src/supervisor/supervisord.conf /etc/supervisor/supervisord.conf COPY src/entrypoint.sh /usr/local/bin/ diff --git a/src/docker/7.4/Dockerfile b/src/docker/7.4/Dockerfile index d8a14a6..f1dd2f0 100644 --- a/src/docker/7.4/Dockerfile +++ b/src/docker/7.4/Dockerfile @@ -54,7 +54,8 @@ RUN docker-php-ext-install pdo_mysql # Install the PHP pdo_pgsql extention RUN docker-php-ext-install pdo_pgsql - +# Install PHP Opcache extention +RUN docker-php-ext-install opcache # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer @@ -68,6 +69,7 @@ mkdir -p /var/www/html ADD src/index.php $WORKDIR/index.php ADD src/conf/nginx/default.conf /etc/nginx/sites-available/default ADD src/php.ini $PHP_INI_DIR/conf.d/ +ADD src/opcache.ini $PHP_INI_DIR/conf.d/ ADD src/supervisor/supervisord.conf /etc/supervisor/supervisord.conf COPY src/entrypoint.sh /usr/local/bin/ diff --git a/src/docker/8.0/Dockerfile b/src/docker/8.0/Dockerfile index 15444af..d26ab35 100644 --- a/src/docker/8.0/Dockerfile +++ b/src/docker/8.0/Dockerfile @@ -66,7 +66,8 @@ RUN docker-php-ext-install pdo_mysql # Install the PHP pdo_pgsql extention RUN docker-php-ext-install pdo_pgsql - +# Install PHP Opcache extention +RUN docker-php-ext-install opcache # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer @@ -80,6 +81,7 @@ mkdir -p /var/www/html ADD src/index.php $WORKDIR/index.php ADD src/conf/nginx/default.conf /etc/nginx/sites-available/default ADD src/php.ini $PHP_INI_DIR/conf.d/ +ADD src/opcache.ini $PHP_INI_DIR/conf.d/ ADD src/supervisor/supervisord.conf /etc/supervisor/supervisord.conf COPY src/entrypoint.sh /usr/local/bin/ diff --git a/src/docker/8.1/Dockerfile b/src/docker/8.1/Dockerfile index 409910f..7d9b9a3 100644 --- a/src/docker/8.1/Dockerfile +++ b/src/docker/8.1/Dockerfile @@ -67,6 +67,8 @@ RUN docker-php-ext-install pdo_mysql # Install the PHP pdo_pgsql extention RUN docker-php-ext-install pdo_pgsql +# Install PHP Opcache extention +RUN docker-php-ext-install opcache # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer @@ -80,6 +82,7 @@ mkdir -p /var/www/html ADD src/index.php $WORKDIR/index.php ADD src/conf/nginx/default.conf /etc/nginx/sites-available/default ADD src/php.ini $PHP_INI_DIR/conf.d/ +ADD src/opcache.ini $PHP_INI_DIR/conf.d/ ADD src/supervisor/supervisord.conf /etc/supervisor/supervisord.conf COPY src/entrypoint.sh /usr/local/bin/ diff --git a/src/docker/8.2/Dockerfile b/src/docker/8.2/Dockerfile index 7a750ad..144cad0 100644 --- a/src/docker/8.2/Dockerfile +++ b/src/docker/8.2/Dockerfile @@ -67,6 +67,8 @@ RUN docker-php-ext-install pdo_mysql # Install the PHP pdo_pgsql extention RUN docker-php-ext-install pdo_pgsql +# Install PHP Opcache extention +RUN docker-php-ext-install opcache # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer @@ -80,6 +82,7 @@ mkdir -p /var/www/html ADD src/index.php $WORKDIR/index.php ADD src/conf/nginx/default.conf /etc/nginx/sites-available/default ADD src/php.ini $PHP_INI_DIR/conf.d/ +ADD src/opcache.ini $PHP_INI_DIR/conf.d/ ADD src/supervisor/supervisord.conf /etc/supervisor/supervisord.conf COPY src/entrypoint.sh /usr/local/bin/ diff --git a/src/opcache.ini b/src/opcache.ini new file mode 100644 index 0000000..9710908 --- /dev/null +++ b/src/opcache.ini @@ -0,0 +1,135 @@ +[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=1 + +; The OPcache shared memory storage size. +opcache.memory_consumption=512 + +; The amount of memory for interned strings in Mbytes. +opcache.interned_strings_buffer=64 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;If you have multiple PHP sites on the server then consider the value 130986 +; for magento 2, keep 65406 +opcache.max_accelerated_files=50000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +opcache.max_wasted_percentage=15 + +; 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. +; For Development / testing, keep 1 +; For performance / production, keep 0 +opcache.validate_timestamps=0 + +;opcache.revalidate_freq How often in seconds should the code +;cache expire and check if your code has changed. 0 means it +;checks your PHP code every single request IF YOU HAVE +;opcache.validate_timestamps ENABLED. opcache.validate_timestamps +;should not be enabled by default, as long as it's disabled then any value for opcache. +;revalidate_freq will basically be ignored. You should really only ever enable +;this during development, you don't really want to enable this setting for a production application. +opcache.revalidate_freq=0 + +; 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=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=0x20000000 + +; 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 \ No newline at end of file