Fatal Error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 262144 bytes) on line 3

Fatal Error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 262144 bytes) on line 3

我在 codeigniter 3 中遇到这个错误。 大多数方法我都试过了,但 none 成功了。

    function money_format($num = 0, $pro = 2)
    {
        %number =round((float)$num, $pro);

         if($pro == 2)
            $num = money_format("%!^2n",(float)$num);
         else
            $num = money_format("%=*!^.".$pro."n",(float)$num);
         return $num;
     )}
  1. 在您的 php.ini 文件中增加 memory_limit。如果这不能解决问题:

2) 在出现错误

的行之前添加此行ini_set('memory_limit', '-1');

这是一个没有停止条件的递归函数。这将导致无限循环。它会一直调用自己,直到没有剩余内存。

如果我能提出替代方案,我会说使用 number_format 函数来格式化数字。它是一个原生 php 函数,使用起来非常简单。看看 documentation.