View | Details | Raw Unified | Return to bug 190190
Collapse All | Expand All

(-)b/lang/php5/Makefile (-2 / +11 lines)
Lines 3-9 Link Here
3
3
4
PORTNAME=	php5
4
PORTNAME=	php5
5
PORTVERSION=	5.4.28
5
PORTVERSION=	5.4.28
6
PORTREVISION?=	0
6
PORTREVISION?=	1
7
CATEGORIES?=	lang devel www
7
CATEGORIES?=	lang devel www
8
MASTER_SITES=	${MASTER_SITE_PHP}
8
MASTER_SITES=	${MASTER_SITE_PHP}
9
MASTER_SITE_SUBDIR=	distributions
9
MASTER_SITE_SUBDIR=	distributions
Lines 36-48 Link Here
36
36
37
USE_GNOME=	libxml2
37
USE_GNOME=	libxml2
38
38
39
OPTIONS_DEFINE+=CLI CGI FPM EMBED DEBUG DTRACE IPV6 MAILHEAD LINKTHR ZTS
39
OPTIONS_DEFINE+=CLI CGI FPM FPM_IPV6 EMBED DEBUG DTRACE IPV6 MAILHEAD \
40
		LINKTHR ZTS
40
OPTIONS_DEFAULT=CLI CGI FPM IPV6 LINKTHR
41
OPTIONS_DEFAULT=CLI CGI FPM IPV6 LINKTHR
41
OPTIONS_SUB=	yes
42
OPTIONS_SUB=	yes
42
43
43
CLI_DESC=	Build CLI version
44
CLI_DESC=	Build CLI version
44
CGI_DESC=	Build CGI version
45
CGI_DESC=	Build CGI version
45
FPM_DESC=	Build FPM version
46
FPM_DESC=	Build FPM version
47
FPM_IPV6_DESC=	Apply experimental patch to enable ipv6 support
46
EMBED_DESC=	Build embedded library
48
EMBED_DESC=	Build embedded library
47
DEBUG_DESC=	Enable debug
49
DEBUG_DESC=	Enable debug
48
DTRACE_DESC=	Enable DTrace support
50
DTRACE_DESC=	Enable DTrace support
Lines 85-90 Link Here
85
CONFIGURE_ARGS+=--enable-fpm \
87
CONFIGURE_ARGS+=--enable-fpm \
86
		--with-fpm-user=${WWWOWN} \
88
		--with-fpm-user=${WWWOWN} \
87
		--with-fpm-group=${WWWGRP}
89
		--with-fpm-group=${WWWGRP}
90
# Wrap it properly
91
# We need IPV6 support and patch doesn't make sense if PHP_FPM isn't enabled.
92
.if ${PORT_OPTIONS:MIPV6}
93
.if ${PORT_OPTIONS:MFPM_IPV6}
94
EXTRA_PATCHES+=	${FILESDIR}/extra-patch-php-fpm-ipv6:-p1
95
.endif
96
.endif
88
.endif
97
.endif
89
98
90
.if defined(OPTIONS_FILE_SET) && ${OPTIONS_FILE_SET:MAPACHE}
99
.if defined(OPTIONS_FILE_SET) && ${OPTIONS_FILE_SET:MAPACHE}
(-)b/lang/php5/files/extra-patch-php-fpm-ipv6 (+597 lines)
Added Link Here
1
From e767189535ff02cee43dfefecfdb5d36b3c81447 Mon Sep 17 00:00:00 2001
2
From: Robin Gloster <robin@loc-com.de>
3
Date: Sun, 23 Mar 2014 17:43:20 +0100
4
Subject: [PATCH 1/3] add IPv6 support to php-fpm
5
6
---
7
 sapi/fpm/fpm/fpm_sockets.c | 82 +++++++++++++++++++++++-----------------------
8
 sapi/fpm/fpm/fpm_sockets.h |  6 ----
9
 sapi/fpm/tests/003.phpt    | 53 ++++++++++++++++++++++++++++++
10
 3 files changed, 94 insertions(+), 47 deletions(-)
11
 create mode 100644 sapi/fpm/tests/003.phpt
12
13
diff --git a/sapi/fpm/fpm/fpm_sockets.c b/sapi/fpm/fpm/fpm_sockets.c
14
index e056565..583b1fa 100644
15
--- a/sapi/fpm/fpm/fpm_sockets.c
16
+++ b/sapi/fpm/fpm/fpm_sockets.c
17
@@ -39,29 +39,6 @@ struct listening_socket_s {
18
 
19
 static struct fpm_array_s sockets_list;
20
 
21
-static int fpm_sockets_resolve_af_inet(char *node, char *service, struct sockaddr_in *addr) /* {{{ */
22
-{
23
-	struct addrinfo *res;
24
-	struct addrinfo hints;
25
-	int ret;
26
-
27
-	memset(&hints, 0, sizeof(hints));
28
-	hints.ai_family = AF_INET;
29
-	ret = getaddrinfo(node, service, &hints, &res);
30
-
31
-	if (ret != 0) {
32
-		zlog(ZLOG_ERROR, "can't resolve hostname '%s%s%s': getaddrinfo said: %s%s%s\n",
33
-					node, service ? ":" : "", service ? service : "",
34
-					gai_strerror(ret), ret == EAI_SYSTEM ? ", system error: " : "", ret == EAI_SYSTEM ? strerror(errno) : "");
35
-		return -1;
36
-	}
37
-
38
-	*addr = *(struct sockaddr_in *) res->ai_addr;
39
-	freeaddrinfo(res);
40
-	return 0;
41
-}
42
-/* }}} */
43
-
44
 enum { FPM_GET_USE_SOCKET = 1, FPM_STORE_SOCKET = 2, FPM_STORE_USE_SOCKET = 3 };
45
 
46
 static void fpm_sockets_cleanup(int which, void *arg) /* {{{ */
47
@@ -98,14 +75,24 @@ static void fpm_sockets_cleanup(int which, void *arg) /* {{{ */
48
 }
49
 /* }}} */
50
 
51
+static void *fpm_get_in_addr(struct sockaddr *sa) /* {{{ */
52
+{
53
+    if (sa->sa_family == AF_INET) {
54
+        return &(((struct sockaddr_in*)sa)->sin_addr);
55
+    }
56
+
57
+    return &(((struct sockaddr_in6*)sa)->sin6_addr);
58
+}
59
+/* }}} */
60
+
61
 static int fpm_sockets_hash_op(int sock, struct sockaddr *sa, char *key, int type, int op) /* {{{ */
62
 {
63
 	if (key == NULL) {
64
 		switch (type) {
65
 			case FPM_AF_INET : {
66
 				struct sockaddr_in *sa_in = (struct sockaddr_in *) sa;
67
-				key = alloca(sizeof("xxx.xxx.xxx.xxx:ppppp"));
68
-				sprintf(key, "%u.%u.%u.%u:%u", IPQUAD(&sa_in->sin_addr), (unsigned int) ntohs(sa_in->sin_port));
69
+				key = alloca(INET6_ADDRSTRLEN);
70
+				inet_ntop(sa->sa_family, fpm_get_in_addr(sa), key, sizeof key);
71
 				break;
72
 			}
73
 
74
@@ -254,11 +241,14 @@ enum fpm_address_domain fpm_sockets_domain_from_address(char *address) /* {{{ */
75
 
76
 static int fpm_socket_af_inet_listening_socket(struct fpm_worker_pool_s *wp) /* {{{ */
77
 {
78
-	struct sockaddr_in sa_in;
79
+	struct addrinfo hints, *servinfo, *p;
80
 	char *dup_address = strdup(wp->config->listen_address);
81
-	char *port_str = strchr(dup_address, ':');
82
+	char *port_str = strrchr(dup_address, ':');
83
 	char *addr = NULL;
84
+	int addr_len;
85
 	int port = 0;
86
+	int sock;
87
+	int status;
88
 
89
 	if (port_str) { /* this is host:port pair */
90
 		*port_str++ = '\0';
91
@@ -274,23 +264,33 @@ static int fpm_socket_af_inet_listening_socket(struct fpm_worker_pool_s *wp) /*
92
 		return -1;
93
 	}
94
 
95
-	memset(&sa_in, 0, sizeof(sa_in));
96
+	// strip brackets from address for getaddrinfo
97
+	addr_len = strlen(addr);
98
+	if (addr[0] == '[' && addr[addr_len - 1] == ']') {
99
+		addr[addr_len - 1] = '\0';
100
+		addr++;
101
+	}
102
 
103
-	if (addr) {
104
-		sa_in.sin_addr.s_addr = inet_addr(addr);
105
-		if (sa_in.sin_addr.s_addr == INADDR_NONE) { /* do resolve */
106
-			if (0 > fpm_sockets_resolve_af_inet(addr, NULL, &sa_in)) {
107
-				return -1;
108
-			}
109
-			zlog(ZLOG_NOTICE, "address '%s' resolved as %u.%u.%u.%u", addr, IPQUAD(&sa_in.sin_addr));
110
-		}
111
-	} else {
112
-		sa_in.sin_addr.s_addr = htonl(INADDR_ANY);
113
+	memset(&hints, 0, sizeof hints);
114
+	hints.ai_family = AF_UNSPEC;
115
+	hints.ai_socktype = SOCK_STREAM;
116
+
117
+	if ((status = getaddrinfo(addr, port_str, &hints, &servinfo)) != 0) {
118
+		zlog(ZLOG_ERROR, "getaddrinfo: %s\n", gai_strerror(status));
119
+		return -1;
120
 	}
121
-	sa_in.sin_family = AF_INET;
122
-	sa_in.sin_port = htons(port);
123
+
124
 	free(dup_address);
125
-	return fpm_sockets_get_listening_socket(wp, (struct sockaddr *) &sa_in, sizeof(struct sockaddr_in));
126
+
127
+	for (p = servinfo; p != NULL; p = p->ai_next) {
128
+		if ((sock = fpm_sockets_get_listening_socket(wp, p->ai_addr, p->ai_addrlen)) != -1) {
129
+			break;
130
+		}
131
+	}
132
+
133
+	freeaddrinfo(servinfo);
134
+
135
+	return sock;
136
 }
137
 /* }}} */
138
 
139
diff --git a/sapi/fpm/fpm/fpm_sockets.h b/sapi/fpm/fpm/fpm_sockets.h
140
index 121c016..446c78e 100644
141
--- a/sapi/fpm/fpm/fpm_sockets.h
142
+++ b/sapi/fpm/fpm/fpm_sockets.h
143
@@ -45,10 +45,4 @@ static inline int fd_set_blocked(int fd, int blocked) /* {{{ */
144
 }
145
 /* }}} */
146
 
147
-#define IPQUAD(sin_addr) \
148
-			(unsigned int) ((unsigned char *) &(sin_addr)->s_addr)[0], \
149
-			(unsigned int) ((unsigned char *) &(sin_addr)->s_addr)[1], \
150
-			(unsigned int) ((unsigned char *) &(sin_addr)->s_addr)[2], \
151
-			(unsigned int) ((unsigned char *) &(sin_addr)->s_addr)[3]
152
-
153
 #endif
154
diff --git a/sapi/fpm/tests/003.phpt b/sapi/fpm/tests/003.phpt
155
new file mode 100644
156
index 0000000..389cb24
157
--- /dev/null
158
+++ b/sapi/fpm/tests/003.phpt
159
@@ -0,0 +1,53 @@
160
+--TEST--
161
+FPM: Test IPv6 support
162
+--SKIPIF--
163
+<?php include "skipif.inc"; ?>
164
+--FILE--
165
+<?php
166
+
167
+include "include.inc";
168
+
169
+$logfile = dirname(__FILE__).'/php-fpm.log.tmp';
170
+
171
+$cfg = <<<EOT
172
+[global]
173
+error_log = $logfile
174
+[unconfined]
175
+listen = [::1]:9000
176
+pm = dynamic
177
+pm.max_children = 5
178
+pm.start_servers = 2
179
+pm.min_spare_servers = 1
180
+pm.max_spare_servers = 3
181
+EOT;
182
+
183
+$fpm = run_fpm($cfg, $tail);
184
+if (is_resource($fpm)) {
185
+    var_dump(fgets($tail));
186
+    var_dump(fgets($tail));
187
+    $i = 0;
188
+    while (($i++ < 30) && !($fp = fsockopen('[::1]', 9000))) {
189
+        usleep(10000);
190
+    }
191
+    if ($fp) {
192
+        echo "Done\n";
193
+        fclose($fp);
194
+    }
195
+    proc_terminate($fpm);
196
+    stream_get_contents($tail);
197
+    fclose($tail);
198
+    proc_close($fpm);
199
+}
200
+
201
+?>
202
+--EXPECTF--
203
+string(%d) "[%d-%s-%d %d:%d:%d] NOTICE: fpm is running, pid %d
204
+"
205
+string(%d) "[%d-%s-%d %d:%d:%d] NOTICE: ready to handle connections
206
+"
207
+Done
208
+--CLEAN--
209
+<?php
210
+    $logfile = dirname(__FILE__).'/php-fpm.log.tmp';
211
+    @unlink($logfile);
212
+?>
213
-- 
214
1.9.3
215
216
217
From 6057125f4383c661b0c1af71a9e2b026f6ebecf6 Mon Sep 17 00:00:00 2001
218
From: Robin Gloster <robin@loc-com.de>
219
Date: Mon, 24 Mar 2014 00:15:13 +0100
220
Subject: [PATCH 2/3] check for addr==null and add ipv6 to conf
221
222
---
223
 sapi/fpm/fpm/fpm_sockets.c | 11 ++++++-----
224
 sapi/fpm/php-fpm.conf.in   | 48 ++++++++++++++++++++++++----------------------
225
 2 files changed, 31 insertions(+), 28 deletions(-)
226
227
diff --git a/sapi/fpm/fpm/fpm_sockets.c b/sapi/fpm/fpm/fpm_sockets.c
228
index 583b1fa..da14d63 100644
229
--- a/sapi/fpm/fpm/fpm_sockets.c
230
+++ b/sapi/fpm/fpm/fpm_sockets.c
231
@@ -90,7 +90,6 @@ static int fpm_sockets_hash_op(int sock, struct sockaddr *sa, char *key, int typ
232
 	if (key == NULL) {
233
 		switch (type) {
234
 			case FPM_AF_INET : {
235
-				struct sockaddr_in *sa_in = (struct sockaddr_in *) sa;
236
 				key = alloca(INET6_ADDRSTRLEN);
237
 				inet_ntop(sa->sa_family, fpm_get_in_addr(sa), key, sizeof key);
238
 				break;
239
@@ -265,10 +264,12 @@ static int fpm_socket_af_inet_listening_socket(struct fpm_worker_pool_s *wp) /*
240
 	}
241
 
242
 	// strip brackets from address for getaddrinfo
243
-	addr_len = strlen(addr);
244
-	if (addr[0] == '[' && addr[addr_len - 1] == ']') {
245
-		addr[addr_len - 1] = '\0';
246
-		addr++;
247
+	if (addr != NULL) {
248
+		addr_len = strlen(addr);
249
+		if (addr[0] == '[' && addr[addr_len - 1] == ']') {
250
+			addr[addr_len - 1] = '\0';
251
+			addr++;
252
+		}
253
 	}
254
 
255
 	memset(&hints, 0, sizeof hints);
256
diff --git a/sapi/fpm/php-fpm.conf.in b/sapi/fpm/php-fpm.conf.in
257
index ab03736..d6ff2ae 100644
258
--- a/sapi/fpm/php-fpm.conf.in
259
+++ b/sapi/fpm/php-fpm.conf.in
260
@@ -55,7 +55,7 @@
261
 ; Default Value: 0
262
 ;emergency_restart_threshold = 0
263
 
264
-; Interval of time used by emergency_restart_interval to determine when 
265
+; Interval of time used by emergency_restart_interval to determine when
266
 ; a graceful restart will be initiated.  This can be useful to work around
267
 ; accidental corruptions in an accelerator's shared memory.
268
 ; Available Units: s(econds), m(inutes), h(ours), or d(ays)
269
@@ -87,11 +87,11 @@
270
 ; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
271
 ; Default Value: yes
272
 ;daemonize = yes
273
- 
274
+
275
 ; Set open file descriptor rlimit for the master process.
276
 ; Default Value: system defined value
277
 ;rlimit_files = 1024
278
- 
279
+
280
 ; Set max core size rlimit for the master process.
281
 ; Possible Values: 'unlimited' or an integer greater or equal to 0
282
 ; Default Value: system defined value
283
@@ -116,7 +116,7 @@
284
 ;systemd_interval = 10
285
 
286
 ;;;;;;;;;;;;;;;;;;;;
287
-; Pool Definitions ; 
288
+; Pool Definitions ;
289
 ;;;;;;;;;;;;;;;;;;;;
290
 
291
 ; Multiple pools of child processes may be started with different listening
292
@@ -152,6 +152,8 @@ group = @php_fpm_group@
293
 ; Valid syntaxes are:
294
 ;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
295
 ;                            a specific port;
296
+;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific ipv6 address on
297
+;                            a specific port;
298
 ;   'port'                 - to listen on a TCP socket to all addresses on a
299
 ;                            specific port;
300
 ;   '/path/to/unix/socket' - to listen on a unix socket.
301
@@ -243,7 +245,7 @@ pm.max_spare_servers = 3
302
 ; Note: Used only when pm is set to 'ondemand'
303
 ; Default Value: 10s
304
 ;pm.process_idle_timeout = 10s;
305
- 
306
+
307
 ; The number of requests each child process should execute before respawning.
308
 ; This can be useful to work around memory leaks in 3rd party libraries. For
309
 ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
310
@@ -296,7 +298,7 @@ pm.max_spare_servers = 3
311
 ;
312
 ; By default the status page only outputs short status. Passing 'full' in the
313
 ; query string will also return status for each pool process.
314
-; Example: 
315
+; Example:
316
 ;   http://www.foo.bar/status?full
317
 ;   http://www.foo.bar/status?json&full
318
 ;   http://www.foo.bar/status?html&full
319
@@ -346,9 +348,9 @@ pm.max_spare_servers = 3
320
 ; Note: The value must start with a leading slash (/). The value can be
321
 ;       anything, but it may not be a good idea to use the .php extension or it
322
 ;       may conflict with a real PHP file.
323
-; Default Value: not set 
324
+; Default Value: not set
325
 ;pm.status_path = /status
326
- 
327
+
328
 ; The ping URI to call the monitoring page of FPM. If this value is not set, no
329
 ; URI will be recognized as a ping page. This could be used to test from outside
330
 ; that FPM is alive and responding, or to
331
@@ -409,7 +411,7 @@ pm.max_spare_servers = 3
332
 ;      - ....
333
 ;  %p: PID of the child that serviced the request
334
 ;  %P: PID of the parent of the child that serviced the request
335
-;  %q: the query string 
336
+;  %q: the query string
337
 ;  %Q: the '?' character if query string exists
338
 ;  %r: the request URI (without the query string, see %q and %Q)
339
 ;  %R: remote IP address
340
@@ -424,50 +426,50 @@ pm.max_spare_servers = 3
341
 ;
342
 ; Default: "%R - %u %t \"%m %r\" %s"
343
 ;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
344
- 
345
+
346
 ; The log file for slow requests
347
 ; Default Value: not set
348
 ; Note: slowlog is mandatory if request_slowlog_timeout is set
349
 ;slowlog = log/$pool.log.slow
350
- 
351
+
352
 ; The timeout for serving a single request after which a PHP backtrace will be
353
 ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
354
 ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
355
 ; Default Value: 0
356
 ;request_slowlog_timeout = 0
357
- 
358
+
359
 ; The timeout for serving a single request after which the worker process will
360
 ; be killed. This option should be used when the 'max_execution_time' ini option
361
 ; does not stop script execution for some reason. A value of '0' means 'off'.
362
 ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
363
 ; Default Value: 0
364
 ;request_terminate_timeout = 0
365
- 
366
+
367
 ; Set open file descriptor rlimit.
368
 ; Default Value: system defined value
369
 ;rlimit_files = 1024
370
- 
371
+
372
 ; Set max core size rlimit.
373
 ; Possible Values: 'unlimited' or an integer greater or equal to 0
374
 ; Default Value: system defined value
375
 ;rlimit_core = 0
376
- 
377
+
378
 ; Chroot to this directory at the start. This value must be defined as an
379
 ; absolute path. When this value is not set, chroot is not used.
380
 ; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
381
 ; of its subdirectories. If the pool prefix is not set, the global prefix
382
 ; will be used instead.
383
-; Note: chrooting is a great security feature and should be used whenever 
384
+; Note: chrooting is a great security feature and should be used whenever
385
 ;       possible. However, all PHP paths will be relative to the chroot
386
 ;       (error_log, sessions.save_path, ...).
387
 ; Default Value: not set
388
-;chroot = 
389
- 
390
+;chroot =
391
+
392
 ; Chdir to this directory at the start.
393
 ; Note: relative path can be used.
394
 ; Default Value: current directory or / when chroot
395
 ;chdir = /var/www
396
- 
397
+
398
 ; Redirect worker stdout and stderr into main error log. If not set, stdout and
399
 ; stderr will be redirected to /dev/null according to FastCGI specs.
400
 ; Note: on highloaded environement, this can cause some delay in the page
401
@@ -491,7 +493,7 @@ pm.max_spare_servers = 3
402
 ; Note: set an empty value to allow all extensions.
403
 ; Default Value: .php
404
 ;security.limit_extensions = .php .php3 .php4 .php5
405
- 
406
+
407
 ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
408
 ; the current environment.
409
 ; Default Value: clean env
410
@@ -505,7 +507,7 @@ pm.max_spare_servers = 3
411
 ; overwrite the values previously defined in the php.ini. The directives are the
412
 ; same as the PHP SAPI:
413
 ;   php_value/php_flag             - you can set classic ini defines which can
414
-;                                    be overwritten from PHP call 'ini_set'. 
415
+;                                    be overwritten from PHP call 'ini_set'.
416
 ;   php_admin_value/php_admin_flag - these directives won't be overwritten by
417
 ;                                     PHP call 'ini_set'
418
 ; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
419
-- 
420
1.9.3
421
422
423
From 12c3e728c634f17232883068c14f36a68b78952a Mon Sep 17 00:00:00 2001
424
From: Robin Gloster <robin@loc-com.de>
425
Date: Thu, 3 Apr 2014 13:22:31 +0200
426
Subject: [PATCH 3/3] revert whitespace
427
428
---
429
 sapi/fpm/php-fpm.conf.in | 48 ++++++++++++++++++++++++------------------------
430
 1 file changed, 24 insertions(+), 24 deletions(-)
431
432
diff --git a/sapi/fpm/php-fpm.conf.in b/sapi/fpm/php-fpm.conf.in
433
index d6ff2ae..8e242aa 100644
434
--- a/sapi/fpm/php-fpm.conf.in
435
+++ b/sapi/fpm/php-fpm.conf.in
436
@@ -55,7 +55,7 @@
437
 ; Default Value: 0
438
 ;emergency_restart_threshold = 0
439
 
440
-; Interval of time used by emergency_restart_interval to determine when
441
+; Interval of time used by emergency_restart_interval to determine when 
442
 ; a graceful restart will be initiated.  This can be useful to work around
443
 ; accidental corruptions in an accelerator's shared memory.
444
 ; Available Units: s(econds), m(inutes), h(ours), or d(ays)
445
@@ -87,11 +87,11 @@
446
 ; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
447
 ; Default Value: yes
448
 ;daemonize = yes
449
-
450
+ 
451
 ; Set open file descriptor rlimit for the master process.
452
 ; Default Value: system defined value
453
 ;rlimit_files = 1024
454
-
455
+ 
456
 ; Set max core size rlimit for the master process.
457
 ; Possible Values: 'unlimited' or an integer greater or equal to 0
458
 ; Default Value: system defined value
459
@@ -116,7 +116,7 @@
460
 ;systemd_interval = 10
461
 
462
 ;;;;;;;;;;;;;;;;;;;;
463
-; Pool Definitions ;
464
+; Pool Definitions ; 
465
 ;;;;;;;;;;;;;;;;;;;;
466
 
467
 ; Multiple pools of child processes may be started with different listening
468
@@ -152,7 +152,7 @@ group = @php_fpm_group@
469
 ; Valid syntaxes are:
470
 ;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
471
 ;                            a specific port;
472
-;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific ipv6 address on
473
+;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
474
 ;                            a specific port;
475
 ;   'port'                 - to listen on a TCP socket to all addresses on a
476
 ;                            specific port;
477
@@ -245,7 +245,7 @@ pm.max_spare_servers = 3
478
 ; Note: Used only when pm is set to 'ondemand'
479
 ; Default Value: 10s
480
 ;pm.process_idle_timeout = 10s;
481
-
482
+ 
483
 ; The number of requests each child process should execute before respawning.
484
 ; This can be useful to work around memory leaks in 3rd party libraries. For
485
 ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
486
@@ -298,7 +298,7 @@ pm.max_spare_servers = 3
487
 ;
488
 ; By default the status page only outputs short status. Passing 'full' in the
489
 ; query string will also return status for each pool process.
490
-; Example:
491
+; Example: 
492
 ;   http://www.foo.bar/status?full
493
 ;   http://www.foo.bar/status?json&full
494
 ;   http://www.foo.bar/status?html&full
495
@@ -348,9 +348,9 @@ pm.max_spare_servers = 3
496
 ; Note: The value must start with a leading slash (/). The value can be
497
 ;       anything, but it may not be a good idea to use the .php extension or it
498
 ;       may conflict with a real PHP file.
499
-; Default Value: not set
500
+; Default Value: not set 
501
 ;pm.status_path = /status
502
-
503
+ 
504
 ; The ping URI to call the monitoring page of FPM. If this value is not set, no
505
 ; URI will be recognized as a ping page. This could be used to test from outside
506
 ; that FPM is alive and responding, or to
507
@@ -411,7 +411,7 @@ pm.max_spare_servers = 3
508
 ;      - ....
509
 ;  %p: PID of the child that serviced the request
510
 ;  %P: PID of the parent of the child that serviced the request
511
-;  %q: the query string
512
+;  %q: the query string 
513
 ;  %Q: the '?' character if query string exists
514
 ;  %r: the request URI (without the query string, see %q and %Q)
515
 ;  %R: remote IP address
516
@@ -426,50 +426,50 @@ pm.max_spare_servers = 3
517
 ;
518
 ; Default: "%R - %u %t \"%m %r\" %s"
519
 ;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
520
-
521
+ 
522
 ; The log file for slow requests
523
 ; Default Value: not set
524
 ; Note: slowlog is mandatory if request_slowlog_timeout is set
525
 ;slowlog = log/$pool.log.slow
526
-
527
+ 
528
 ; The timeout for serving a single request after which a PHP backtrace will be
529
 ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
530
 ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
531
 ; Default Value: 0
532
 ;request_slowlog_timeout = 0
533
-
534
+ 
535
 ; The timeout for serving a single request after which the worker process will
536
 ; be killed. This option should be used when the 'max_execution_time' ini option
537
 ; does not stop script execution for some reason. A value of '0' means 'off'.
538
 ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
539
 ; Default Value: 0
540
 ;request_terminate_timeout = 0
541
-
542
+ 
543
 ; Set open file descriptor rlimit.
544
 ; Default Value: system defined value
545
 ;rlimit_files = 1024
546
-
547
+ 
548
 ; Set max core size rlimit.
549
 ; Possible Values: 'unlimited' or an integer greater or equal to 0
550
 ; Default Value: system defined value
551
 ;rlimit_core = 0
552
-
553
+ 
554
 ; Chroot to this directory at the start. This value must be defined as an
555
 ; absolute path. When this value is not set, chroot is not used.
556
 ; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
557
 ; of its subdirectories. If the pool prefix is not set, the global prefix
558
 ; will be used instead.
559
-; Note: chrooting is a great security feature and should be used whenever
560
+; Note: chrooting is a great security feature and should be used whenever 
561
 ;       possible. However, all PHP paths will be relative to the chroot
562
 ;       (error_log, sessions.save_path, ...).
563
 ; Default Value: not set
564
-;chroot =
565
-
566
+;chroot = 
567
+ 
568
 ; Chdir to this directory at the start.
569
 ; Note: relative path can be used.
570
 ; Default Value: current directory or / when chroot
571
 ;chdir = /var/www
572
-
573
+ 
574
 ; Redirect worker stdout and stderr into main error log. If not set, stdout and
575
 ; stderr will be redirected to /dev/null according to FastCGI specs.
576
 ; Note: on highloaded environement, this can cause some delay in the page
577
@@ -493,7 +493,7 @@ pm.max_spare_servers = 3
578
 ; Note: set an empty value to allow all extensions.
579
 ; Default Value: .php
580
 ;security.limit_extensions = .php .php3 .php4 .php5
581
-
582
+ 
583
 ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
584
 ; the current environment.
585
 ; Default Value: clean env
586
@@ -507,7 +507,7 @@ pm.max_spare_servers = 3
587
 ; overwrite the values previously defined in the php.ini. The directives are the
588
 ; same as the PHP SAPI:
589
 ;   php_value/php_flag             - you can set classic ini defines which can
590
-;                                    be overwritten from PHP call 'ini_set'.
591
+;                                    be overwritten from PHP call 'ini_set'. 
592
 ;   php_admin_value/php_admin_flag - these directives won't be overwritten by
593
 ;                                     PHP call 'ini_set'
594
 ; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
595
-- 
596
1.9.3
597

Return to bug 190190