Я пытаюсь сделать резервную копию базы данных postgresql с помощью php. Если я попробую это в командной строке, используя следующее, то это работает. Но если я попробую это с помощью exec (), тогда будет сгенерирован пустой файл. Также скрипт php выполняется бесконечно.
pg_dump -U postgres test > D:/backup.sql
Следующий код работает.
putenv("PGPASSWORD=postgres");
$dumpcmd = array("pg_dump", "-i", "-U", escapeshellarg("postgres"), "-F", "c", "-b", "-v", "-f", escapeshellarg("D:/backup4.sql"), escapeshellarg("test"));
exec( join(' ', $dumpcmd), $cmdout, $cmdresult );
putenv("PGPASSWORD");
if ($cmdresult != 0)
{
# Handle error here...
echo "error";
}
Других решений пока нет …