-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
4.1.11, 4.3.5, 4.4.6, 4.5.3
-
a) CentOS 7 / Apache 2.4.6 / PHP 8.1.28
b) Rocky Linux 9 / Apache 2.4.57 / PHP 8.1.28
The fix for MDL-51554 is now causing problems in PHP 8.1 (and higher) when using apache and php-fpm. When trying to view a file with e.g. spaces in its name you get an error saying the file was not found. The problem is that the rawurldecode() is being skipped because this line is never reached. The reason is that this condition is false. That's happening because this PHP issue got fixed in PHP 8.1.18, 8.2.5 and 8.3+. Therefore $_SERVER['SCRIPT_NAME'] now no longer contains $_SERVER['PATH_INFO'] as a substring. But $_SERVER['PATH_INFO'] is still urlencoded and needs to be urldecoded in setuplib.php. Since the urldecode is currently not being done, the wrong pathnamehash gets computed in e.g. the function resource_pluginfile() and the file is not found and you get to here and then here.
- has a non-specific relationship to
-
MDL-51554 Broken file serving under Apache and PHP-FPM via mod_proxy_fcgi, when the filename is not only plain ASCII or w/ blank spaces
-
- Closed
-
- has been marked as being related by
-
MDL-82265 PR only: MDL-81604 - Broken file serving under PHP 8.1, Apache and PHP-FPM via mod_proxy_fcgi, when the filename is not only plain ASCII or w/ blank spaces
-
- Closed
-
-
MDL-83490 PR only (2): MDL-81604 - Broken file serving under PHP 8.1, Apache and PHP-FPM via mod_proxy_fcgi, when the filename is not only plain ASCII or w/ blank spaces
-
- Closed
-
-
MDL-84725 PR only (3): MDL-81604 - Broken file serving under PHP 8.1, Apache and PHP-FPM via mod_proxy_fcgi, when the filename is not only plain ASCII or w/ blank spaces
-
- Closed
-
-
MDL-83391 Remove hard-coded "support" for webservers
-
- Closed
-