Project

General

Profile

Actions

Bug #89188

closed

maybe ddev-related / Manage Language Packs: Uncaught TYPO3 Exception: gzdecode() expects parameter 1 to be string, boolean given

Added by Jonas Eberle over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Install Tool
Target version:
-
Start date:
2019-09-17
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.3
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

When trying to open the Maintenance -> Manage Language Packs modal, the AJAX-request fails with

Uncaught TYPO3 Exception: gzdecode() expects parameter 1 to be string, boolean given | TypeError thrown in file /var/www/html/webroot/web/typo3/sysext/install/Classes/Service/LanguagePackService.php in line 177. Requested URL: https://xxxx.test/typo3/install.php?install[controller]=maintenance&install[context]=backend&install[action]=languagePacksGetData&_=1568718473579 

PHP 7.2.21, running with ddev. I have seen some other problems with downloading stuff from the core in ddev (e.g. when a 404-page is given), so maybe there is something going wrong with ddev and GuzzleHttp.

These are the code lines up to the exception:

    /**
     * Update main language pack download location if possible.
     * Store to registry to be used during language pack update
     *
     * @return string
     */
    public function updateMirrorBaseUrl(): string
    {
        $downloadBaseUrl = false;
        try {
            $xmlContent = GeneralUtility::getUrl('https://repositories.typo3.org/mirrors.xml.gz');
            $xmlContent = GeneralUtility::xml2array(@gzdecode($xmlContent));

-> $xmlContent is false here. I xdebugged into Guzzle and it is getting a timeout. I can download the file fine though from the web-containers PHP context.

The shown error message is not really helpful:

Something went wrong. Please use Check for broken extensions to see if a loaded extension breaks this part of the install tool and unload it.

The box below may additionally reveal further details on what went wrong depending on your debug settings. It may help to temporarily switch to debug mode using Settings > Configuration Presets > Debug settings.

I suggest to show the Guzzle exception. That would be cURL error 28: Connection timed out after 10001 milliseconds (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in my case.

Actions #1

Updated by Jonas Eberle over 4 years ago

Also with PHP 7.3.

The same error occurs when trying to display an error page and the 404 is configured to show content from another page.

Both incidents fetch through `GeneralUtility::getUrl()`.

In the depths of Guzzle's getAsync()-resolving the error occurs.

Actions #2

Updated by Jonas Eberle over 4 years ago

I think I found my problem. A proxy-configuration creeped into the HTTP configuration.

Sorry that I did not cross-check with another installation.

This can be closed.

Actions #3

Updated by Björn Jacob over 4 years ago

  • Status changed from New to Closed

Thanks for your feedback. As requested, I am closing this issue.

Actions #4

Updated by Hugo Laporte over 4 years ago

  • PHP Version changed from 7.2 to 7.3

Hi Jonas Eberle, can you please give a hint on how you resolved this. I have the same issue on the "Manage Language Packs" menu.

Also on php 7.3

Thanks.

Actions #5

Updated by Maik no-lastname-given over 4 years ago

Same issue on Mittwald server with PHP Version 7.3.2.

Running

bin/typo3cms language:update

on CLI worked, though.

Actions

Also available in: Atom PDF