繁体   English   中英

PHP CLI内存不足

[英]PHP CLI running out of memory

我正在尝试使用https://github.com/Blogestudio/Fix-Serialization/blob/master/fix-serialization.php中的fix-serialization.php文件重新序列化1gb sql转储

使用此命令:

php -d memory_limit=-1 fix-serialization.php dump.sql 

但我收到以下错误

PHP Fatal error:  Out of memory (allocated 2328100864) (tried to allocate 18446744071742389167 bytes) 

我尝试时遇到相同的错误:

php -d memory_limit=2000M fix-serialization.php dump.sql 

显然我的电脑没有18446744071 GB的RAM。 我在MBP和我的Ubuntu计算机上都收到此错误,并且尝试在php5.6和7上运行此脚本

看起来您应该自己制定解决方案。 该脚本不合适,因为它会立即读取整个文件,然后将整个文件传递给preg_replace 该正则表达式非常复杂,因此它需要大量内存来处理如此大的字符串。 你应该读一个数据线 ,然后proccess该行并将其写入到输出文件。 打开输入文件进行读取,并打开输出文件进行写入,因此数据不会损坏。

暂无
暂无

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

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