网络编程 
首页 > 网络编程 > 浏览文章

ThinkPHP提示错误Fatal error: Allowed memory size的解决方法

(编辑:jimmy 日期: 2024/11/21 浏览:3 次 )

本文实例讲述了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>

如果是因为empty,可以参照上面:
复制代码 代码如下:<php>
if(empty($a)){
    echo 'a为空'
}
</php>
至此问题解决!

希望本文所述对大家基于ThinkPHP框架的程序设计有所帮助。

上一篇:php中switch与ifelse的效率区别及适用情况分析
下一篇:PHP获取数组长度或某个值出现次数的方法
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。