Fatal error: Allowed memory size of * bytes exhausted (tried to allocate * bytes)

php中sql查询会抛出错误:Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 4488 bytes) 

消除那些难题,首先供给查阅你的顺序是还是不是分配了过多的内部存款和储蓄器,在程序没失常的处境下,你能够经过须臾间方式来扩充PHP的内存约束。

你的服务器/空间难点。设置服务器或找空间商校勘:

反省php的内部存款和储蓄器限定值

PHP对脚本纪念体空间范围的缘由。默许设定为
8MB,而有一点以前的台本,会必要运用超越 8MB 的内部存款和储蓄器空间,只要加大 8MB
的接受限定就能够。

为了查看那么些值,你供给树立贰个空的php文件,比方view-php-info.php。然后将瞬间代码贴到里面。

加大 8MB 内部存款和储蓄器使用范围,方法有二,选其一就可以:

将那么些剧本放到你的Web服务器上,然后在浏览器中调用它。那个时候你能够看来您的PHP情状安排的音信,个中有局地是有关“memory_limit”的,
如下图:

方法一:修改 php.ini 里的 memory_limit 的安装值 8M 改为
120M:memory_limit = 120M

注:你能够用这种措施来查阅php的别的参数设置,不仅是memory_limit

方式二:在最上层的 PHP Script,参加一行:ini_set(memory_limit,120M);

memory_limit应该设为多少?

注:借使增至 120M 依旧近似的荒唐发生,则再加大 120M 节制。

这几个完全信任于您的行使的必要。比方Wordpress,运转起骨干代码须要32MB。Drupal
6则必要这几个值最小为16MB,并引入设置为32MB。固然您又安装不菲的插件,尤其是那个要开展图像管理的模块,那么您也许须要128MB或更加高的内部存款和储蓄器。

如何设置memory_limit

方法1: php.ini

最简易或常用的章程是改良php.ini

1.率先找到对您的网站生效的php.ini文件
由于有多个地点都能够安装php的参数,找到科学的布署文件,并开展转移是首先要做的一步。倘使您上边的方法创立了php文件来查看其构造参数,则你能够找到“Loaded
Configuration File”这一项,以下是个例子:

对于Linux客商,你能够透超过实际践“php -i | grep Loaded Configuration
File”来找到相应的安插文件。而Windows客户,你可以品味改革你的php安装目录下的php.ini。

2.编辑php.ini
在php.ini中,找到“memory_limit”这一项,若无,你能够在文件的尾巴自个儿扩张那些参数。以下是部分安装表率

memory_limit = 128M ; 能够将128M改为此外你想设置的值

保存文件

3.重启web 服务器 借使是web服务器使用Apache, 则实践:

httpd restart

多少情形下,你恐怕不被允许私校正php.ini。譬喻若是您购买了设想主机服务,不过你的劳务商确禁绝你改改这一个文件。那么,你能够供给酌量用别的方法来充实memory_limit的值。

方法2: .htaccess

申明: 这种办法唯有在php以Apache模块来奉行时才生效。
在您的网站的根目录下找到“.htaccess”文件,若无,能够团结创建三个。然后把以下配寄存入此中

php_value memory_limit 128M ; 能够将128M改为任何你想设置的值

主意3: 运维时修正php的内部存款和储蓄器设置

在您的php代码中加进以下命令行就能够。

ini_set(‘memory_limit’,’128M’);

memory_limit改正失利

一旦您利用虚构主机,有希望会冷俊不禁memory_limit的值校订战败。这几个需求沟通你的劳动商看怎么管理,通常他们限定了能够设置的最大值或许根本就区别意你改改。假若他们的情状的确爱莫能助知足你的渴求,那么你或许要构思换三个主机服务商。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图