From 74776b1d3060f20b831f82c27aeccc9e37ae614a Mon Sep 17 00:00:00 2001 From: sagarnasit Date: Fri, 12 Oct 2018 18:35:34 +0530 Subject: [PATCH 1/2] Mount conf.d path of php --- src/Site_WP_Docker.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Site_WP_Docker.php b/src/Site_WP_Docker.php index 76eaee9..c46a6cb 100644 --- a/src/Site_WP_Docker.php +++ b/src/Site_WP_Docker.php @@ -73,6 +73,7 @@ public function generate_docker_compose_yml( array $filters = [] ) { 'vol' => [ [ 'name' => './app/src:/var/www/htdocs' ], [ 'name' => './config/php-fpm/php.ini:/usr/local/etc/php/php.ini' ], + [ 'name' => './config/php-fpm/conf.d:/usr/local/etc/php/conf.d' ], ], ], ]; From 0ad9a095f11fc2a9fcba0b6c1d2d19d84848c72d Mon Sep 17 00:00:00 2001 From: sagarnasit Date: Mon, 15 Oct 2018 15:48:21 +0530 Subject: [PATCH 2/2] Use mustache teplate to generate conf.d config files --- src/WordPress.php | 33 +++++++++++++++++++ .../conf.d/docker-php-ext-gd.ini.mustache | 1 + .../docker-php-ext-imagick.ini.mustache | 1 + .../conf.d/docker-php-ext-mcrypt.ini.mustache | 1 + .../docker-php-ext-memcache.ini.mustache | 1 + .../conf.d/docker-php-ext-mysqli.ini.mustache | 1 + .../docker-php-ext-opcache.ini.mustache | 1 + .../conf.d/docker-php-ext-redis.ini.mustache | 1 + .../conf.d/docker-php-ext-sodium.ini.mustache | 1 + .../conf.d/docker-php-ext-zip.ini.mustache | 1 + .../php-fpm/conf.d/memcached.ini.mustache | 1 + .../conf.d/opcache-recommended.ini.mustache | 6 ++++ 12 files changed, 49 insertions(+) create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-gd.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-imagick.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-mcrypt.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-memcache.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-mysqli.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-opcache.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-redis.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-sodium.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/docker-php-ext-zip.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/memcached.ini.mustache create mode 100644 templates/config/php-fpm/conf.d/opcache-recommended.ini.mustache diff --git a/src/WordPress.php b/src/WordPress.php index 629ceea..160e4f5 100644 --- a/src/WordPress.php +++ b/src/WordPress.php @@ -462,6 +462,7 @@ private function configure_site_files() { $this->fs->dumpFile( $site_nginx_default_conf, $default_conf_content ); $this->fs->copy( $custom_conf_source, $custom_conf_dest ); $this->fs->dumpFile( $site_php_ini, $php_ini_content ); + $this->generate_php_confd_config_files(); \EE\Site\Utils\set_postfix_files( $this->site_data['site_url'], $site_conf_dir ); @@ -494,6 +495,38 @@ protected function dump_docker_compose_yml( $additional_filters = [] ) { $this->fs->dumpFile( $site_docker_yml, $docker_compose_content ); } + /** + * Generate php conf.d config files. + */ + protected function generate_php_confd_config_files() { + $confd_template_path = SITE_WP_TEMPLATE_ROOT . '/config/php-fpm/conf.d'; + $confd_config_path = $this->site_data['site_fs_path'] . '/config/php-fpm/conf.d/'; + + $ext_gd = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-gd.ini.mustache' ); + $ext_imagick = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-imagick.ini.mustache' ); + $ext_mcrypt = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-mcrypt.ini.mustache' ); + $ext_memcache = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-memcache.ini.mustache' ); + $ext_mysql = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-mysqli.ini.mustache' ); + $ext_opcache = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-opcache.ini.mustache' ); + $ext_redis = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-redis.ini.mustache' ); + $ext_sodium = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-sodium.ini.mustache' ); + $ext_zip = \EE\Utils\mustache_render( $confd_template_path . '/docker-php-ext-zip.ini.mustache' ); + $memcache = \EE\Utils\mustache_render( $confd_template_path . '/memcached.ini.mustache' ); + $opcache_recommended = \EE\Utils\mustache_render( $confd_template_path . '/opcache-recommended.ini.mustache' ); + + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-gd.ini', $ext_gd ); + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-imagick.ini', $ext_imagick ); + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-mcrypt.ini', $ext_mcrypt ); + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-memcache.ini', $ext_memcache ); + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-mysqli.ini', $ext_mysql ); + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-opcache.ini', $ext_opcache ); + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-redis.ini', $ext_redis ); + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-sodium.ini', $ext_sodium ); + $this->fs->dumpFile( $confd_config_path . '/docker-php-ext-zip.ini', $ext_zip ); + $this->fs->dumpFile( $confd_config_path . '/memcached.ini', $memcache ); + $this->fs->dumpFile( $confd_config_path . '/opcache-recommended.ini', $opcache_recommended ); + + } /** * Function to generate main.conf from mustache templates. diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-gd.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-gd.ini.mustache new file mode 100644 index 0000000..1941c0d --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-gd.ini.mustache @@ -0,0 +1 @@ +extension=gd.so diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-imagick.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-imagick.ini.mustache new file mode 100644 index 0000000..d7513f1 --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-imagick.ini.mustache @@ -0,0 +1 @@ +extension=imagick.so diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-mcrypt.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-mcrypt.ini.mustache new file mode 100644 index 0000000..547ebdd --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-mcrypt.ini.mustache @@ -0,0 +1 @@ +extension=mcrypt.so diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-memcache.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-memcache.ini.mustache new file mode 100644 index 0000000..587455f --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-memcache.ini.mustache @@ -0,0 +1 @@ +extension=memcache.so diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-mysqli.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-mysqli.ini.mustache new file mode 100644 index 0000000..9d0502f --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-mysqli.ini.mustache @@ -0,0 +1 @@ +extension=mysqli.so diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-opcache.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-opcache.ini.mustache new file mode 100644 index 0000000..2853356 --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-opcache.ini.mustache @@ -0,0 +1 @@ +zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/opcache.so diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-redis.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-redis.ini.mustache new file mode 100644 index 0000000..6aecae4 --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-redis.ini.mustache @@ -0,0 +1 @@ +extension=redis.so diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-sodium.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-sodium.ini.mustache new file mode 100644 index 0000000..5ee7788 --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-sodium.ini.mustache @@ -0,0 +1 @@ +extension=sodium.so diff --git a/templates/config/php-fpm/conf.d/docker-php-ext-zip.ini.mustache b/templates/config/php-fpm/conf.d/docker-php-ext-zip.ini.mustache new file mode 100644 index 0000000..bb70997 --- /dev/null +++ b/templates/config/php-fpm/conf.d/docker-php-ext-zip.ini.mustache @@ -0,0 +1 @@ +extension=zip.so diff --git a/templates/config/php-fpm/conf.d/memcached.ini.mustache b/templates/config/php-fpm/conf.d/memcached.ini.mustache new file mode 100644 index 0000000..7d09664 --- /dev/null +++ b/templates/config/php-fpm/conf.d/memcached.ini.mustache @@ -0,0 +1 @@ +extension=memcached.so diff --git a/templates/config/php-fpm/conf.d/opcache-recommended.ini.mustache b/templates/config/php-fpm/conf.d/opcache-recommended.ini.mustache new file mode 100644 index 0000000..8312a0e --- /dev/null +++ b/templates/config/php-fpm/conf.d/opcache-recommended.ini.mustache @@ -0,0 +1,6 @@ +opcache.memory_consumption=128 +opcache.interned_strings_buffer=8 +opcache.max_accelerated_files=4000 +opcache.revalidate_freq=2 +opcache.fast_shutdown=1 +opcache.enable_cli=1