PHP支持极长字符串吗?

3

我想使用php将一个非常长的字符串存储到数据库中。这个字符串的大小为43kb。但是,当我将这个字符串传递给一个php变量时,它不支持。它只能支持16379个字符组成的一个字符串。如果再添加一个字符,Dreamweaver会在该行上标示语法错误。那我该如何将一个长度为50000个字符的长字符串存储到php变量中呢?


然后将其拆分为两行,例如$str = '...'; $str .= '...';- 这也可能会引起你的兴趣:https://dev59.com/bXA75IYBdhLWcg3wo6rx - Niko
2个回答

8
只要你有足够的内存来处理,你可以将任何东西存储在PHP字符串变量中。
43kb不算太多,只有16379个字符。
Dreamweaver(我会尽量客气),应该有自己的内存限制,或者不用来处理这样的变量。
你没有尝试运行PHP脚本吗?
顺便说一句,如果你需要存储如此大的数据,我真的建议你将它从PHP脚本移动到文件中。
请注意,默认情况下,PHP的memory_limit为128MB,但你可以增加它。

2
实际上,字符串的限制是2GB,即使您为PHP分配了更多的空间:http://www.php.net/manual/en/language.types.string.php - Erik

2

PHP字符串没有实际限制。

以下是您问题的可能重复: PHP中字符串的最大长度是多少?

为了方便起见,我将Bill Karwin的回答粘贴在此处:

然而,PHP脚本对于给定脚本执行中所有变量可以分配的总内存有一个限制,因此这实际上也限制了单个字符串变量的长度。

这个限制是php.ini配置文件中的memory_limit指令。在PHP 5.2中,内存限制默认为128MB,在早期版本中为8MB。

如果您没有在php.ini文件中指定内存限制,则使用默认值,该默认值编译到PHP二进制文件中。理论上,您可以修改源代码并重新构建PHP来更改此默认值。

如果您在php.ini文件中指定-1作为内存限制,则停止检查并允许您的脚本使用操作系统分配的所有内存。这仍然是一个实际限制,但取决于系统资源和架构。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接