cms/app/Http/Controllers/Admin/Menu/SystemStatus/Children/SystemMenuItemController.php

119 lines
3.5 KiB
PHP

<?php
namespace App\Http\Controllers\Admin\Menu\SystemStatus\Children;
use App\Http\Controllers\Admin\Menu\BaseMenuItemController;
use Illuminate\Http\Request;
use Redis;
use Cache;
use DB;
use Arr;
class SystemMenuItemController extends BaseMenuItemController
{
public function __construct()
{
$this->name = 'adminMenu.items.systemStatus.system';
$this->slug = 'system';
$this->iconClasses = 'nav-icon icon-wrench';
}
public function handle(Request $request)
{
$systemInfo = collect([
[
'name' => 'OS',
'value' => php_uname('s') . ' ' . php_uname('r'),
],
[
'name' => 'OS Version',
'value' => php_uname('v'),
],
[
'name' => 'Server',
'value' => $_SERVER['SERVER_SOFTWARE']
],
[
'name' => 'Timezone',
'value' => date_default_timezone_get()
],
[
'name' => 'PHP Version',
'value' => phpversion()
],
[
'name' => 'PHP Post Max Size',
'value' => ini_get('post_max_size')
],
[
'name' => 'PHP Upload Max Filesize',
'value' => ini_get('upload_max_filesize')
],
[
'name' => 'PHP Max Execution Time',
'value' => ini_get('max_execution_time')
],
[
'name' => 'PHP Max Input Vars',
'value' => ini_get('max_input_vars')
],
[
'name' => 'PHP Memory Limit',
'value' => ini_get('memory_limit')
],
[
'name' => 'PHP Xdebug Enabled',
'value' => function_exists('xdebug_get_code_coverage')
]
]);
$systemInfo->push([
'name' => 'DBMS',
'value'=> DB::getDriverName(),
])->push([
'name' => 'DB',
'value'=> DB::getDatabaseName(),
]);
if(DB::getDriverName() == 'mysql') {
$query = DB::raw("SHOW VARIABLES LIKE 'version'");
$version = Arr::first(DB::select($query));
if($version) {
$systemInfo->push([
'name' => 'DB Version',
'value' => $version->Value
]);
}
}
$systemInfo->push([
'name' => 'Cache',
'value'=> Cache::getDefaultDriver(),
])->push([
'name' => 'Cache Time',
'value'=> Cache::getDefaultCacheTime(),
]);
if(Cache::getDefaultDriver() == 'redis') {
$redisStatus = false;
try {
$redisConfig = config('database.redis.default');
$redis = Redis::connect($redisConfig['host'],$redisConfig['port']);
$redisStatus = true;
} catch(\Exception $e){ }
$systemInfo->push([
'name' => 'Redis Connected',
'value' => $redisStatus
]);
}
return view('admin.menu.systemStatus.system', ['systemInfo' => $systemInfo->all()]);
}
}