Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 24 bytes) in /home/fevsdiet/public_html/xxxxxxx.co.uk/booking/includes/functions.php on line 481
这是什么意思,如何修复它?
这是错误的代码:
$availabilityArr = array();
#TODO - check if "to" is < "from" = means that "to" is +1 day.
$st = date("Y-m-d H:i", strtotime($date." +".$tt[2]." minutes"));
$et = date("Y-m-d H:i", strtotime($date." +".$tt[3]." minutes"));
$a = $st;
$n = 0; //layout counter
$b = date("Y-m-d H:i", strtotime($a." +".$int." minutes")); //default value for B is start time.
for( $a = $st ; $b <= $et ; $b =
date("Y-m-d H:i", strtotime($a." +".$int." minutes")))
{
$availabilityArr[date("Y-m-d", strtotime($a))][] = date("H:i", strtotime($a));
$a = $b;
$n++;
}
答案 0 :(得分:2)
这是PHP错误。
在.htaccess中你可以设置
php_value memory_limit 90M
在您的php文件之上,您可以设置
ini_set("memory_limit", "90M");
答案 1 :(得分:1)
说实话听起来像PHP错误。
看到这个: http://www.bluehostforum.com/showthread.php?14500-Allowed-memory-size-of-33554432-bytes-exhausted
您需要在PHP中编辑memory_limit设置。
答案 2 :(得分:1)
答案 3 :(得分:1)
基本上,这意味着PHP没有任何允许的内存。这可以使用memory_limit
中的php.ini
条款进行调整。
如果您使用的是共享主机,则可能无法编辑php.ini
。您仍然可以尝试使用.htaccess
文件:
.htaccess
的文件(通常为/www
或/web
)使用php_value
子句:
php_value memory_limit 128M #for example
这是由一些代码尝试使用太多或太大的变量引起的。通常它是一个无限循环,或者从数据库中将很多数据提取到一个数组中,
答案 4 :(得分:0)
检查php.ini中的memory_limit
设置。
答案 5 :(得分:0)
您的PHP环境目前的内存限制为32MB,错误消息告诉您需要更多内存才能继续。
内存限制由memory_limit配置选项设置(请参阅:http://uk3.php.net/manual/en/ini.core.php#ini.memory-limit)。您需要重构代码以使用更少的内存,或者,如果您真的需要那么多内存,请更改memory_limit选项。
要为服务器上的所有php脚本全局执行此操作,您可以编辑php.ini(这取决于您的操作系统以及安装PHP的位置)。
要为此脚本设置临时更高的内存限制,您可以执行以下操作:
$old_limit = ini_set( "memory_limit", "128M" );
(... the code that needs the extra memory ...)
ini_set( "memory_limit", $old_limit );
要减少内存使用量,请尝试在任何不再需要的变量上使用unset()作为开头。