fwrite函数 - 允许内存限制错误

时间:2017-06-30 07:49:49

标签: php fwrite large-files

我正在尝试从字符串创建流,在2行我得到的错误看起来像这样

  

允许的内存大小为134217728字节耗尽(尝试分配24379392字节)

$stream = fopen('php://memory','r+');
fwrite($stream, $response);
rewind($stream);

我正在尝试从其他主机获取大文件的内容,并在本地

中设置

这是我的逻辑。

$url = "https://webdav.abc.ru/abc/20/Storage/Files/c/c51256c25c0cb2610d5018df204b0135.mp4";
$method = "GET";
$headers = [];$body = null;
$response = $this->send(new HTTP\Request($method, $url, $headers, $body));
$stream = fopen('php://memory','r+');
fwrite($stream, $response);
rewind($stream);
$response = $this->parseCurlResult($stream, $this->curlHandle);

2 个答案:

答案 0 :(得分:0)

这是由PHP设置引起的。如果您有权访问php.ini,则应该很容易修复。

调整memory_limit中的内存限制(php.ini)设置。

php.ini中的示例:

memory_limit=4096M

在您需要更高限制的文件中:

ini_set('memory_limit', '4096M');

答案 1 :(得分:-1)

您可以使用ini_set("memory_limit", your-memory-limit-here) e.g

ini_set("memory_limit","512M"); // your can also set a number of bytes parameter but it is easier to set a string indicating MB limit