【发布时间】:2012-01-15 00:45:51
【问题描述】:
关于这个基本的 curlscipt (php):
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urltofile);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
curl_exec ($ch);
curl_close ($ch);
php.ini 最大内存=64MB
这个脚本在 server1 上没有问题(php 5.2.17 $urltofile,即使 $urltofile 的大小为 2GB。 但在 server2 上还有 'php v5.2.17) 运行脚本时出现此错误:(error_log)
[DATE] PHP 致命错误:第 x 行 /home/user/public_html/test.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 xxxxxxx 字节)
似乎在服务器 2 上,文件在输出之前已完全写入内存,而服务器 1 流式传输文件,就像它应该的那样。
【问题讨论】:
-
您是否在服务器 2 上启用了 php.ini 设置
output_buffering或zlib.output_compression,但在服务器 1 上没有启用?