首页  >  文章  >  后端开发  >  当 phpinfo() 显示更高限制时,为什么我的 PHP 脚本显示“允许的内存大小已耗尽”?

当 phpinfo() 显示更高限制时,为什么我的 PHP 脚本显示“允许的内存大小已耗尽”?

Susan Sarandon
Susan Sarandon原创
2024-11-06 22:36:02458浏览

Why is My PHP Script Showing

调查“Allowed Memory Size Exhausted”错误

错误消息“Allowed memory size of X bytes Exhausted”表明 PHP 已尝试分配超过允许的内存。虽然 PHPInfo 建议内存限制为 128M,但错误表明限制仅为 64M。要调查这种差异,了解 PHP 的配置层次结构非常重要。

PHP 的配置可以在多个位置设置:

  • 主系统 php.ini(通常在 /etc 中)
  • Apache 的配置(httpd.conf 或 .conf 文件)
  • CLI 和 CGI​​ php.ini(使用 'php -i | grep memory_limit')
  • 本地 .htaccess 文件
  • 脚本内(通过 ini_set())

在 PHPInfo 输出中,“Master”值是默认值,“Local”值是有效值。 Local 值可能会在任何其他位置被覆盖。

请注意,PHP 有单独的 .ini 文件用于命令行和基于 Web 服务器的操作。从命令行检查 phpinfo() 将显示与基于 Web 的脚本不同的值。

在这种情况下,错误可能是由主 PHP 文件中的 ini_set 调用引起的。此调用可能是无意中添加的,并且会覆盖全局内存限制设置。要解决此问题,请找到 ini_set 调用并删除或修改它,以确保它符合所需的内存限制。

以上是当 phpinfo() 显示更高限制时,为什么我的 PHP 脚本显示“允许的内存大小已耗尽”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn