瀏覽代碼

Make possible to use a separate config for PHP with FPM and CLI

Emmanuel Bouthenot 9 年之前
父節點
當前提交
5a469bd605

+ 23 - 20
roles/webserver/defaults/main.yml

@@ -11,8 +11,8 @@ nginx_workers: 2
 
 with_fpm: False
 fpm_pool_count: 1
-fpm_user: www-data
-fpm_group: www-data
+fpm_user: 'www-data'
+fpm_group: 'www-data'
 # fpm_max_children ~= (total RAM - RAM used by other process) / (average amount of RAM used by a PHP process)
 fpm_start_servers: 2
 fpm_max_children: 5
@@ -23,24 +23,27 @@ with_php: False
 with_php_lt_54: False
 phpsyscheck_vhostname: sys.localhost
 php_config:
-  - key: "short_open_tag"
-    value: "Off"
-  - key: "expose_php"
-    value: "Off"
-  - key: "display_errors"
-    value : "Off"
-  - key: "display_startup_errors"
-    value: "Off"
-  - key: "log_errors"
-    value: "On"
-  - key: "html_errors"
-    value: "Off"
-  - key: "cgi.fix_pathinfo"
-    value: "0"
-  - key: "error_log"
-    value: "syslog"
-  - key: "date.timezone"
-    value: "Europe/Paris"
+  - key: 'date.timezone'
+    value: 'Europe/Paris'
+  - key: 'short_open_tag'
+    value: 'off'
+  - key: 'expose_php'
+    value: 'off'
+
+php_config_web:
+  - key: 'display_errors'
+    value : 'off'
+  - key: 'display_startup_errors'
+    value: 'off'
+  - key: 'log_errors'
+    value: 'on'
+  - key: 'html_errors'
+    value: 'off'
+  - key: 'cgi.fix_pathinfo'
+    value: '0'
+# Set with /etc/default/php5-fpm (see https://bugs.php.net/bug.php?id=66239)
+#  - key: 'error_log'
+#    value: 'syslog'
 
 with_php_apc: False
 

+ 1 - 0
roles/webserver/handlers/main.yml

@@ -1,3 +1,4 @@
 - include: apache2.yml
 - include: nginx.yml
 - include: fpm.yml
+- include: php.yml

+ 18 - 1
roles/webserver/templates/fpm/php-fpm-custom.conf.j2

@@ -494,7 +494,24 @@ catch_workers_output = yes
 ;php_admin_value[error_log] = /var/log/fpm-php.www.log
 ;php_admin_flag[log_errors] = on
 ;php_admin_value[memory_limit] = 32M
-
+{% if php_config_web is defined %}
+{% for param in php_config_web %}
+{% if param.value == "on" or param.value == "On" or param.value == "off" or param.value == "Off" %}
+php_admin_flag[{{ param.key }}] = {{ param.value }}
+{% else %}
+php_admin_value[{{ param.key }}] = {{ param.value }}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if php_local_config_web is defined %}
+{% for param in php_local_config_web %}
+{% if param.value == "on" or param.value == "On" or param.value == "off" or param.value == "Off" %}
+php_admin_flag[{{ param.key }}] = {{ param.value }}
+{% else %}
+php_admin_value[{{ param.key }}] = {{ param.value }}
+{% endif %}
 {% endfor %}
+{% endif %}
 
+{% endfor %}
 ; vim: ft=dosini