Intereting Posts
php перетасовывает пакет карт php parse_url reverse – проанализированный URL-адрес Ошибка TCPDF и mPDF: некоторые данные уже были отправлены в браузер, не могут отправлять PDF-файл PHPExcel: загрузить файл Excel на стороне клиента Как пропустить необязательные аргументы в вызове функции? Настройка php-меню для настроек языка php regex, избрать номер телефона из текста / html как вставить переменную? из формы в ссылку file_get_contents Солить с хешированной версией пароля пользователя так же безопасно, как солить с заранее определенной строкой? Запрос Curl с дайджестом auth в PHP для скачивания Частный репозиторий Bitbucket PHP получает выбранное значение формы выбора Можно ли читать / получать доступ к значениям сканера штрих-кода, используя PHP и MySQL? PHP: получить последнюю строку в базе данных с помощью mysql Как я могу отобразить SubTotal на OpenCart на любой странице? Как получить ISP посетителя через PHP

Что такое обработчик сериализации php_binary?

Когда я делаю phpinfo () или php -i из CLI, я получаю следующий вывод:

session Registered save handlers => files user sqlite memcached Registered serializer handlers => php php_binary wddx 

Я не знал, что сериализация PHP поддерживает двоичный формат, и в документации о нем нет ничего.

Я собирался использовать igbinary для сериализации сеанса на сервере memcached, поэтому мне интересно, как сравнивается php_binary .

igbinary PHP extension предлагает новый сеансовый сериализатор / десериализатор, который отличается от собственных реализаций php , а именно php и php_binary .

Чтобы ответить на ваш вопрос: эти обработчики вообще не сравниваются, они совершенно разные. Различия igbinary вводятся в документах readme.

Я предполагаю, что вы задаете вопрос, потому что вы нашли слово двоичное в двух двоичных файлах: ig и php_. Однако это не говорит много. php_binary сравните php с обработчиком php_binary :

php_binary сериализации / десериализации сериализации php_binary почти идентичен обработчику php по умолчанию. Они отличаются только тем, как кодируются имена переменных, которые входят в сеанс.

php_binary будет префикс всех имен переменных сеанса с двоичной длиной имени. Хотя с php каждое имя переменной имеет суффикс | символ ( \x7C , десятичный \x7C 124 ). Из того, что я знаю, сериализация значений переменной не отличается вообще.

Таким образом, сериализация значений идентична между обработчиком php и php_binary .

Итак, рядом с небольшой разницей в pre / suffix имен переменных сеанса, вопрос действительно спрашивает о том, как igbinary сравнивается с сериализацией php (которая используется в данных сеанса). Эти различия указаны в igbinary readme . Он довольно хорошо описывает, что сделано и почему.

Если вы хотите использовать сериализацию и для сериализации / несериализации, расширение предлагает две функции замены:

igbinary_serialize и igbinary_unserialize – используются как их кузены php.

Если вас беспокоит какая-то особенность различий, спросите пожалуйста.