如果你的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,如:
代码如下 | 复制代码 |
|
如果是因为empty,可以参照上面:
代码如下 | 复制代码 |
|
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程序引起的类似问题。