Updating button returns blank page and sit won't work

Hi there,

I’m trying to update my ConcreteCMS version 8.4.3 to the latest version 8.5.12 but when I click update, the page returns blank, my website does not work anymore and the only thing I can do is remove the update from the update.php file to restore the site. I’m basically stuck in a loop.
I tried updating to 8.4.5 but that gives me the following error when visiting the site:

preg_match(): Compilation failed: invalid range in character class at offset 4

I’m trying to update to version 9 as PHP 7.2 will stop working on my hosting provider. PHP 7.4 works with version 8.4.5 but I still see the error message. I need to update to 8.5.9+ to be able to upgrade to 9 but I’m suck.

You could try a manual update, see

I’m using the manual update method already. Trough the dashboard as the replacing the core method just spammed error messages…

Tried a manual update to the core from 8.4.3 to 8.5.9 and seeing this error now.

Whoops\Exception\ErrorException thrown with message "Declaration of DoctrineProxies\__CG__\Concrete\Core\Entity\Site\Site::clearAttribute($ak) must be compatible with Concrete\Core\Entity\Site\Site::clearAttribute($ak, $doReindexImmediately = true)"

Stacktrace:
#2 Whoops\Exception\ErrorException in /Users/user/Documents/local websites/websitename/application/config/doctrine/proxies/__CG__ConcreteCoreEntitySiteSite.php:535
#1 Whoops\Run:handleError in /Users/user/Documents/local websites/websitename/concrete/vendor/filp/whoops/src/Whoops/Run.php:486
#0 Whoops\Run:handleShutdown in [internal]:0
/Users/user/Documents/local websites/websitename/application/config/doctrine/proxies/__CG__ConcreteCoreEntitySiteSite.php
        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAttribute', [$ak, $mode]);
 
        return parent::getAttribute($ak, $mode);
    }
 
    /**
     * {@inheritDoc}
     */
    public function getAttributeValue($ak)
    {
 
        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAttributeValue', [$ak]);
 
        return parent::getAttributeValue($ak);
    }
 
    /**
     * {@inheritDoc}
     */
    public function clearAttribute($ak)
    {
 
        $this->__initializer__ && $this->__initializer__->__invoke($this, 'clearAttribute', [$ak]);
 
        return parent::clearAttribute($ak);
    }
 
    /**
     * {@inheritDoc}
     */
    public function setAttribute($ak, $value)
    {
 
        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAttribute', [$ak, $value]);
 
        return parent::setAttribute($ak, $value);
    }
 
}

To clarify, a completely manual update through the CLI.

Before updating

  • Disable cache
  • Clear cache
  • Put doctrine entities into development mode