--TEST-- mysqli_fetch_array() - large packages (to test compression) --SKIPIF-- --INI-- memory_limit=-1 --FILE-- 0) ? parse_memory_limit(ini_get('memory_limit')) : pow(2, 32); /* try to respect php.ini but make run time a soft limit */ $max_runtime = (ini_get('max_execution_time') > 0) ? ini_get('max_execution_time') : 30; set_time_limit(0); do { if ($package_size > $limit) { printf("stop: memory limit - %s vs. %s\n", $package_size, $limit); break; } $start = microtime(true); if (!mysqli_fetch_array_large($offset++, $link, $package_size)) { printf("stop: packet size - %d\n", $package_size); break; } $duration = microtime(true) - $start; $max_runtime -= $duration; if ($max_runtime < ($duration * 3)) { /* likely the next iteration will not be within max_execution_time */ printf("stop: time limit - %2.2fs\n", $max_runtime); break; } $package_size += $package_size; } while (true); mysqli_close($link); return true; } test_fetch($host, $user, $passwd, $db, $port, $socket, $engine, null); test_fetch($host, $user, $passwd, $db, $port, $socket, $engine, MYSQLI_CLIENT_COMPRESS); print "done!"; ?> --CLEAN-- --EXPECTF-- stop: %s stop: %s done!