1--TEST-- 2FPM: Test multi pool (dynamic + ondemand + static) (bug #68423) 3--SKIPIF-- 4<?php 5include "skipif.inc"; 6 7$cfg = <<<EOT 8[global] 9error_log = /dev/null 10[poold_ondemand] 11listen=127.0.0.1:9000 12pm = ondemand 13pm.max_children = 2 14pm.process_idle_timeout = 10 15EOT; 16 17if (test_fpm_conf($cfg, $msg) == false) { 18 die("skip " . $msg); 19} 20?> 21--FILE-- 22<?php 23 24include "include.inc"; 25 26$logfile = dirname(__FILE__).'/php-fpm.log.tmp'; 27$port1 = 9000+PHP_INT_SIZE; 28$port2 = 9001+PHP_INT_SIZE; 29$port3 = 9002+PHP_INT_SIZE; 30 31$cfg = <<<EOT 32[global] 33error_log = $logfile 34[pool_dynamic] 35listen = 127.0.0.1:$port1 36ping.path = /ping 37ping.response = pong-dynamic 38pm = dynamic 39pm.max_children = 5 40pm.start_servers = 2 41pm.min_spare_servers = 1 42pm.max_spare_servers = 3 43[poold_ondemand] 44listen = 127.0.0.1:$port2 45ping.path = /ping 46ping.response = pong-on-demand 47pm = ondemand 48pm.max_children = 2 49pm.process_idle_timeout = 10 50[pool_static] 51listen = 127.0.0.1:$port3 52ping.path = /ping 53ping.response = pong-static 54pm = static 55pm.max_children = 2 56EOT; 57 58$fpm = run_fpm($cfg, $tail); 59if (is_resource($fpm)) { 60 fpm_display_log($tail, 2); 61 try { 62 var_dump(strpos(run_request('127.0.0.1', $port1), 'pong-dynamic')); 63 echo "Dynamic ok\n"; 64 } catch (Exception $e) { 65 echo "Dynamic error\n"; 66 } 67 try { 68 var_dump(strpos(run_request('127.0.0.1', $port2), 'pong-on-demand')); 69 echo "OnDemand ok\n"; 70 } catch (Exception $e) { 71 echo "OnDemand error\n"; 72 } 73 try { 74 var_dump(strpos(run_request('127.0.0.1', $port3), 'pong-static')); 75 echo "Static ok\n"; 76 } catch (Exception $e) { 77 echo "Static error\n"; 78 } 79 80 proc_terminate($fpm); 81 stream_get_contents($tail); 82 fclose($tail); 83 proc_close($fpm); 84} 85 86?> 87--EXPECTF-- 88[%d-%s-%d %d:%d:%d] NOTICE: fpm is running, pid %d 89[%d-%s-%d %d:%d:%d] NOTICE: ready to handle connections 90int(%d) 91Dynamic ok 92int(%d) 93OnDemand ok 94int(%d) 95Static ok 96--CLEAN-- 97<?php 98 $logfile = dirname(__FILE__).'/php-fpm.log.tmp'; 99 @unlink($logfile); 100?> 101