首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

PHP MSSQL 擴展文字截斷問題:php.ini mssql.textlimit 參數深度解析

     編輯:MySQL 資料庫相關知識

問題現象

公司需將資料從 MSSQL 遷移至 MySQL,PHP 腳本查詢結果總是不完整,彷彿被中間截斷。MSSQL 自身查詢分析器正常,網管排查無果。

根本原因

php.ini 中 MSSQL 擴展預設限制文字欄位長度:

; Valid range 0 - 2147483647. Default = 4096.
;mssql.textlimit = 4096

; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096

預設 4096 位元組導致長文字截斷。

解決方案

修改 php.ini 將兩參數設為最大值:

mssql.textlimit = 2147483647
mssql.textsize = 2147483647

重啟 Web 服務後,查詢結果完整正常。

相關參數補充

[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
;mssql.connect_timeout = 5
;mssql.timeout = 60
;mssql.batchsize = 0
;mssql.datetimeconvert = On
mssql.secure_connection = Off
;mssql.max_procs = 25
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved