Can't display System Status page - Guzzle error
Overview
Accessing the System Status page produces the boilerplate but no content.
Reproduction steps
- Go to Administer > Administration Console > System Status
Current behaviour
The Drupal log shows:
| Location | https://example.org/civicrm/ajax/rest |
| Referrer | https://example.org/civicrm/a/ |
| Message | Error: Call to undefined function GuzzleHttp\Psr7\get_message_body_summary() in GuzzleHttp\Exception\RequestException::getResponseBodySummary() (line 127 of /var/www/sites/all/modules/civicrm/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php). |
This is a failure in handling an exception, so unless there is some other failure this function is not called.
It looks to be an internal error in the Guzzle. A quick search, shows reports of the problem in other software using this Guzzle.
- https://github.com/nextcloud/twofactor_gateway/issues/312
- https://wordpress.org/support/topic/internal-server-error-620/
- https://stackoverflow.com/questions/61363997/guzzlehttp-gives-call-to-undefined-function-guzzlehttp-psr7-get-message-body-su
This is only happening on one server. Others are functioning normally.
Commenting out the referenced line lets the status be produced.
Dumping the $response
object shows a status of 403, but does not contain the URL.
Environment information
- CiviCRM: 5.28.2
- PHP: 7.3
- CMS: Drupal 7.30
- Web Server: Apache 2.4