我在ubuntu上使用lampp,我想更改最大上传大小。
opt / lampp / etc中的php.ini具有以下设置:
post_max_size = 5M
upload_max_filesize = 8M
但是当我尝试上传2.1 mo文件时,我收到以下错误消息:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 7448 bytes)
请问好吗?
答案 0 :(得分:2)
这不是因为post_max_size或upload_max_filesize,而是因为内存限制
试试这个
ini_set("memory_limit","256M");
134217728字节= 128MB
或来自php.ini
memory_limit = 256M
但总的来说,当你遇到这个错误时,它只是意味着你的代码还没有效率。因为你正在耗尽分配的内存来运行这一个PHP页面。你知道它已经是128 MB了 如果只是增加内存限制,那么可以同时打开的并发PHP进程将大大减少 尝试考虑大量的多用户环境,当许多用户同时打开这个PHP页面时,服务器是否可以使用服务器的物理内存来处理它?</ p>
简单地说,您可以在这里分享您的代码吗,这样我们都可以帮助您提高效率吗?
答案 1 :(得分:1)
你重启了 Apache 吗?
您是否尝试过 PHP 方法?
您是否尝试过 htaccess 方法?
ini_set('upload_max_size', '64M');
ini_set('post_max_size', '64M');
尝试将其放入.htaccess文件
php_value upload_max_filesize 64M
php_value post_max_size 64M
答案 2 :(得分:0)
此错误与最大上载文件大小无关,它与尝试分配比memory_limit
标志允许的内存更多的PHP解释器有关。
在PHP.INI中增加它的值,重新启动服务器,检查新值是否与phpinfo()
一起使用,看看你的脚本是否有效。
答案 3 :(得分:0)
您获得的错误与文件上传大小无关。 PHP在执行脚本期间耗尽内存(RAM)。
您需要根据PHP ini设置增加内存限制:http://www.php.net/manual/en/ini.core.php#ini.memory-limit。