【问题标题】:increasing php value memory limit增加 php 值内存限制
【发布时间】:2014-04-24 13:45:13
【问题描述】:

我将网站的网络目录转移到新主机。导入目录和数据库后,出现此错误:

PHP 致命错误:在 /mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/libraries/joomla/database 中允许的内存大小为 536870912 字节已用尽(尝试分配 79 字节) /database/mysql.php 在第 712 行

我发现我的 .htaccess 文件是空的并添加了行 php_value memory_limit 256m,还是不行,我改成512m,这是他们支持的最高了,还是不行。有人可以帮我吗.....从没想过网站转移会这么困难。


所以我将以下内容添加到 .htaccess php_value memory_limit 512M php_flag display_errors 1 php_value error_reporting 8191

重写引擎开启 重写基础/

我得到以下信息

严格的标准:只有变量应该在第 90 行的 /mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/plugins/system/jantispam/jantispam.php 中通过引用进行分配

严格的标准:只有变量应该在第 68 行的 /mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/plugins/system/jantispam/jantispam.php 中通过引用进行分配

严格的标准:只有变量应该在 /mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/plugins/system/jantispam/jantispam.php 的第 261 行通过引用进行分配

严格的标准:只有变量应该在 /mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/plugins/system/jantispam/jantispam.php 的第 274 行通过引用进行分配

严格标准:仅应在第 39 行的 /mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/plugins/system/jantispam/jantispam.php 中通过引用分配变量

严格标准:仅变量应在第 30 行的 /mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/plugins/system/slprettyphoto/slprettyphoto.php 中通过引用分配

严格的标准:只有变量应该在第 94 行的 /mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/plugins/system/ctkfbinit/ctkfbinit.php 中通过引用进行分配

致命错误:/mnt/stor12-wc1-ord1/895923/www.youth-panel.com/web/content/libraries/joomla/database/ 中允许的内存大小为 536870912 字节已用尽(尝试分配 79 字节)数据库/mysql.php 在第 712 行

我会尝试关闭这些插件,看看会发生什么

【问题讨论】:

  • 数据库导入是否正确?此外,您的房东可能会比我们提供更多帮助!
  • 将这些设置添加到.htaccess 要求您的托管服务提供商已将其服务器配置为允许通过.htaccess 进行覆盖。这远非确定的事情。您需要与他们交谈,而不是 Stack Overflow。
  • 大多数时候,当你耗尽内存时,问题不在于限制太低。问题是一些代码耗尽了所有资源。检查您的查询
  • 您的错误表明您的限制是 512m...(536870912 字节 == 512m)。在重新阅读了几次您的问题后,我不确定您是否在问如何更改内存限制(您已经拥有)或从这里去哪里,因为 512 仍然不够。

标签: php .htaccess joomla2.5 memory-limit


【解决方案1】:

您当前的配置为您的 PHP 脚本分配了 512 MB 的 RAM。我不了解你,但我的服务器有 12 GB 的可用 RAM。这意味着如果只有大约 20 个人试图同时运行你的脚本,我的服务器就会崩溃并死掉。

考虑修复代码中的内存问题,而不是盲目地增加内存限制。就个人而言,我建议将最大内存大小设置为限制性较小的值,例如 16MB,以强迫自己编写更高效的代码 - 对我有用!

【讨论】:

  • +1 这是我推荐的。解决问题而不是症状。
  • 代码不是我写的,这是一个托管在其他地方的网站,现在已经交给我来更改内容,所以我现在正在做的是使用 FTP 传输文件并导入数据库...
【解决方案2】:

您可以尝试在代码顶部添加此内容

<?php
set_time_limit(0);
ini_set('memory_limit', '-1');
?>

但强烈建议您检查您的代码并使其有效地使用更少的内存。

【讨论】:

  • 你的意思是在.htaccess文件中添加?
【解决方案3】:

两种可能——

首先,您需要增加 php.ini 中“memory_limit”的值。

其次,您的代码可能存在分配过多内存的问题。

【讨论】:

    猜你喜欢
    • 2010-11-26
    • 2015-08-31
    • 2014-11-17
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2019-02-19
    相关资源
    最近更新 更多