Skip to content

Commit e2c00a1

Browse files
committed
- Added restart function for PHP-FPM.
1 parent dc48ab3 commit e2c00a1

File tree

2 files changed

+39
-20
lines changed

2 files changed

+39
-20
lines changed

server/mods-available/web_module.inc.php

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ class that contains the function functionname.
101101

102102
// Register service
103103
$app->services->registerService('httpd','web_module','restartHttpd');
104+
$app->services->registerService('php-fpm','web_module','restartPHP_FPM');
104105

105106
}
106107

@@ -164,9 +165,6 @@ function restartHttpd($action = 'restart') {
164165
switch ($web_config['server_type']) {
165166
case 'nginx':
166167
$daemon = $web_config['server_type'];
167-
// Reload PHP-FPM as well
168-
$restart_second_service['daemon'] = $web_config['php_fpm_init_script'];
169-
$restart_second_service['action'] = 'reload';
170168
break;
171169
default:
172170
if(is_file($conf['init_scripts'] . '/' . 'httpd')) {
@@ -175,18 +173,28 @@ function restartHttpd($action = 'restart') {
175173
$daemon = 'apache2';
176174
}
177175
}
178-
179-
if($restart_second_service['daemon'] != '' && $restart_second_service['action'] != ''){
180-
exec($conf['init_scripts'] . '/' . $restart_second_service['daemon'] . ' ' . $restart_second_service['action']);
181-
}
182-
176+
183177
if($action == 'restart') {
184178
exec($conf['init_scripts'] . '/' . $daemon . ' restart');
185179
} else {
186180
exec($conf['init_scripts'] . '/' . $daemon . ' reload');
187181
}
188182

189183
}
184+
185+
function restartPHP_FPM($action = 'restart') {
186+
global $app,$conf;
187+
188+
// load the server configuration options
189+
$app->uses('getconf');
190+
$web_config = $app->getconf->get_server_config($conf['server_id'], 'web');
191+
192+
list($action, $init_script) = explode(':', $action);
193+
194+
if(!$init_script) $init_script = $conf['init_scripts'].'/'.$web_config['php_fpm_init_script'];
195+
196+
exec($init_script.' '.$action);
197+
}
190198

191199
} // end class
192200

server/plugins-available/nginx_plugin.inc.php

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,18 +1407,25 @@ private function php_fpm_pool_update ($data,$web_config,$pool_dir,$pool_name,$so
14071407
$default_php_fpm = true;
14081408
}
14091409

1410+
$app->uses("getconf");
1411+
$web_config = $app->getconf->get_server_config($conf["server_id"], 'web');
1412+
14101413
if($data['new']['php'] == 'no'){
14111414
if(@is_file($pool_dir.$pool_name.'.conf')){
14121415
unlink($pool_dir.$pool_name.'.conf');
14131416
//$reload = true;
14141417
}
1418+
if($data['old']['php'] != 'no'){
1419+
if(!$default_php_fpm){
1420+
$app->services->restartService('php-fpm','reload:'.$custom_php_fpm_init_script);
1421+
} else {
1422+
$app->services->restartService('php-fpm','reload:'.$conf['init_scripts'].'/'.$web_config['php_fpm_init_script']);
1423+
}
1424+
}
14151425
//if($reload == true) $app->services->restartService('php-fpm','reload');
14161426
return;
14171427
}
1418-
1419-
$app->uses("getconf");
1420-
$web_config = $app->getconf->get_server_config($conf["server_id"], 'web');
1421-
1428+
14221429
$app->load('tpl');
14231430
$tpl = new tpl();
14241431
$tpl->newTemplate('php_fpm_pool.conf.master');
@@ -1503,7 +1510,7 @@ private function php_fpm_pool_update ($data,$web_config,$pool_dir,$pool_name,$so
15031510
if ( @is_file($default_pool_dir.$pool_name.'.conf') ) {
15041511
unlink($default_pool_dir.$pool_name.'.conf');
15051512
$app->log('Removed PHP-FPM config file: '.$default_pool_dir.$pool_name.'.conf',LOGLEVEL_DEBUG);
1506-
exec($conf['init_scripts'] . '/' . $web_config['php_fpm_init_script'] . ' reload');
1513+
$app->services->restartService('php-fpm','reload:'.$conf['init_scripts'].'/'.$web_config['php_fpm_init_script']);
15071514
}
15081515
}
15091516
$php_versions = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$conf["server_id"]);
@@ -1514,15 +1521,17 @@ private function php_fpm_pool_update ($data,$web_config,$pool_dir,$pool_name,$so
15141521
if ( @is_file($php_version['php_fpm_pool_dir'].$pool_name.'.conf') ) {
15151522
unlink($php_version['php_fpm_pool_dir'].$pool_name.'.conf');
15161523
$app->log('Removed PHP-FPM config file: '.$php_version['php_fpm_pool_dir'].$pool_name.'.conf',LOGLEVEL_DEBUG);
1517-
exec($php_version['php_fpm_init_script'] . ' reload');
1524+
$app->services->restartService('php-fpm','reload:'.$php_version['php_fpm_init_script']);
15181525
}
15191526
}
15201527
}
15211528
}
15221529
// Reload current PHP-FPM after all others
1530+
sleep(1);
15231531
if(!$default_php_fpm){
1524-
sleep(1);
1525-
exec($custom_php_fpm_init_script . ' reload');
1532+
$app->services->restartService('php-fpm','reload:'.$custom_php_fpm_init_script);
1533+
} else {
1534+
$app->services->restartService('php-fpm','reload:'.$conf['init_scripts'].'/'.$web_config['php_fpm_init_script']);
15261535
}
15271536

15281537
//$reload = true;
@@ -1565,7 +1574,7 @@ private function php_fpm_pool_delete ($data,$web_config) {
15651574
if ( @is_file($default_pool_dir.$pool_name.'.conf') ) {
15661575
unlink($default_pool_dir.$pool_name.'.conf');
15671576
$app->log('Removed PHP-FPM config file: '.$default_pool_dir.$pool_name.'.conf',LOGLEVEL_DEBUG);
1568-
exec($conf['init_scripts'] . '/' . $web_config['php_fpm_init_script'] . ' reload');
1577+
$app->services->restartService('php-fpm','reload:'.$conf['init_scripts'].'/'.$web_config['php_fpm_init_script']);
15691578
}
15701579
}
15711580
$php_versions = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$data['old']['server_id']);
@@ -1576,16 +1585,18 @@ private function php_fpm_pool_delete ($data,$web_config) {
15761585
if ( @is_file($php_version['php_fpm_pool_dir'].$pool_name.'.conf') ) {
15771586
unlink($php_version['php_fpm_pool_dir'].$pool_name.'.conf');
15781587
$app->log('Removed PHP-FPM config file: '.$php_version['php_fpm_pool_dir'].$pool_name.'.conf',LOGLEVEL_DEBUG);
1579-
exec($php_version['php_fpm_init_script'] . ' reload');
1588+
$app->services->restartService('php-fpm','reload:'.$php_version['php_fpm_init_script']);
15801589
}
15811590
}
15821591
}
15831592
}
15841593

15851594
// Reload current PHP-FPM after all others
1595+
sleep(1);
15861596
if(!$default_php_fpm){
1587-
sleep(1);
1588-
exec($custom_php_fpm_init_script . ' reload');
1597+
$app->services->restartService('php-fpm','reload:'.$custom_php_fpm_init_script);
1598+
} else {
1599+
$app->services->restartService('php-fpm','reload:'.$conf['init_scripts'].'/'.$web_config['php_fpm_init_script']);
15891600
}
15901601
}
15911602

0 commit comments

Comments
 (0)