一尘不染

允许的X字节内存已用尽

php

致命错误:耗尽了67108864字节的允许的内存大小(尝试分配13965430字节)

PHPInfo显示我的memory_limit为128M,所以我对为什么错误说我只有64M感到困惑。phpinfo是否可能报告错误?还是让PHP使用两个单独的php.ini?

该错误是由我的一位同事在我不知情的情况下添加的主要php文件之一中的ini_set调用引起的。


阅读 212

收藏
2020-05-26

共1个答案

一尘不染

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

  1. 主系统php.ini(通常在/ etc中的某处)
  2. Apache配置中的某个位置(httpd.conf或每个站点的.conf文件,通过php_value
  3. CLI和CGI可以有所不同php.ini(使用命令php -i | grep memory_limit检查CLI conf)
  4. 本地.htaccess文件(也php_value
  5. 脚本内(通过ini_set()

在PHPinfo的输出中,“ Master”值为已编译的默认值,而“ Local”值为实际有效的值。它可以与默认值保持不变,也可以在以上任意位置覆盖。

还要注意,PHP通常具有不同的.ini文件,用于命令行和基于Web服务器的操作。phpinfo()与在基于Web的脚本中运行该命令相比,从命令行进行检查将报告不同的值。

2020-05-26