公司需將資料從 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