【问题标题】:Allowed memory size of 268435456 bytes exhausted [duplicate]允许的内存大小为 268435456 字节已用尽 [重复]
【发布时间】:2011-04-23 15:12:39
【问题描述】:

可能重复:
Allowed memory size of X bytes exhausted

我正在处理一个很小的大型数据库 (87mb) 导入,为此我使用了一个 php 脚本。 所有操作都是在 Ubuntu Lucid 上安装 apache 的语言环境中进行的。

几分钟后我运行脚本时收到此错误:

Allowed memory size of 268435456 bytes exhausted 

我已将 php.ini 文件中的 memory_limit 更改为 2GB 并重新启动 apache。之后我检查了phpinfo(),发现memory_limit 设置为“2048M”,所以一切正常。

但是当我重新启动我的脚本时,我收到了同样的错误,256mb 内存限制用尽了。

我哪里错了?

【问题讨论】:

  • 向我们展示一些代码。我们需要知道脚本中发生了什么。
  • 脚本为wordpress导入器,数据库文件为WML文件(Wordpress导出文件)
  • 您将 memory_limit 更改为 1GB,但 phpinfo() 显示为 2GB,所以一切正常 ??
  • 对不起,这是一个类型。我已将“memory_limit”更改为 2048M,而不是 1GB
  • php.ini 文件在哪个位置显示phpinfo()?你修改了那个文件,还是另一个?

标签: php ubuntu memory-limit


【解决方案1】:

Ubuntu 有两个 php.ini,一个用于 apache,一个用于 cli。
您确定您编辑的是正确的吗?
用于命令行的通常在/etc/php5/cli/php.ini

【讨论】:

  • 还有一个'/etc/php5/cli/php.ini'和memory_limit设置为'-1'。
  • 无论如何我是通过网络浏览器运行脚本,而不是命令行
【解决方案2】:

很可能使用了错误的 php.ini。

在相同的phpinfo()-s 输出中,您可以检查确切使用的文件,搜索“配置文件”。

您可以从您使用的真实脚本中调用phpinfo() 函数,以确保获得完全适合您的脚本的设置(不同的设置可用于不同的虚拟 hsot、路径等)。

【讨论】:

  • 我已将 phpinfo() 添加到脚本的标题中,它向我显示了相同的内容... memory_limit 设置为 2048M 但我收到错误消息。我不明白为什么会发生这种情况......
【解决方案3】:

如果您使用的脚本是从其他人那里借来的,请确保没有ini_set('memory_limit', '256M'),尽管您在 php.ini 中进行了任何更改,但它会产生您所看到的确切效果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 2011-07-30
    • 2020-04-10
    相关资源
    最近更新 更多