我先在服务器上测试了下,当/etc/php.ini中memory_limit设置成16M时,memory_get_usage在页面上输出30135641,这时我就纳闷了,那个数字不就是30M么,比php.ini要大啊,怎么没报警。这两者有什么关系?望朋友们解惑!!!

解决方案 »

  1.   

    修改 php.ini 需要重启web服务,你也可能改错了位置memory_limit 是可以在程序里动态修改的
    echo ini_get('memory_limit');//256M
    ini_set('memory_limit', '5M');
    echo ini_get('memory_limit');//5Mini_set('memory_limit', '5M');
    $a = range(1, 60000);
    Fatal error: Allowed memory size of 5242880 bytes exhausted (tried to allocate 36 bytes) in ...
    $a = range(1, 58995);
    echo memory_get_usage() * Mb;
    4.9964294433594
    再加一就报错