%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/perfmon/admin/ |
Current File : /home/bitrix/www/bitrix/modules/perfmon/admin/perfmon_php.php |
<? define("ADMIN_MODULE_NAME", "perfmon"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); /** @global CMain $APPLICATION */ /** @global CDatabase $DB */ /** @global CUser $USER */ require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/perfmon/include.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/perfmon/prolog.php"); IncludeModuleLangFile(__FILE__); $RIGHT = $APPLICATION->GetGroupRight("perfmon"); if ($RIGHT == "D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); $data = array( "tuning" => array( "NAME" => GetMessage("PERFMON_PHP_TUNING_NAME"), "TITLE" => GetMessage("PERFMON_PHP_TUNING_TITLE"), "HEADERS" => array( array( "id" => "PARAMETER", "content" => GetMessage("PERFMON_PHP_TUNING_PARAMETER"), "default" => true, ), array( "id" => "VALUE", "content" => GetMessage("PERFMON_PHP_TUNING_VALUE"), "align" => "right", "default" => true, ), array( "id" => "RECOMMENDATION", "content" => GetMessage("PERFMON_PHP_TUNING_RECOMMENDATION"), "default" => true, ), ), "ITEMS" => array(), ), ); $php_version = phpversion(); $is_ok = version_compare($php_version, "5.3.0", ">="); $data["tuning"]["ITEMS"][] = array( "PARAMETER" => GetMessage("PERFMON_PHP_VERSION"), "IS_OK" => $is_ok, "VALUE" => ( $is_ok? $php_version: "<span class=\"errortext\">".$php_version."</span>" ), "RECOMMENDATION" => GetMessage("PERFMON_PHP_VERSION_REC", array("#value#" => "5.3.0")), ); $open_basedir = ini_get('open_basedir'); $is_ok = strlen($open_basedir) <= 0; $data["tuning"]["ITEMS"][] = array( "PARAMETER" => "open_basedir", "IS_OK" => $is_ok, "VALUE" => " ".$open_basedir, "RECOMMENDATION" => GetMessage("PERFMON_PHP_OPEN_BASEDIR_REC"), ); if (version_compare($php_version, "5.1.0", ">=")) { $size = CPerfAccel::unformat(ini_get('realpath_cache_size')); $is_ok = ($size >= 4 * 1024 * 1024); $data["tuning"]["ITEMS"][] = array( "PARAMETER" => "realpath_cache_size", "IS_OK" => $is_ok, "VALUE" => ini_get('realpath_cache_size'), "RECOMMENDATION" => GetMessage("PERFMON_PHP_PATH_CACHE_REC2"), ); } $arKnownAccels = array( 'apc' => '<a href="http://pecl.php.net/package/APC">APC</a>', 'xcache' => '<a href="http://xcache.lighttpd.net/">XCache</a>', 'zend_accelerator' => '<a href="http://www.zend.com/products/platform">Zend Accelerator</a>', 'wincache' => '<a href="http://learn.iis.net/page.aspx/678/using-windows-cache-extension-for-php/">Windows Cache Extension for PHP</a>', 'zendopcache' => '<a href="http://pecl.php.net/package/ZendOpcache">ZendOpcache</a>', ); $allAccelerators = CPerfomanceMeasure::GetAllAccelerators(); if (!$allAccelerators) { $data["tuning"]["ITEMS"][] = array( "PARAMETER" => GetMessage("PERFMON_PHP_PRECOMPILER"), "IS_OK" => false, "VALUE" => GetMessage("PERFMON_PHP_PRECOMPILER_NOT_INSTALLED"), "RECOMMENDATION" => GetMessage("PERFMON_PHP_PRECOMPILER_REC")."<br>".implode("<br>", $arKnownAccels), ); } else { $workingAccel = null; foreach ($allAccelerators as $accel) { if ($accel->IsWorking()) { $workingAccel = $accel; $arRecommendations = $accel->GetRecommendations(); foreach ($arRecommendations as $i => $ar) $data["tuning"]["ITEMS"][] = $ar; break; } } if ($workingAccel === null) { foreach ($allAccelerators as $accel) { $arRecommendations = $accel->GetRecommendations(); foreach ($arRecommendations as $i => $ar) $data["tuning"]["ITEMS"][] = $ar; } } } $sTableID = "tbl_perfmon_panel"; $APPLICATION->SetTitle(GetMessage("PERFMON_PHP_TITLE")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); foreach ($data as $i => $arTable) { $lAdmin = new CAdminList($sTableID.$i); $lAdmin->BeginPrologContent(); if (array_key_exists("TITLE", $arTable)) echo "<h4>".$arTable["TITLE"]."</h4>\n"; $lAdmin->EndPrologContent(); $lAdmin->AddHeaders($arTable["HEADERS"]); $rsData = new CDBResult; $rsData->InitFromArray($arTable["ITEMS"]); $rsData = new CAdminResult($rsData, $sTableID.$i); $j = 0; while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($j++, $arRes); $row->AddViewField("PARAMETER", $arRes["PARAMETER"]); if ($arRes["IS_OK"]) { $row->AddViewField("VALUE", $arRes["VALUE"]." "); $row->AddViewField("RECOMMENDATION", " "); } else { $row->AddViewField("VALUE", "<span class=\"errortext\">".$arRes["VALUE"]." </span>"); $row->AddViewField("RECOMMENDATION", $arRes["RECOMMENDATION"]); } } $lAdmin->CheckListMode(); $lAdmin->DisplayList(); } echo BeginNote(), "<a href=\"phpinfo.php?test_var1=AAA&test_var2=BBB\">".GetMessage("PERFMON_PHP_SETTINGS")."</a>", EndNote(); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); ?>