diff --git a/merge/dev-lang/.calculate_directory b/merge/dev-lang/.calculate_directory
new file mode 100644
index 0000000..8e3df7f
--- /dev/null
+++ b/merge/dev-lang/.calculate_directory
@@ -0,0 +1 @@
+{% calculate append = 'skip' %}
diff --git a/merge/dev-lang/php/.calculate_directory b/merge/dev-lang/php/.calculate_directory
new file mode 100644
index 0000000..23dee9a
--- /dev/null
+++ b/merge/dev-lang/php/.calculate_directory
@@ -0,0 +1 @@
+{% calculate path='/etc', package='dev-lang/php', pkg('www-servers/nginx') %}
diff --git a/merge/dev-lang/php/fpm-php7.1/.calculate_directory b/merge/dev-lang/php/fpm-php7.1/.calculate_directory
new file mode 100644
index 0000000..7a6affc
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.1/.calculate_directory
@@ -0,0 +1 @@
+{% calculate package='dev-lang/php:7.1' %}
diff --git a/merge/dev-lang/php/fpm-php7.1/fpm.d/www.conf b/merge/dev-lang/php/fpm-php7.1/fpm.d/www.conf
new file mode 100644
index 0000000..1993d33
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.1/fpm.d/www.conf
@@ -0,0 +1,17 @@
+{% calculate format='regex', multiline %}
+^;?(user)\s*=.*
+\1 = nginx
+^;?(group)\s*=.*
+\1 = nginx
+^;?(listen)\s*=.*
+\1 = /run/php-fpm.socket
+^;?(listen\.owner)\s*=.*
+\1 = nginx
+^;?(listen\.group)\s*=.*
+\1 = nginx
+^;?(pm.max_children)\s*=.*
+\1 = 20
+^;env
+env
+^(env\[PATH\])\s*=.*
+\1 = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
diff --git a/merge/dev-lang/php/fpm-php7.1/php.ini b/merge/dev-lang/php/fpm-php7.1/php.ini
new file mode 100644
index 0000000..a9789c9
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.1/php.ini
@@ -0,0 +1 @@
+{% calculate format='regex' %}
diff --git a/merge/dev-lang/php/fpm-php7.2/.calculate_directory b/merge/dev-lang/php/fpm-php7.2/.calculate_directory
new file mode 100644
index 0000000..bc66e32
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.2/.calculate_directory
@@ -0,0 +1 @@
+{% calculate package='dev-lang/php:7.2' %}
diff --git a/merge/dev-lang/php/fpm-php7.2/fpm.d/www.conf b/merge/dev-lang/php/fpm-php7.2/fpm.d/www.conf
new file mode 100644
index 0000000..1993d33
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.2/fpm.d/www.conf
@@ -0,0 +1,17 @@
+{% calculate format='regex', multiline %}
+^;?(user)\s*=.*
+\1 = nginx
+^;?(group)\s*=.*
+\1 = nginx
+^;?(listen)\s*=.*
+\1 = /run/php-fpm.socket
+^;?(listen\.owner)\s*=.*
+\1 = nginx
+^;?(listen\.group)\s*=.*
+\1 = nginx
+^;?(pm.max_children)\s*=.*
+\1 = 20
+^;env
+env
+^(env\[PATH\])\s*=.*
+\1 = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
diff --git a/merge/dev-lang/php/fpm-php7.2/php.ini b/merge/dev-lang/php/fpm-php7.2/php.ini
new file mode 100644
index 0000000..4fe58e2
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.2/php.ini
@@ -0,0 +1,9 @@
+{% calculate format='regex' %}
+;?(cgi.fix_pathinfo)\s*=.*
+\1=0
+;?(date\.timezone)\s*=.*
+\1="Europe/Moscow"
+;?(opcache\.enable_cli)\s*=.*
+\1=1
+;?(opcache\.revalidate_freq)\s*=.*
+\1=1
diff --git a/merge/dev-lang/php/fpm-php7.3/.calculate_directory b/merge/dev-lang/php/fpm-php7.3/.calculate_directory
new file mode 100644
index 0000000..4e123ca
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.3/.calculate_directory
@@ -0,0 +1 @@
+{% calculate package='dev-lang/php:7.3' %}
diff --git a/merge/dev-lang/php/fpm-php7.3/fpm.d/www.conf b/merge/dev-lang/php/fpm-php7.3/fpm.d/www.conf
new file mode 100644
index 0000000..1993d33
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.3/fpm.d/www.conf
@@ -0,0 +1,17 @@
+{% calculate format='regex', multiline %}
+^;?(user)\s*=.*
+\1 = nginx
+^;?(group)\s*=.*
+\1 = nginx
+^;?(listen)\s*=.*
+\1 = /run/php-fpm.socket
+^;?(listen\.owner)\s*=.*
+\1 = nginx
+^;?(listen\.group)\s*=.*
+\1 = nginx
+^;?(pm.max_children)\s*=.*
+\1 = 20
+^;env
+env
+^(env\[PATH\])\s*=.*
+\1 = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
diff --git a/merge/dev-lang/php/fpm-php7.3/php.ini b/merge/dev-lang/php/fpm-php7.3/php.ini
new file mode 100644
index 0000000..4fe58e2
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.3/php.ini
@@ -0,0 +1,9 @@
+{% calculate format='regex' %}
+;?(cgi.fix_pathinfo)\s*=.*
+\1=0
+;?(date\.timezone)\s*=.*
+\1="Europe/Moscow"
+;?(opcache\.enable_cli)\s*=.*
+\1=1
+;?(opcache\.revalidate_freq)\s*=.*
+\1=1
diff --git a/merge/dev-lang/php/fpm-php7.4/.calculate_directory b/merge/dev-lang/php/fpm-php7.4/.calculate_directory
new file mode 100644
index 0000000..353b60b
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.4/.calculate_directory
@@ -0,0 +1 @@
+{% calculate package='dev-lang/php:7.4' %}
diff --git a/merge/dev-lang/php/fpm-php7.4/fpm.d/www.conf b/merge/dev-lang/php/fpm-php7.4/fpm.d/www.conf
new file mode 100644
index 0000000..1993d33
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.4/fpm.d/www.conf
@@ -0,0 +1,17 @@
+{% calculate format='regex', multiline %}
+^;?(user)\s*=.*
+\1 = nginx
+^;?(group)\s*=.*
+\1 = nginx
+^;?(listen)\s*=.*
+\1 = /run/php-fpm.socket
+^;?(listen\.owner)\s*=.*
+\1 = nginx
+^;?(listen\.group)\s*=.*
+\1 = nginx
+^;?(pm.max_children)\s*=.*
+\1 = 20
+^;env
+env
+^(env\[PATH\])\s*=.*
+\1 = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
diff --git a/merge/dev-lang/php/fpm-php7.4/php.ini b/merge/dev-lang/php/fpm-php7.4/php.ini
new file mode 100644
index 0000000..4fe58e2
--- /dev/null
+++ b/merge/dev-lang/php/fpm-php7.4/php.ini
@@ -0,0 +1,9 @@
+{% calculate format='regex' %}
+;?(cgi.fix_pathinfo)\s*=.*
+\1=0
+;?(date\.timezone)\s*=.*
+\1="Europe/Moscow"
+;?(opcache\.enable_cli)\s*=.*
+\1=1
+;?(opcache\.revalidate_freq)\s*=.*
+\1=1