sssr
Новичок
mysqldump с помощью proc_open ??
Требуется снять дамп с БД .
и есть у меня код
Результат нулевой .
$str в шеле срабатывает с правильным паролем , но почему требуется вводить его снова - мне непонятно .
Это так и должно быть ??
И второй вопрос : почему при попытке записать в stdin пароль
возвращает 0 байт ?
Требуется снять дамп с БД .
и есть у меня код
PHP:
function _Dump($inStr,$passw)
{
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("pipe", "w"));
$fp = proc_open($inStr, $descriptorspec, $pipes);
if (is_resource($fp)) {
$wrr = fwrite($pipes[0],$passw);
print_r($wrr); // дает 0 байт на запись
fclose($pipes[0]);
if ($wrr===FALSE) echo 'ERROR WRITE';
$s ="";
if (!feof($pipes[1])) {
$s = fgets($pipes[1], 133);
}
fclose($pipes[1]);
$errorlevel = proc_close($fp);
return $s;
} else {
return false;
}
}
$passw = 'passw';
$str = 'mysqldump --host=10.0.140.15 -u sqllogin -p passw db > dump_db.sql';
$result = _Dump($str,$passw);
var_dump($result);
$str в шеле срабатывает с правильным паролем , но почему требуется вводить его снова - мне непонятно .
Это так и должно быть ??
И второй вопрос : почему при попытке записать в stdin пароль
возвращает 0 байт ?