diff --git a/phpBB/phpbb/install/module/install_finish/task/install_extensions.php b/phpBB/phpbb/install/module/install_finish/task/install_extensions.php
index eb44bb780b..b8a04685f6 100644
--- a/phpBB/phpbb/install/module/install_finish/task/install_extensions.php
+++ b/phpBB/phpbb/install/module/install_finish/task/install_extensions.php
@@ -13,6 +13,8 @@
 
 namespace phpbb\install\module\install_finish\task;
 
+use phpbb\install\exception\resource_limit_reached_exception;
+
 /**
  * Installs extensions that exist in ext folder upon install
  */
@@ -102,7 +104,9 @@ class install_extensions extends \phpbb\install\task_base
 
 		$install_extensions = $this->iohandler->get_input('install-extensions', array());
 
-		$available_extensions = $this->extension_manager->all_available();
+		$all_available_extensions = $this->extension_manager->all_available();
+		$i = $this->install_config->get('install_extensions_index', 0);
+		$available_extensions = array_slice($all_available_extensions, $i);
 
 		// Install extensions
 		foreach ($available_extensions as $ext_name => $ext_path)
@@ -133,6 +137,21 @@ class install_extensions extends \phpbb\install\task_base
 				// Add fail log and continue
 				$this->iohandler->add_log_message(array('CLI_EXTENSION_ENABLE_FAILURE', $ext_name));
 			}
+
+			$i++;
+
+			// Stop execution if resource limit is reached
+			if ($this->install_config->get_time_remaining() <= 0 || $this->install_config->get_memory_remaining() <= 0)
+			{
+				break;
+			}
+		}
+
+		$this->install_config->set('install_extensions_index', $i);
+
+		if ($i < sizeof($all_available_extensions))
+		{
+			throw new resource_limit_reached_exception();
 		}
 	}
 
diff --git a/phpBB/phpbb/install/module/update_database/task/update_extensions.php b/phpBB/phpbb/install/module/update_database/task/update_extensions.php
index 64215e2f30..24b72f7b42 100644
--- a/phpBB/phpbb/install/module/update_database/task/update_extensions.php
+++ b/phpBB/phpbb/install/module/update_database/task/update_extensions.php
@@ -13,6 +13,7 @@
 
 namespace phpbb\install\module\update_database\task;
 
+use phpbb\install\exception\resource_limit_reached_exception;
 use phpbb\install\helper\container_factory;
 use phpbb\install\helper\config;
 use phpbb\install\helper\iohandler\iohandler_interface;
@@ -143,7 +144,9 @@ class update_extensions extends task_base
 				}
 			}
 
-			$available_extensions = $this->extension_manager->all_available();
+			$all_available_extensions = $this->extension_manager->all_available();
+			$i = $this->install_config->get('update_extensions_index', 0);
+			$available_extensions = array_slice($all_available_extensions, $i);
 
 			// Update available extensions
 			foreach ($available_extensions as $ext_name => $ext_path)
@@ -190,6 +193,21 @@ class update_extensions extends task_base
 						$this->iohandler->add_log_message('CLI_EXTENSION_ENABLE_FAILURE', array($ext_name));
 					}
 				}
+
+				$i++;
+
+				// Stop execution if resource limit is reached
+				if ($this->install_config->get_time_remaining() <= 0 || $this->install_config->get_memory_remaining() <= 0)
+				{
+					break;
+				}
+			}
+
+			$this->install_config->set('update_extensions_index', $i);
+
+			if ($i < sizeof($all_available_extensions))
+			{
+				throw new resource_limit_reached_exception();
 			}
 		}