diff --git a/.devilbox/www/config.php b/.devilbox/www/config.php index 3e9bbb2d..fe01a8b8 100644 --- a/.devilbox/www/config.php +++ b/.devilbox/www/config.php @@ -13,8 +13,8 @@ error_reporting(-1); putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1'); -$DEVILBOX_VERSION = 'v1.4.0'; -$DEVILBOX_DATE = '2020-01-02'; +$DEVILBOX_VERSION = 'v1.5.0'; +$DEVILBOX_DATE = '2020-01-03'; $DEVILBOX_API_PAGE = 'devilbox-api/status.json'; // diff --git a/.devilbox/www/htdocs/vendor/ocp.php b/.devilbox/www/htdocs/vendor/ocp.php new file mode 100644 index 00000000..3c023d30 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/ocp.php @@ -0,0 +1,391 @@ +1 || php_sapi_name()=='cli' || empty($_SERVER['REMOTE_ADDR']) ) { die; } // weak block against indirect access + +$time=time(); +define('CACHEPREFIX',function_exists('opcache_reset')?'opcache_':(function_exists('accelerator_reset')?'accelerator_':'')); + +if ( !empty($_GET['RESET']) ) { + if ( function_exists(CACHEPREFIX.'reset') ) { call_user_func(CACHEPREFIX.'reset'); } + header( 'Location: '.str_replace('?'.$_SERVER['QUERY_STRING'],'',$_SERVER['REQUEST_URI']) ); + exit; +} + +if ( !empty($_GET['RECHECK']) ) { + if ( function_exists(CACHEPREFIX.'invalidate') ) { + $recheck=trim($_GET['RECHECK']); $files=call_user_func(CACHEPREFIX.'get_status'); + if (!empty($files['scripts'])) { + foreach ($files['scripts'] as $file=>$value) { + if ( $recheck==='1' || strpos($file,$recheck)===0 ) call_user_func(CACHEPREFIX.'invalidate',$file); + } + } + header( 'Location: '.str_replace('?'.$_SERVER['QUERY_STRING'],'',$_SERVER['REQUEST_URI']) ); + } else { echo 'Sorry, this feature requires Zend Opcache newer than April 8th 2013'; } + exit; +} + +?> + +
+[^>]+\<\/td\>\ | [0-9\,\. ]+\<\/td\>\<\/tr\>/','',$opcache[2]); }
+
+if ( function_exists(CACHEPREFIX.'get_status') && $status=call_user_func(CACHEPREFIX.'get_status') ) {
+ $uptime=array();
+ if ( !empty($status[CACHEPREFIX.'statistics']['start_time']) ) {
+ $uptime['uptime']=time_since($time,$status[CACHEPREFIX.'statistics']['start_time'],1,'');
+ }
+ if ( !empty($status[CACHEPREFIX.'statistics']['last_restart_time']) ) {
+ $uptime['last_restart']=time_since($time,$status[CACHEPREFIX.'statistics']['last_restart_time']);
+ }
+ if (!empty($uptime)) {print_table($uptime);}
+
+ if ( !empty($status['cache_full']) ) { $status['memory_usage']['cache_full']=$status['cache_full']; }
+
+ echo 'memory'; + print_table($status['memory_usage']); + unset($status[CACHEPREFIX.'statistics']['start_time'],$status[CACHEPREFIX.'statistics']['last_restart_time']); + echo 'statistics'; + print_table($status[CACHEPREFIX.'statistics']); +} + +if ( empty($_GET['ALL']) ) { meta_display(); exit; } + +if ( !empty($configuration['blacklist']) ) { echo 'blacklist'; print_table($configuration['blacklist']); } + +if ( !empty($opcache[3]) ) { echo 'runtime'; echo $opcache[3]; } + +$name='zend opcache'; $functions=get_extension_funcs($name); +if (!$functions) { $name='zend optimizer+'; $functions=get_extension_funcs($name); } +if ($functions) { echo 'functions'; print_table($functions); } else { $name=''; } + +$level=trim(CACHEPREFIX,'_').'.optimization_level'; +if (isset($configuration['directives'][$level])) { + echo 'optimization levels'; + $levelset=strrev(base_convert($configuration['directives'][$level], 10, 2)); + $levels=array( + 1=>'Constants subexpressions elimination (CSE) true, false, null, etc.Optimize series of ADD_STRING / ADD_CHAR Convert CAST(IS_BOOL,x) into BOOL(x) Convert INIT_FCALL_BY_NAME + DO_FCALL_BY_NAME into DO_FCALL', + 2=>'Convert constant operands to expected types Convert conditional JMP with constant operands Optimize static BRK and CONT', + 3=>'Convert $a = $a + expr into $a += expr Convert $a++ into ++$a Optimize series of JMP', + 4=>'PRINT and ECHO optimization (defunct)', + 5=>'Block Optimization - most expensive pass Performs many different optimization patterns based on control flow graph (CFG)', + 9=>'Optimize register allocation (allows re-usage of temporary variables)', + 10=>'Remove NOPs' + ); + echo '
ini'; print_table(ini_get_all($name,true)); } + foreach ($configuration as $key=>$value) { echo '',$key,''; print_table($configuration[$key]); } + exit; +} + +meta_display(); + +echo ' |