Эта команда прекрасно работает, если я вызываю ее во время выполнения страницы
exec('run.exe -something', $response, $status);
Но у меня есть кнопка на странице, которая выполняет ту же команду через AJAX:
// Attempt a call to change the password
$.ajax({
url: 'actions/runcommand.php',
type: 'POST',
data: {
cid: cid,
},
dataType: 'json',
success: function(msg)
{
if (ajaxErr(msg) return;
// Show success message
showMsg('success!');
},
error: function(jqXHR, textStatus, errorThrown){ajaxFail(jqXHR, textStatus, errorThrown)}
});
Я проверил, что обе команды выполняют буквально одну и ту же строку, независимо от того, делаю ли я это в своем коде или через AJAX, но инициированная AJAX возвращает код ошибки вместо функционирования. Значение status равно 1, что является общей ошибкой, поэтому мне нечем продолжать.
Я оглянулся и нашел один похожий пост, но они решили его, удалив https из команды ajax. Если я это сделаю, браузер блокирует его страшными сообщениями.
Это работает на локальном компьютере, который пытается HTTPS, но терпит неудачу, потому что это самоподписанный сертификат или что-то в этом роде. Я отключил перенаправление https для сайта, но это ничего не изменило. Не уверен, чем он недоволен ... пожалуйста, помогите!