пытается выполнить bash-скрипт на том же сервере (другой проект) из codeigniter, но скрипт возвращает 504

Я сделал метод в контроллере, который проверяет среду и запускает shell_exec (‘. /Var/scripts/somescript.sh’) оттуда и выводит сообщение

это пример кода

/**
* Run this script
*/
function my_script()
{
if ($this->params['purge'])
{
if ($this->is_ajax())
{
if(ENVIRONMENT == 'production')
{
$data['output'] = shell_exec(". /var/prod/www/script.sh 2>&1");
$data['message'] = "Task completed";
}
elseif(ENVIRONMENT == 'staging')
{
$data['output'] = shell_exec(". /var/stag/www/script.sh 2>&1");
$data['message'] = "Task completed";
}
elseif(ENVIRONMENT == 'testing')
{
$data['output'] = shell_exec(". /var/dev/www/script.sh 2>&1");
$data['message'] = "Task Completed";
}
$this->output_json(true, $data, array('key_order'=>true));
}
}

$this->add_js('tools/my_file');
$this->view->breadcrumbs()->add('Run the script');
$this->display('tools/myfile.php');
}

Теперь я сделал вид и с помощью кнопки, которая вызывает этот метод codeigniter через javascript

$(function() {
$('.btn-purge').click(function() {

if (confirm("This will run the aforementioned script, Click OK to confirm"))
{
$.get('/dashboard/tools/my_file?purge=1', function(rtn) {

if (rtn.status !== true)
{
alert("Failed to run script");
}
else
{
//alert(rtn.data)
$("pre.result").css("display", "block");
$("pre.result").text(rtn.data.output);
}
});
}

});

});

Теперь этот script.sh присутствует в другом проекте, размещенном на том же сервере, и имеет ~ 10 минут выполнения.

Любая помощь будет оценена

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector