本文实例讲述了ThinkPHP提示错误Fatal error: Allowed memory size的解决方法。分享给大家供大家参考。具体分析如下:
如果你的ThinkPHP提示你:致命错误(Fatal error: Allowed memory size),根据网上说的提高服务器可使用内存,我觉得都不是好的解决办法。麻烦也没必要。因为这是ThinkPHP本身存在BUG。
错误提示:Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 523800 bytes) in /var/www/www.example.com/ThinkPHP/Lib/Template/ThinkTemplate.class.php on line 265。
如果你的错误提示跟我的一样,也是告诉你ThinkTemplate.class.php这个文件中出错,那就是它在解析自己的标签include或其他标签时出现了死循环,导致服务器内存不够这个死循环用。
解决方法:
1、找到问题源。在出现错误(Fatal error: Allowed memory size)的模版页中,找到你使用到的ThinkPHP的标签(include/if/empty等),逐个删除测试,看是哪个标签造成的;
2、将你使用的这种标签换成原生的PHP,如:
复制代码 代码如下:
<!--我的错误是因为 include 造成的-->
<include file="./Public/home/js/Company/companyJS.html" />
<!--换成-->
<php>include './Public/home/js/Company/companyJS.html';</php>
<include file="./Public/home/js/Company/companyJS.html" />
<!--换成-->
<php>include './Public/home/js/Company/companyJS.html';</php>
如果是因为empty,可以参照上面:
复制代码 代码如下:
<php>
if(empty($a)){
echo 'a为空'
}
</php>
if(empty($a)){
echo 'a为空'
}
</php>
至此问题解决!
希望本文所述对大家基于ThinkPHP框架的程序设计有所帮助。