Skip to content

Commit b4c9e2a

Browse files
committed
feat: implement opcache
1 parent 47dcf68 commit b4c9e2a

36 files changed

Lines changed: 171 additions & 45 deletions

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ docker-php-ext-install -j "$(nproc)" \
8686
intl \
8787
mysqli \
8888
zip \
89+
$(test "${PHP_VERSION:0:3}" != "8.5" && echo 'opcache') \
8990
soap \
9091
pdo \
9192
pdo_mysql \

docker-entrypoint.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ process_templates() {
2424
_gotpl "docker-php-base.ini.tmpl" "${PHP_INI_DIR}/conf.d/zzz-custom-php.ini"
2525
_gotpl "docker-php-error.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-error.ini"
2626
_gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini"
27-
27+
_gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini"
2828
_gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini"
2929

3030
_gotpl "docker-apache-vhost.conf.tmpl" "/etc/apache2/sites-available/000-default.conf"

latest/php8.1/apache/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ RUN set -ex; \
8484
intl \
8585
mysqli \
8686
zip \
87+
$(test "${PHP_VERSION:0:3}" != "8.5" && echo 'opcache') \
8788
soap \
8889
pdo \
8990
pdo_mysql \

latest/php8.1/apache/docker-entrypoint.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ process_templates() {
2424
_gotpl "docker-php-base.ini.tmpl" "${PHP_INI_DIR}/conf.d/zzz-custom-php.ini"
2525
_gotpl "docker-php-error.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-error.ini"
2626
_gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini"
27-
27+
_gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini"
2828
_gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini"
2929

3030
_gotpl "docker-apache-vhost.conf.tmpl" "/etc/apache2/sites-available/000-default.conf"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[apcu]
2+
extension=apcu.so
3+
apc.enabled = {{ getenv "PHP_APCU_ENABLED" "1" }}
4+
apc.shm_size = {{ getenv "PHP_APCU_SHM_SIZE" "32M" }}
5+
apc.entries_hint = {{ getenv "PHP_APCU_ENTRIES_HINT" "0" }}
6+
apc.ttl = {{ getenv "PHP_APCU_TTL" "0" }}
7+
apc.gc_ttl = {{ getenv "PHP_APCU_GC_TTL" "3600" }}
8+
apc.slam_defense = {{ getenv "PHP_APCU_SLAM_DEFENSE" "0" }}
9+
apc.enable_cli = {{ getenv "PHP_APCU_ENABLE_CLI" "0" }}
10+
apc.use_request_time = {{ getenv "PHP_APCU_USE_REQUEST_TIME" "0" }}
11+
apc.coredump_unmap = {{ getenv "PHP_APCU_COREDUMP_UNMAP" "0" }}
12+
apc.preload_path = {{ getenv "PHP_APCU_PRELOAD_PATH" "NULL" }}
13+
apc.serializer = {{ getenv "PHP_APCU_SERIALIZER" "php" }}

latest/php8.1/apache/templates/docker-php-ext-opcache.ini.tmpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
zend_extension = opcache.so
33
opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }}
44
opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "0" }}
5-
opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }}
6-
opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "20000" }}
7-
opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "192" }}
8-
opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "16" }}
5+
opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "30" }}
6+
opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "100000" }}
7+
opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "640" }}
8+
opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }}
99
opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }}
1010
opcache.huge_code_pages = {{ getenv "PHP_OPCACHE_HUGE_CODE_PAGES" "0" }}
1111
{{ if getenv "PHP_OPCACHE_PRELOAD" }}

latest/php8.1/fpm/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ RUN set -ex; \
8484
intl \
8585
mysqli \
8686
zip \
87+
$(test "${PHP_VERSION:0:3}" != "8.5" && echo 'opcache') \
8788
soap \
8889
pdo \
8990
pdo_mysql \

latest/php8.1/fpm/docker-entrypoint.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ process_templates() {
2424
_gotpl "docker-php-base.ini.tmpl" "${PHP_INI_DIR}/conf.d/zzz-custom-php.ini"
2525
_gotpl "docker-php-error.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-error.ini"
2626
_gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini"
27-
27+
_gotpl "docker-php-ext-opcache.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-opcache.ini"
2828
_gotpl "docker-php-ext-newrelic.ini.tmpl" "${PHP_INI_DIR}/conf.d/docker-php-ext-newrelic.ini"
2929

3030
_gotpl "docker-apache-vhost.conf.tmpl" "/etc/apache2/sites-available/000-default.conf"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[apcu]
2+
extension=apcu.so
3+
apc.enabled = {{ getenv "PHP_APCU_ENABLED" "1" }}
4+
apc.shm_size = {{ getenv "PHP_APCU_SHM_SIZE" "32M" }}
5+
apc.entries_hint = {{ getenv "PHP_APCU_ENTRIES_HINT" "0" }}
6+
apc.ttl = {{ getenv "PHP_APCU_TTL" "0" }}
7+
apc.gc_ttl = {{ getenv "PHP_APCU_GC_TTL" "3600" }}
8+
apc.slam_defense = {{ getenv "PHP_APCU_SLAM_DEFENSE" "0" }}
9+
apc.enable_cli = {{ getenv "PHP_APCU_ENABLE_CLI" "0" }}
10+
apc.use_request_time = {{ getenv "PHP_APCU_USE_REQUEST_TIME" "0" }}
11+
apc.coredump_unmap = {{ getenv "PHP_APCU_COREDUMP_UNMAP" "0" }}
12+
apc.preload_path = {{ getenv "PHP_APCU_PRELOAD_PATH" "NULL" }}
13+
apc.serializer = {{ getenv "PHP_APCU_SERIALIZER" "php" }}

latest/php8.1/fpm/templates/docker-php-ext-opcache.ini.tmpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
zend_extension = opcache.so
33
opcache.enable = {{ getenv "PHP_OPCACHE_ENABLE" "1" }}
44
opcache.validate_timestamps = {{ getenv "PHP_OPCACHE_VALIDATE_TIMESTAMPS" "0" }}
5-
opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "2" }}
6-
opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "20000" }}
7-
opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "192" }}
8-
opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "16" }}
5+
opcache.revalidate_freq = {{ getenv "PHP_OPCACHE_REVALIDATE_FREQ" "30" }}
6+
opcache.max_accelerated_files = {{ getenv "PHP_OPCACHE_MAX_ACCELERATED_FILES" "100000" }}
7+
opcache.memory_consumption = {{ getenv "PHP_OPCACHE_MEMORY_CONSUMPTION" "640" }}
8+
opcache.interned_strings_buffer = {{ getenv "PHP_OPCACHE_INTERNED_STRINGS_BUFFER" "8" }}
99
opcache.enable_cli = {{ getenv "PHP_OPCACHE_ENABLE_CLI" "0" }}
1010
opcache.huge_code_pages = {{ getenv "PHP_OPCACHE_HUGE_CODE_PAGES" "0" }}
1111
{{ if getenv "PHP_OPCACHE_PRELOAD" }}

0 commit comments

Comments
 (0)