繁体   English   中英

数据以64512个字符结尾-MSSQL // PHP // OPENSuSE // APACHE2

[英]Data ended at 64512 characters - MSSQL // PHP // OPENSuSE // APACHE2

我正在通过PHP使用Linux的FREETDS驱动程序连接到Windows Server上的mssql数据库。

在运行OPENSuSE,带有PHP的Apache2,FreeTDS驱动程序中运行Web应用程序的Web服务器,它可以正常运行。

我可以执行存储过程并查看它产生的数据,但是每个数组值的输出数据似乎停在64512字节(在PHP中使用strlen进行检查)-这是PHP端还是MS端的问题? 有谁知道我该如何解决?

您是否检查了配置文件并增加了文本大小? 请参阅常见问题

1> set textsize 10000
2> go

另请参见freetds.conf中的文本大小选项

这里的其他答案讨论了一些相当随意的限制。 但是PHP配置文件本身显示以下内容; 这来自我的macOS设置上的PHP 5.6.10:

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

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

因此,很明显,默认值为4096,有效范围为0到2147483647。因此,如果返回时数据被截断,则只需按如下所示调整这些值即可将其最大化:

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

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

只需重新启动Apache即可获得新的php.ini配置。

或者,您可以在.htaccess中添加以下值:

php_value mssql.textlimit 10000000

php_value mssql.textsize 10000000

我遇到了同样的问题,并通过将mssql.textlimit和mssql.textsize的值增加到任意值来解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM