Доброе... Есть форма передающая данные на сторону php, из php идет вызов скрипта на bash'e через system():
<?php
header( "Content-Type: text/html; charset=utf-8" );
ini_set('display_errors',1);
error_reporting(E_ALL);
$start = microtime(true);
$name_user=$_POST['username'];
$surname=$_POST['surname'];
$otchestvo=$_POST['otchestvo'];
$familiya=$_POST['familiya'];
$country=$_POST['country'];
$oblast=$_POST['oblast'];
$city=$_POST['gorod'];
$godname=$_POST['godname'];
echo "Имя: ".$surname.'</br>';
echo "Отчество: ".$otchestvo.'</br>';
echo "Фамилия: ".$familiya.'</br>';
echo "Создатель: ".$godname.'</br>';
$par='NAME='.$name_user.'; ZIM='.$surname.'; ZIM_O='.$otchestvo.'; ZIM_F='.$familiya.'; RU='.$country.';
OBL='.$oblast.'; CITY='.$city.'; COMP="RABOta"; OTDEL="otdel)"; NS="NameServer"';
system ("sudo /apps/expect_vpn.sh '$par' 2>&1");
echo "Пользователь создан".'</br>';
echo "Время выполнения: ".(microtime(true) - $start);
?>
Все хорошо работало, пока неожиданно при нажатии на кнопку формы не стала выводиться как обычно иноформация из system(). Просто echo php-скрипта и все.
При этом вызываемый скрипт на bash'e может выполниться, а может и нет. Можно только по (microtime(true) - $start) определить скрипт выполнен или нет. 9 секунд примерно на выполенние скрипта нужно.
safe_mode=off
Началось с того, что я стал делать перенос строк. и после echo ставил .</br>.
Решил вернуть все как было раньше, но не помогло.
В выводе system() иногда выдает такое:
/etc/openvpn/easy-rsa/2.0/expect_vpn.exp: line 20: warning: here-document at line 3 delimited by end-of-file (wanted `EOF')
При этом скрипт выполняется.
Запускаю еще раз и ни одной ошибки.
Может он устает?)))
С чем это может быть связано?
Прочитав первый комент от сюда и применив его, информация снова пошла, но не постоянно.
Может как то можно проверять на предмет пошел ли скрипт на исполенение или нет.
И как можно узнать скрипт исполнен или нет?
Может какойнить процресс бар)))
Спасибо.