Может кто-нибудь мне помочь с этой ситуацией?Когда я запускаю Controller / View с помощью вспомогательного метода, время вывода очень медленное:
BENCHMARKS
Loading Time: Base Classes 0.0320
Controller Execution Time ( EquipUser / Detalii ) 3.3030
Total Execution Time 3.3350
Мой контроллер выглядит так:
public function detalii($service_tag){
// 1. Incarcare elementele necesare in pagina
$this->load->library('javascript');
$this->load->library('javascript/jquery');
$this->output->enable_profiler(TRUE);
//2. Definere campuri pentru incarcare in view
$data['titlu_pagina'] = $service_tag . " ";
$data['service_tag'] = $service_tag;
$data['echipamente'] = $this->Echipament->get_by_service_tag($service_tag);
//3. Incarcare view principal
$this->load->view('detalii', $data);
}
Область просмотра:
<section id="diverse" class="col-12 col-md-6">
<script type="text/javascript">
$(function () {
$('#ping').click(function () {
var result="<?php echo doPing($echipament->hostname); ?>";
alert(result);
return false;
});
});
</script>
<a class="btn btn-toolbar" id="ping" onclick="ping()">Ping</a>
</section>
И вспомогательная функция:
function pingExec_dr($host){
exec(sprintf('ping -w 1 %s', escapeshellarg($host)), $res, $rval);
return $rval === 0;
}
function doPing($host){
$up = pingExec_dr($host);
if($up){
$result = "<div class='alert alert-success' role='alert'>";
$result .= $host . " ONLINE";
$result .= "</div>";
} else {
$result = "<div class='alert alert-danger' role='alert'>";
$result .= $host . " OFFLINE";
$result .= "</div>";
}
return $result;
}
Я пробовал также с классом PING из: [GitHub - Ping-geerlingguy] [1] [1]: https://github.com/geerlingguy/Ping и у меня естьтот же тайм-аут, но с задержкой 1 мс.Я проверил вызов метода за пределами jQuery с тем же результатом.Я пробовал методы / классы ping в другом тестовом проекте (не используя CI), и он работал без задержки.
Пожалуйста, помогите мне.Спасибо.