PHP 7.0 round function และ MsSQL módule


1

ฉันเป็นเซิร์ฟเวอร์ Debian ที่ทำหน้าที่เป็นเว็บเซิร์ฟเวอร์ เมื่อเร็ว ๆ นี้ฉันต้องการติดตั้งโมดูล MsSQL เพื่อใช้ Microsft 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 ฉันไม่สามารถหาวิธีแก้ไขปัญหาได้และตำแหน่งที่ตั้งเซิร์ฟเวอร์นั้นถูกต้อง มีคนบอกว่าจะแทนที่จุดด้วยเครื่องหมายจุลภาคและในทางกลับกัน แต่การค้นหาทุกฟังก์ชั่นรอบในหน้าเว็บทั้งหมดและเพิ่มฟังก์ชั่น "แทนที่" ไม่ใช่วิธีที่ดีที่สุด

มีคนรู้วิธีแก้ไขปัญหานี้หรือไม่?

ขอบคุณ !!

คำตอบ:


0

ในที่สุดฉันก็พบปัญหา เครื่องของฉันถูกกำหนดค่าด้วย locale es_ES.UTF-8 และดูเหมือนว่าโมดูล sqlsrv ไม่ชอบ การเปลี่ยนโลแคลเป็น en_US.UTF-8 ทำให้ใช้งานได้

คำถามของฉันคือเหตุผลที่โมดูลเปลี่ยนวิธีการทำงานของฟังก์ชันภายใน แต่เป็น Microsoft ... ไม่มีอะไรใหม่

หากใครรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ยินดีต้อนรับ

ทักทาย.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.