我在 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)
请问有什么想法吗?
这不是因为 post_max_size 或 upload_max_filesize,而是因为内存限制
试试这个
ini_set("memory_limit","256M");
134217728 字节 = 128MB
或来自 php.ini
memory_limit = 256M
但总的来说,当你得到这个错误时,它仅仅意味着你的代码还没有效率。因为您正在耗尽分配的内存来运行这一个 PHP 页面。你知道它已经是 128 MB。
如果只是简单地增加内存限制,可以同时打开的并发 PHP 进程会大大减少。
试想一下海量的多用户环境,当这个PHP页面被多个用户同时打开时,服务器能不能用服务器的物理内存来处理?
简而言之,您可以在这里分享您的代码,以便我们都可以帮助您提高效率吗?
您是否重新启动了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
此错误与最大上传文件大小无关,它与 PHP 解释器试图分配比memory_limit标志允许的更多内存有关。
增加它在 PHP.INI 中的值,重新启动服务器,检查新值是否正在使用phpinfo(),看看你的脚本是否有效。
您收到的错误与文件上传大小无关。PHP 在执行脚本期间内存不足 (RAM)。
您需要根据 PHP ini 设置增加内存限制:http ://www.php.net/manual/en/ini.core.php#ini.memory-limit 。