Project

General

Profile

Actions

Bug #80688

closed

Frontend not working in 8.7.0

Added by Gunter Königsmann over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
-
Target version:
-
Start date:
2017-04-05
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
8
PHP Version:
7.0
Tags:
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

After disabling versioning I got the following error message in 8.7.0 that wasn't there in 8.6.1 and cannot be resolved by clearing the cache:

Uncaught TYPO3 Exception
strlen() expects parameter 1 to be string, null given

TypeError thrown in file
/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Classes/Typolink/PageLinkBuilder.php in line 202.

11 strlen(NULL)

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Classes/Typolink/PageLinkBuilder.php:

00200:                     // domains. absRefPrefix can contain domain name, which will screw up
00201:                     // the link to the external domain.

00202:                     $prefixLength = strlen($tsfe->config['config']['absRefPrefix']);

00203:                     if (substr($LD['totalURL'], 0, $prefixLength) === $tsfe->config['config']['absRefPrefix']) {
00204:                         $LD['totalURL'] = substr($LD['totalURL'], $prefixLength);

10 TYPO3\CMS\Frontend\Typolink\PageLinkBuilder::build(array, "|", "", array)

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php:

05610:             );
05611:             try {

05612:                 list($this->lastTypoLinkUrl, $linkText, $target) = $linkBuilder->build($linkDetails, $linkText, $target, $conf);

05613:             } catch (UnableToLinkException $e) {
05614:                 // Only return the link text directly

9 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::typoLink("|", array)

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php:

05749:     public function typoLink_URL($conf)
05750:     {

05751:         $this->typoLink('|', $conf);

05752:         return $this->lastTypoLinkUrl;
05753:     }

8 TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::typoLink_URL(array)

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php:

02915:             $parameter .= ',' . $type;
02916:         }

02917:         $redirectUrl = $cObj->typoLink_URL(['parameter' => $parameter, 'addQueryString' => true,

02918:             'addQueryString.' => ['exclude' => 'id']]);
02919: 

7 TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::redirectToCurrentPage()

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php:

02896:     {
02897:         if (!empty($this->originalShortcutPage) && $this->originalShortcutPage['doktype'] == PageRepository::DOKTYPE_SHORTCUT) {

02898:             $this->redirectToCurrentPage();

02899:         }
02900:     }

6 TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkPageForShortcutRedirect()

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Classes/Http/RequestHandler.php:

00193: 
00194:         // Check for shortcut page and redirect

00195:         $this->controller->checkPageForShortcutRedirect();

00196:         $this->controller->checkPageForMountpointRedirect();
00197: 

5 TYPO3\CMS\Frontend\Http\RequestHandler::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/core/Classes/Core/Bootstrap.php:

00308: 
00309:         // Execute the command which returns a Response object or NULL

00310:         $this->response = $requestHandler->handleRequest($request);

00311:         return $this;
00312:     }

4 TYPO3\CMS\Core\Core\Bootstrap::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Classes/Http/Application.php:

00077:     public function run(callable $execute = null)
00078:     {

00079:         $this->bootstrap->handleRequest(\TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals());

00080: 
00081:         if ($execute !== null) {

3 TYPO3\CMS\Frontend\Http\Application::run()

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Resources/Private/Php/frontend.php:

00021: call_user_func(function () {
00022:     $classLoader = require __DIR__ . '/../../../../../../vendor/autoload.php';

00023:     (new \TYPO3\CMS\Frontend\Http\Application($classLoader))->run();

00024: });

2 {closure}()

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typo3/sysext/frontend/Resources/Private/Php/frontend.php:

00022:     $classLoader = require __DIR__ . '/../../../../../../vendor/autoload.php';
00023:     (new \TYPO3\CMS\Frontend\Http\Application($classLoader))->run();

00024: });

1 require("/homepages/30/d67027059/htdocs/typo3_src-8.7.0/typ…sysext/frontend/Resources/Private/Php/frontend.php")

/homepages/30/d67027059/htdocs/typo3_src-8.7.0/index.php:

00001: <?php
00002: 

00003: require __DIR__ . '/typo3/sysext/frontend/Resources/Private/Php/frontend.php';

All migration assistants and the backend work fine.

Actions #1

Updated by Georg Ringer over 7 years ago

  • Status changed from New to Needs Feedback

I guess absRefPrefix is not set?

Actions #2

Updated by Gunter Königsmann over 7 years ago

You were right: It wasn't. Now that it is set everything works fine. Thanks!


As absRefPrefix hasn't been set for years and it has stopped working only in 8.7.0... ...should this be included in an upgrade wizard? Otherwise I am for closing this ticket.

And Sorry for the delay. I was expecting to receive a mail if there is an answer - and seem to have setup something wrong.

Thanks again,
and kind regards,

Gunter.
Actions #3

Updated by Alexander Opitz over 7 years ago

  • Status changed from Needs Feedback to Closed
  • Target version deleted (8 LTS)
Actions

Also available in: Atom PDF