Skip to content

Instantly share code, notes, and snippets.

@solepixel

solepixel/unzip.php

Last active Jun 20, 2018
Embed
What would you like to do?
When load balancers have set timeouts at 30 seconds, this script will process requests that may take longer than 30 seconds (up to 15 minutes) without causing a timeout.
<?php
/**
* Source:
* @link https://web.archive.org/web/20160403212324/http://cloudsitesrock.com/?ac=list&cat=6&m=0&y=0
*/
$cmd = "zip -9prv content_backup.zip .";
$pipe = popen($cmd, 'r');
if (empty($pipe)) {
throw new Exception("Unable to open pipe for command '$cmd'");
}
stream_set_blocking($pipe, false);
echo "\n";
while (!feof($pipe)) {
fread($pipe, 1024);
sleep(1);
echo ".";
flush();
}
echo "\n";
echo "Complete";
pclose($pipe);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment