热解决这个问题,为什么会发生?
Zend 服务器日志:
PHP 致命错误:第 3 行 C:\Program Files (x86)\Zend\Apache2\htdocs\test\modules\main.php 中允许的内存大小为 134217728 字节已用尽(试图分配 538798977 字节)
如果文件main.php
直接从浏览器执行,则不会产生任何错误。但是,如果我从另一个 PHO 文件中使用它的函数,那么 Zend Log 会打印出上述错误。
热解决这个问题,为什么会发生?
Zend 服务器日志:
PHP 致命错误:第 3 行 C:\Program Files (x86)\Zend\Apache2\htdocs\test\modules\main.php 中允许的内存大小为 134217728 字节已用尽(试图分配 538798977 字节)
如果文件main.php
直接从浏览器执行,则不会产生任何错误。但是,如果我从另一个 PHO 文件中使用它的函数,那么 Zend Log 会打印出上述错误。
我也遇到过这个问题。
增加以下变量,使您的页面执行不会停止:
max_input_time
memory_limit
max_execution_time
要么增加内存限制php.ini
,要么尝试优化应用程序中的任何大型数据结构(如数组)。
在任何情况下,如果您的 PHP 应用程序使用 128MB 的 RAM,则可能出现问题。
此外,正如 Fluffeh 在评论中所指出的,您到底在做什么来利用 500MB 的 RAM?
除了 user1427811 还可以监控time_limit
下载memory_limit
文件前后:
function custom_put_contents($source_url='',$local_path=''){
$time_limit = ini_get('max_execution_time');
$memory_limit = ini_get('memory_limit');
set_time_limit(0);
ini_set('memory_limit', '-1');
$remote_contents=file_get_contents($source_url);
$response=file_put_contents($local_path, $remote_contents);
set_time_limit($time_limit);
ini_set('memory_limit', $memory_limit);
return $response;
}