Fonction ronde PHP 7.0 et módule MsSQL


1

J'ai un serveur Debian qui fait office de serveur web. Récemment, j’ai eu besoin d’installer le module MsSQL pour utiliser un serveur Microsoft SQL comme serveur source, mais après l’avoir installé, j’ai remarqué que la fonction php round modifiait le séparateur décimal de virgule et séparait certains scripts. Peut-être que d'autres fonctions sont également affectées, mais j'ai seulement remarqué le problème de la fonction round.

Juste après la désactivation du module, il recommence à fonctionner correctement.

Activée:

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

Désactivé:

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

J'ai installé les derniers modules en utilisant pecl et j'ai activé le module en utilisant des fichiers conf:

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


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

Après quelques recherches sur google, je ne suis pas en mesure de trouver le moyen de résoudre le problème, et les paramètres régionaux du serveur sont corrects. Quelqu'un dit de remplacer les points par des virgules et vice-versa, mais rechercher toutes les fonctions sur l'ensemble de la page Web et ajouter des fonctions "remplacer" n'est pas la meilleure solution.

Quelqu'un sait comment résoudre ce problème?

Merci!!

Réponses:


0

Enfin j'ai trouvé le problème. Ma machine est configurée avec les paramètres régionaux es_ES.UTF-8 et ressemble à un module sqlsrv ne l'aime pas. Si vous modifiez les paramètres régionaux en en US.UTF-8, cela fonctionnera.

Ma question est la suivante: pourquoi un module modifie-t-il le fonctionnement d'une fonction interne, alors que Microsoft ... n'a rien de nouveau.

Si quelqu'un en sait plus à ce sujet est la bienvenue.

Salutations.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.