diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 41639161be..3e5757aa70 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -190,6 +190,7 @@
[Fix] Do not mark global announcements as read if all topics in a forum become read (Bug #15729).
[Fix] Fix general error while registration, through undefined variable $config in validate_referer (Bug #49035 - Patch by wjvriend)
[Fix] Correctly extract column default value when exporting PostgreSQL tables. (Bug #48955)
+ [Fix] Allow updater to work correctly with PHP filename extensions other than ".php". (Bugs #15809, #49215)
[Change] submit_post() now accepts force_approved_state key passed to $data to indicate new posts being approved (true) or unapproved (false).
[Change] Change the data format of the default file ACM to be more secure from tampering and have better performance.
[Change] Add index on log_time to the log table to prevent slowdown on boards with many log entries. (Bug #44665 - Patch by bantu)
diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php
index a809afd4c7..ad72652e97 100644
--- a/phpBB/install/install_update.php
+++ b/phpBB/install/install_update.php
@@ -203,7 +203,7 @@ class install_update extends module
}
// What about the language file? Got it updated?
- if (in_array('language/en/install.php', $this->update_info['files']))
+ if (in_array('language/en/install.' . $phpEx, $this->update_info['files']))
{
$lang = array();
include($this->new_location . 'language/en/install.' . $phpEx);
@@ -1577,6 +1577,12 @@ class install_update extends module
if ($info !== false)
{
+ // We assume that all file extensions have been renamed to .$phpEx,
+ // if someone is using a non .php file extension for php files.
+ // However, in $update_info['files'] we use hardcoded .php.
+ // We therefore replace .php with .$phpEx.
+ $info['files'] = preg_replace('/\.php$/i', ".$phpEx", $info['files']);
+
// Adjust the update info file to hold some specific style-related information
$info['custom'] = array();
/*