ThinkPHP的致命错误Fatal error: Allowed memory size

作者:袖梨 2022-06-25

如果你的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.soouj.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 './Public/home/js/Company/companyJS.html';

 如果是因为empty,可以参照上面:

 代码如下 复制代码


if(empty($a)){
    echo 'a为空'
}

php提示Fatal error: Allowed memory size错误,修改php.ini配置

一、修改php.ini(保举)

 代码如下 复制代码

  memory_limit = 12M

  2、在程序里面添加如下语句

 代码如下 复制代码

  ini_set(''memory_limit'', ''12M'');

  3、在根目录建立

  .htaccess文件,添加如下内容

 代码如下 复制代码

  php_value memory_limit 12M

  如果还不能解决,就把它改得再大一些。


最后注意的是重启服务器

还或者:现在提供解决方法

在.htaccess文件开头加上

 代码如下 复制代码
php_value max_execution_time 1200
php_value memory_limit 200M
php_value post_max_size 200M
php_value upload_max_filesize 200M

对于一般的虚拟主机,通过对.htaccess对服务器进行设置就能解决相关问题。这个方法也适用于其他php程序引起的类似问题。

相关文章

精彩推荐