BlueHost美国虚拟主机对PHP的支持还是非常好的,站长朋友们在其上用PHP建站的朋友还是蛮多的。但有时候我们在使用BlueHost的PHP应用程序运行时在Apache的日志或在浏览器出现以下错误信息:
Fatal Error: __PHP Allowed Memory Size Exhausted
这表示PHP已经耗尽最大的RAM内存限制(Memory Limit)。
今天小编主要为大家介绍下在BlueHost美国主机上出现这种情况的是,我们该如何提高PHP的内存限制。
首先,我们需要知道这个限制来自哪里。通常你会从错误信息里看到实际的限制是多少,比如说,类似以下的错误信息:
PHP Fatal error: Allowed memory size of **XXX** bytes exhausted (tried to allocate Y) in abc.php
这个内存限制默认值取决于你所运行的PHP版本和Linux版而可能会有所不同,但一般默认设置为8M或16M。例如在PHP5.2这个是内存限制默认设置是16M。
为了确定你的BlueHost主机系统上的当前值,你可打开php.ini(在/public_html/文件夹里可找)在里面找出memory_limit:
memory_limit = 16M; Maximum amount of memory a script may consume (16MB)
当然最简单和最明显的方法就是只需编辑php.ini,并修改memory_limit去你需要的设置。不过BlueHost建议不要设置超过128 MB,这个限制有它的逻辑原因,因为如果没有适当的限制的话,写得不好的php脚本可能过度负荷主机系统。
备注:如果你知道自己在做什么,那么要解除内存限制的话,可以将memory_limit设置为-1。不过小心不要因为过度负荷主机而被BlueHost暂时关闭网站。
需要注意的是,以上的方法将改变整个网站的memory_limit。这里我们可以选择只在一个相应的文件夹中改变memory_limit(通常在同一个应用程序的文件夹下)。要做到这一点,你必须把htaccess文件添加到相应的文件夹位置,而htaccess文件里面的memory_limit设置是:
php_value memory_limit 64M
以上就是BlueHost美国虚拟主机上如何增大PHP内存限制的方法了,也是比较实用的方法。主要也是小编在使用的过程中确实出现这样的情况了,所以整理出来供大家参考。