@@ -1024,6 +1024,11 @@ function update($event_name, $data) {
10241024 $ socket_dir = escapeshellcmd ($ web_config ['php_fpm_socket_dir ' ]);
10251025 if (substr ($ socket_dir , -1 ) != '/ ' ) $ socket_dir .= '/ ' ;
10261026
1027+ if ($ data ['new ' ]['php_fpm_chroot ' ] == 'y ' ){
1028+ $ php_fpm_chroot = 1 ;
1029+ } else {
1030+ $ php_fpm_chroot = 0 ;
1031+ }
10271032 if ($ data ['new ' ]['php_fpm_use_socket ' ] == 'y ' ){
10281033 $ use_tcp = 0 ;
10291034 $ use_socket = 1 ;
@@ -1033,6 +1038,7 @@ function update($event_name, $data) {
10331038 }
10341039 $ tpl ->setVar ('use_tcp ' , $ use_tcp );
10351040 $ tpl ->setVar ('use_socket ' , $ use_socket );
1041+ $ tpl ->setVar ('php_fpm_chroot ' , $ php_fpm_chroot );
10361042 $ fpm_socket = $ socket_dir .$ pool_name .'.sock ' ;
10371043 $ tpl ->setVar ('fpm_socket ' , $ fpm_socket );
10381044 $ tpl ->setVar ('rnd_php_dummy_file ' , '/ ' .md5 (uniqid (microtime (), 1 )).'.htm ' );
@@ -2653,6 +2659,11 @@ private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name,
26532659 $ tpl = new tpl ();
26542660 $ tpl ->newTemplate ('php_fpm_pool.conf.master ' );
26552661
2662+ if ($ data ['new ' ]['php_fpm_chroot ' ] == 'y ' ){
2663+ $ php_fpm_chroot = 1 ;
2664+ } else {
2665+ $ php_fpm_chroot = 0 ;
2666+ }
26562667 if ($ data ['new ' ]['php_fpm_use_socket ' ] == 'y ' ){
26572668 $ use_tcp = 0 ;
26582669 $ use_socket = 1 ;
@@ -2663,6 +2674,7 @@ private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name,
26632674 }
26642675 $ tpl ->setVar ('use_tcp ' , $ use_tcp );
26652676 $ tpl ->setVar ('use_socket ' , $ use_socket );
2677+ $ tpl ->setVar ('php_fpm_chroot ' , $ php_fpm_chroot );
26662678
26672679 $ fpm_socket = $ socket_dir .$ pool_name .'.sock ' ;
26682680 $ tpl ->setVar ('fpm_socket ' , $ fpm_socket );
@@ -2702,7 +2714,14 @@ private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name,
27022714 $ tpl ->setVar ('security_level ' , $ web_config ['security_level ' ]);
27032715 $ tpl ->setVar ('domain ' , $ data ['new ' ]['domain ' ]);
27042716 $ php_open_basedir = ($ data ['new ' ]['php_open_basedir ' ] == '' )?escapeshellcmd ($ data ['new ' ]['document_root ' ]):escapeshellcmd ($ data ['new ' ]['php_open_basedir ' ]);
2705- $ tpl ->setVar ('php_open_basedir ' , $ php_open_basedir );
2717+ if ($ php_fpm_chroot ){
2718+ $ document_root = $ data ['new ' ]['document_root ' ];
2719+ $ domain = $ data ['new ' ]['domain ' ];
2720+ $ php_open_basedir = str_replace (":/srv/www/ $ domain/web " ,'' ,$ php_open_basedir );
2721+ $ php_open_basedir = str_replace (":/var/www/ $ domain/web " ,'' ,$ php_open_basedir );
2722+ $ php_open_basedir = str_replace ("$ document_root " ,'' ,$ php_open_basedir );
2723+ }
2724+ $ tpl ->setVar ('php_open_basedir ' , $ php_open_basedir );
27062725 if ($ php_open_basedir != '' ){
27072726 $ tpl ->setVar ('enable_php_open_basedir ' , '' );
27082727 } else {
0 commit comments