aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install
diff options
context:
space:
mode:
authorTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-02 21:16:37 +0100
committerTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-02 21:16:37 +0100
commit4133d8a5f15451a00f2f1ed6a4154591ae7f908a (patch)
tree03f088e46842b7fd68281c432abd503829e21179 /phpBB/phpbb/install
parent154c7500ea1852b1269d687c03bca4251c9c5bb0 (diff)
parent8f4889da58e0aa4779ec6bf7c0e747c26a13aee3 (diff)
downloadforums-4133d8a5f15451a00f2f1ed6a4154591ae7f908a.tar
forums-4133d8a5f15451a00f2f1ed6a4154591ae7f908a.tar.gz
forums-4133d8a5f15451a00f2f1ed6a4154591ae7f908a.tar.bz2
forums-4133d8a5f15451a00f2f1ed6a4154591ae7f908a.tar.xz
forums-4133d8a5f15451a00f2f1ed6a4154591ae7f908a.zip
Merge pull request #4156 from CHItA/ticket/14445
[ticket/14445] Force refresh before schema generation * CHItA/ticket/14445: [ticket/14445] Force refresh before schema generation
Diffstat (limited to 'phpBB/phpbb/install')
-rw-r--r--phpBB/phpbb/install/helper/config.php6
-rw-r--r--phpBB/phpbb/install/module/install_database/task/create_schema.php13
2 files changed, 16 insertions, 3 deletions
diff --git a/phpBB/phpbb/install/helper/config.php b/phpBB/phpbb/install/helper/config.php
index 0f0840f470..ab5af86320 100644
--- a/phpBB/phpbb/install/helper/config.php
+++ b/phpBB/phpbb/install/helper/config.php
@@ -157,10 +157,10 @@ class config
{
if ($this->system_data['max_execution_time'] <= 0)
{
- return 1;
+ return PHP_INT_MAX;
}
- return ($this->system_data['start_time'] + $this->system_data['max_execution_time']) - time();
+ return ($this->system_data['start_time'] + $this->system_data['max_execution_time']) - microtime(true);
}
/**
@@ -430,7 +430,7 @@ class config
$this->system_data['max_execution_time'] = $execution_time;
// Set start time
- $this->system_data['start_time'] = time();
+ $this->system_data['start_time'] = microtime(true);
// Get memory limit
$this->system_data['memory_limit'] = $this->php_ini->getBytes('memory_limit');
diff --git a/phpBB/phpbb/install/module/install_database/task/create_schema.php b/phpBB/phpbb/install/module/install_database/task/create_schema.php
index cabb78787f..a5635d5dbe 100644
--- a/phpBB/phpbb/install/module/install_database/task/create_schema.php
+++ b/phpBB/phpbb/install/module/install_database/task/create_schema.php
@@ -13,6 +13,8 @@
namespace phpbb\install\module\install_database\task;
+use phpbb\install\exception\resource_limit_reached_exception;
+
/**
* Create database schema
*/
@@ -106,6 +108,17 @@ class create_schema extends \phpbb\install\task_base
*/
public function run()
{
+ // As this task may take a large amount of time to complete refreshing the page might be necessary for some
+ // server configurations with limited resources
+ if (!$this->config->get('pre_schema_forced_refresh'))
+ {
+ if ($this->config->get_time_remaining() < 5)
+ {
+ $this->config->set('pre_schema_forced_refresh', true);
+ throw new resource_limit_reached_exception();
+ }
+ }
+
$this->db->sql_return_on_error(true);
$dbms = $this->config->get('dbms');