OpenSkedge icon indicating copy to clipboard operation
OpenSkedge copied to clipboard

error logging in

Open sinteur opened this issue 8 years ago • 2 comments

[Tue Jul 05 15:45:38.864571 2016] [:error] [pid 8635] [client 10.1.1.3:49436] PHP Warning: Erroneous data format for unserializing 'OpenSkedge\AppBundle\Entity\User' in /opt/gitlabs/openskedge/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php on line 833, referer: https://openskedge.radicallyopensecurity.com/app.php/login/ [Tue Jul 05 15:45:38.864630 2016] [:error] [pid 8635] [client 10.1.1.3:49436] PHP Notice: unserialize(): Error at offset 43 of 44 bytes in /opt/gitlabs/openskedge/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php on line 833, referer: https://openskedge.radicallyopensecurity.com/app.php/login/ [Tue Jul 05 15:45:38.864643 2016] [:error] [pid 8635] [client 10.1.1.3:49436] PHP Fatal error: __clone method called on non-object in /opt/gitlabs/openskedge/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php on line 837, referer: https://openskedge.radicallyopensecurity.com/app.php/login/

sinteur avatar Jul 05 '16 13:07 sinteur

It's likely caused by a known issue with the Doctrine ORM on some versions of PHP: https://github.com/doctrine/doctrine2/issues/3897. It looks like you can either try monkey-patching something in Doctrine or try a different version of Doctrine and see if the problem goes away.

Let me know if you find a version that fixes the issue for you and I can look into pinning OpenSkedge to that version.

maxfierke avatar Jul 05 '16 14:07 maxfierke

I have the same issue... :( but i found the fix in the link provided

I have PHP 5.6.28 on a Windows 10 Pro 64 bit install with XAMP for 64 bits and after making changes to doctrine line in composer.json this way:

doctrine/orm: "~2.4.6,>=2.2.3,<2.5",

and changing the: <PATH>\doctors\vendor\doctrine\orm\lib\Doctrine\ORM\Mapping\ClassMetadataInfo.php at line 833 like this:

public function newInstance()
        {
            if ($this->_prototype === null) {
if (PHP_VERSION_ID >= 50513 || PHP_VERSION_ID === 50429 || PHP_VERSION_ID === 50513) {
                    $this->_prototype = $this->reflClass->newInstanceWithoutConstructor();
                } else {
                    $this->_prototype = unserialize(sprintf('O:%d:"%s":0:{}', strlen($this->name), $this->name));
                }
            }
            return clone $this->_prototype;
        }

ghost avatar Jun 28 '17 22:06 ghost