php-fpm的一些实验
2017-02-07
实验一
- 将pm设置成static方式
- 将pm.max_children设置为1
- 将pm.max_requests设置成500
每次请求,程序末尾包括exit()和不包括exit()的形式,php-fpm的子进程都不会被杀死。
实验二
- 将pm设置成static方式
- 将pm.max_children设置为1
- 将pm.max_requests设置成1
每次请求,程序末尾包括exit()和不包括exit()的形式,php-fpm的子进程都会被杀死。
实验三
<?php
class a {
public $a;
public function __construct() {
$this->a = 1;
exit();
}
public function __destruct() {
echo $this->a."\n";
echo '123'."\n";
}
}
$a = new a();
echo $a->a;
输出
1
123
结论:php中的exit()并不能使这个进程直接结束。尽管调用了exit(),Shutdown函数以及object destructors总是会被执行。