1

У меня есть сервер Debian, который действует как веб-сервер. Недавно мне нужно было установить модуль MsSQL, чтобы использовать Microsoft SQL Server в качестве источника, но после установки я заметил, что функция php round изменила десятичный разделитель от точки к запятой, и это нарушает некоторые сценарии. Может быть, затронуты и другие функции, но я заметил только проблему с функцией округления.

Сразу после отключения модуль снова начинает нормально работать.

Включено:

# php -r 'echo round(85.20, 1);'
85,2

Инвалид:

# php -r 'echo round(85.20, 1);'
85.2

Я установил последние модули, используя pecl, и включил модуль, используя файлы conf:

; -configuration for php mssql module
; priority=20
extension=sqlsrv.so


; -configuration for php mssql module
; priority=20
extension=pdo_sqlsrv.so

После некоторых поисков в Google я не смог найти способ решить проблему, и с локалями сервера все в порядке. Кто-то говорит, что нужно заменить точки запятыми и наоборот, но поиск по всем круговым функциям по всей веб-странице и добавление функций "заменить" - не лучший способ.

Кто-нибудь знает способ решить эту проблему?

Спасибо!!

1 ответ1

0

Наконец я нашел проблему. Моя машина настроена с использованием языка es_ES.UTF-8 и выглядит так, что модулю sqlsrv это не нравится. Изменение локали на en_US.UTF-8 заставит его работать.

У меня вопрос, почему модуль меняет работу внутренней функции, но Microsoft ... ничего нового.

Если кто-то знает больше об этом, можно только приветствовать.

Привет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .