Итак, я работаю над проектом, и у меня возникла проблема, поскольку я продолжаю получать как ошибки, так и предупреждения. Я новичок в PHP, так что будьте осторожны. Программа работает нормально, используя PHP 5.5. Однако, когда я запускаю программу в PHP 5.6, я получаю несколько следующих ошибок:
[10 октября 2016 г. 10:04:46 Америка/Денвер] Предупреждение PHP: ошибочный формат данных для десериализации «MMR\Bundle\CodeTyperBundle\Entity\User» в /hermes/bosnaweb14a/b1234/.../application/vendor/ Doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php в строке 833 [10 октября 2016 г. 10:04:46 America/Denver] Уведомление PHP: unserialize(): ошибка по смещению 49 из 50 байтов в /hermes /bosnaweb14a/b1234/.../application/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php в строке 833 [10 октября 2016 г. 10:04:46 Америка/Денвер] Неустранимая ошибка PHP: Метод __clone вызывается для не-объекта в /hermes/bosnaweb14a/b1234/.../application/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php в строке 837.
Информация о проекте
Платформа: Symfony Версия PHP: 5.6
Затронутый код
public function newInstance()
{
if ($this->_prototype === null) {
if (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)); //Line 833
}
}
return clone $this->_prototype; //Line 837
}
Любая помощь будет принята с благодарностью
is_object($this->_prototype)
, послеif
или в качестве второго условия. - person JustOnUnderMillions   schedule 11.10.2016unserialize
не удалсяPHP Notice: unserialize():
может быть проблема в этом - person JustOnUnderMillions   schedule 11.10.2016$this->name
есть строка с неэкранированными символами, поэтому функцияunserialize()
не может ее декодировать. - person martin   schedule 12.10.2016