API: при отправке POST с помощью curl ошибка 500
API: при отправке POST с помощью curl ошибка 500
делаю POST запрос с помощью curl несколько подряд для suspend не одного юзера, а мне выдает ошибку 500,
но если один раз за скрипт выполняю curl то ошибки нет
в eror_log
2014/02/22 03:50:57 [error] 6557#0: *261153 upstream prematurely closed connection while reading response header from upstream, client: <мой дом ip>., server: <мой домен>, request: "GET /cron/suspend.php HTTP/1.1", upstream: "http://<ip сервера>:8080/cron/suspend.php", host: "<мой домен>"
вот код примерный
в этом коде первый curl выполняется затем вываливается 502 bad gateway
u1 блокируется, если сделать повтор F5, то второй u2 блокируется
но если один раз за скрипт выполняю curl то ошибки нет
в eror_log
2014/02/22 03:50:57 [error] 6557#0: *261153 upstream prematurely closed connection while reading response header from upstream, client: <мой дом ip>., server: <мой домен>, request: "GET /cron/suspend.php HTTP/1.1", upstream: "http://<ip сервера>:8080/cron/suspend.php", host: "<мой домен>"
вот код примерный
Code: Select all
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://server:8083/api/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array('user' => 'admin','password' => 'xxxxxx','cmd' => 'v-suspend-user', 'arg1' => 'u1')));
$answer = curl_exec($curl);
curl_close($curl);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://server:8083/api/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array('user' => 'admin','password' => 'xxxxxx','cmd' => 'v-suspend-user', 'arg1' => 'u2')));
$answer = curl_exec($curl);
curl_close($curl);
u1 блокируется, если сделать повтор F5, то второй u2 блокируется
Re: API: при отправке POST с помощью curl ошибка 500
разобрался, это из-за того что после suspend одного юзера выполняется рестарт
т.е. нужен второй аргумент 'no'
наприм
v-suspend-user u1 no
и в конце цикла делать
v-restart-dns
v-restart-cron
и в конце
v-restart-web
т.к. после этой команды идет рестарт apache и остальные уже не выполняются
Code: Select all
if [ "$restart" != 'no' ]; then
$BIN/v-restart-web
$BIN/v-restart-dns
$BIN/v-restart-cron
fi
наприм
v-suspend-user u1 no
и в конце цикла делать
v-restart-dns
v-restart-cron
и в конце
v-restart-web
т.к. после этой команды идет рестарт apache и остальные уже не выполняются