����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 18.226.214.156 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/php/Symfony/Component/Cache/Marshaller/ |
Upload File : |
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Cache\Marshaller; use Symfony\Component\Cache\Exception\CacheException; /** * Serializes/unserializes values using igbinary_serialize() if available, serialize() otherwise. * * @author Nicolas Grekas <p@tchwork.com> */ class DefaultMarshaller implements MarshallerInterface { private $useIgbinarySerialize = true; public function __construct(bool $useIgbinarySerialize = null) { if (null === $useIgbinarySerialize) { $useIgbinarySerialize = \extension_loaded('igbinary') && \PHP_VERSION_ID !== 70400; } elseif ($useIgbinarySerialize && (!\extension_loaded('igbinary') || \PHP_VERSION_ID === 70400)) { throw new CacheException('The "igbinary" PHP extension is not '.(\PHP_VERSION_ID === 70400 ? 'compatible with PHP 7.4.0.' : 'loaded.')); } $this->useIgbinarySerialize = $useIgbinarySerialize; } /** * {@inheritdoc} */ public function marshall(array $values, ?array &$failed): array { $serialized = $failed = []; foreach ($values as $id => $value) { try { if ($this->useIgbinarySerialize) { $serialized[$id] = igbinary_serialize($value); } else { $serialized[$id] = serialize($value); } } catch (\Exception $e) { $failed[] = $id; } } return $serialized; } /** * {@inheritdoc} */ public function unmarshall(string $value) { if ('b:0;' === $value) { return false; } if ('N;' === $value) { return null; } static $igbinaryNull; if ($value === ($igbinaryNull ?? $igbinaryNull = \extension_loaded('igbinary') && \PHP_VERSION_ID !== 70400 ? igbinary_serialize(null) : false)) { return null; } $unserializeCallbackHandler = ini_set('unserialize_callback_func', __CLASS__.'::handleUnserializeCallback'); try { if (':' === ($value[1] ?? ':')) { if (false !== $value = unserialize($value)) { return $value; } } elseif (false === $igbinaryNull) { throw new \RuntimeException('Failed to unserialize values, did you forget to install the "igbinary" extension?'); } elseif (null !== $value = igbinary_unserialize($value)) { return $value; } throw new \DomainException(error_get_last() ? error_get_last()['message'] : 'Failed to unserialize values.'); } catch (\Error $e) { throw new \ErrorException($e->getMessage(), $e->getCode(), E_ERROR, $e->getFile(), $e->getLine()); } finally { ini_set('unserialize_callback_func', $unserializeCallbackHandler); } } /** * @internal */ public static function handleUnserializeCallback($class) { throw new \DomainException('Class not found: '.$class); } }