PHP7 PDO_DBLIB уникальный идентификатор

Я в настоящее время использую pdo_dblib расширение в моем проекте.
Когда я использую это под PHP 5.6 с FreeTDS Version 7.0 установить в config. Это даст мне уникальный идентификатор как string,
Когда я использую тот же скрипт под PHP 7.0.8 это просто выдает мне искаженное дерьмо.
Я не хочу бросать это в SQL или преобразовать его позже в PHP, Потому что иногда это может быть уникальным идентификатором в результате, а иногда нет. поэтому мне нужно пройти через полные результаты для преобразования уникального идентификатора.

Так есть ли решение, чтобы начать работу на PHP 7.0.8 как будто это было под PHP 5.6?

3

Решение

Похоже, ошибка была введена в какой-то минорной версии PHP7.

  • 7.0.4 работает отлично. Вы можете вручную скомпилировать его с помощью phpbrew.
  • 7.0.8 имеет эту реализацию в настоящее время не работает.

Для этой проблемы уже был подан отчет об ошибке: https://bugs.php.net/bug.php?id=72601

и запрос на удаление для возможного исправления:
https://github.com/php/php-src/pull/2001

0

Другие решения

Как объяснено в запросе на получение, упомянутом в ответе Бояна, причина этой проблемы в PHP 7 заключается в том, что вы должны указать PDO преобразовать GUID из двоичного файла в строку.

Это должно сделать это для тех, кто борется с этим.

    /** @var \PDO $pdo */
$pdo->setAttribute(\PDO::DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER, true);
3

По вопросам рекламы [email protected]