热点解决这个问题以及它为什么会发生?
Zend服务器日志:
PHP致命错误:允许的内存大小为134217728字节 (尝试在C:\ Program Files中分配538798977个字节) 第3行的(x86)\ Zend \ Apache2 \ htdocs \ test \ modules \ main.php
文件main.php
如果直接从浏览器执行,则不会产生任何错误。但是,如果我使用其他PHO文件中的函数,则Zend Log会打印出上述错误。
答案 0 :(得分:13)
我也解决了这个问题。
增加以下变量,以便您的页面执行不会停止:
max_input_time
memory_limit
max_execution_time
答案 1 :(得分:10)
要么增加php.ini
中的内存限制,要么尝试优化应用程序之外的任何大型数据结构(如数组)。
在任何情况下,如果您的PHP应用程序使用128MB的RAM,可能会出现问题。
另外,正如Fluffeh在评论中指出的那样,你究竟在做什么来利用500MB的RAM?
答案 2 :(得分:6)
答案 3 :(得分:1)
除了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;
}