Problem/Motivation
During the installation process via Drush (drush site:install
) or the Quick Start Command, the unmet requirements are supposed to be displayed in the terminal as a list via InstallerException
.
However, in reality, there is no meaningful message, like:
In install.core.inc line 2293:
Database settings:
Array
or
In install.core.inc line 2293:
Extensions PHP: Disabled
Array
You can also review a duplicated issue with detailed analysis: #3081572: Unexpected description format when parsing the unmet requirements message string.
Steps to reproduce
Run the default Drupal installation via Drush with unmet requirement, for example MySQL < 5.7.8.
Proposed resolution
The proposed resolution is to use Drupal render service, because turns out the requirements arrays items may contain render elements, as it was described by @alexpott in #8:
- title and value can also be render elements
- There can be html in the description which is not good for CLI output
Remaining tasks
1) Open a merge request or attach a patch considering the suggestions in #8.
2) Add a test (if possible);
References:
- https://github.com/drush-ops/drush/issues/2158
- #2799957: Starting Drupal installation. This takes a while. Consider using the [ok] --notify global option. exception 'Drupal\Core\Installer\Exception\InstallerException' with [error] message 'PHP extensions: Disabled Array' in /home/insasse/workspace/workstation
- #2177655: Replace theme() with drupal_render() in install.core.inc
- #2625820: install_check_translations() sometimes incorrectly returns NULL instead of array