Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
上载大文件时出现PHP致命错误_Php_Codeigniter_File Upload - Fatal编程技术网

上载大文件时出现PHP致命错误

上载大文件时出现PHP致命错误,php,codeigniter,file-upload,Php,Codeigniter,File Upload,我目前正在使用PHP CodeIgniter框架,并且有一个图像上传表单。当我上传小文件时,脚本运行没有任何问题,但是当我选择一个文件(比如3mb)进行上传时,脚本没有运行,转到一个页面并说“页面加载失败”。我检查了php日志和apache日志。PHP日志给出了这个错误 PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 20736 bytes) in /Users/Deskto

我目前正在使用PHP CodeIgniter框架,并且有一个图像上传表单。当我上传小文件时,脚本运行没有任何问题,但是当我选择一个文件(比如3mb)进行上传时,脚本没有运行,转到一个页面并说“页面加载失败”。我检查了php日志和apache日志。PHP日志给出了这个错误

PHP Fatal error: 
Allowed memory size of 33554432 bytes exhausted
(tried to allocate 20736 bytes) in
/Users/Desktop/localhost/system/libraries/Image_lib.php on line 1155
我想我必须从CodeIgniter的配置文件中更改一些设置,这是一个真实的假设吗

这是我当前的php.ini,我认为它不会触发失败

; Maximum allowed size for uploaded files. 
upload_max_filesize = 32M

; Must be greater than or equal to 
upload_max_filesize post_max_size = 32M

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 32M      ; Maximum amount of memory a script may consume (8MB)
但是页面没有加载,然后失败。当我单击“提交”时,它无法立即处理

任何提示都将不胜感激,提前感谢

编辑:

现在,我在将其更改为64M以及内存限制后出现此错误

PHP Fatal error:  Allowed memory size of 67108864 bytes
exhausted (tried to allocate 20736 bytes) in
/Users/Desktop/localhost/system/libraries/Image_lib.php on line 1155

您的内存限制为32M,并试图分配更多内存,因此脚本失败。可能您必须使用大型图像(image_gd在内存中保留位图,这会占用大量内存)。 你能做的就是

  • 使用image_magick而不是gd
  • 增加内存限制(即64M或更多)

您的内存限制为32M,并试图分配更多内存,因此脚本失败。可能您必须使用大型图像(image_gd在内存中保留位图,这会占用大量内存)。 你能做的就是

  • 使用image_magick而不是gd
  • 增加内存限制(即64M或更多)

由于文件大小大于32MB(至少为33554432字节),这两个指令都将失败


此外,您还需要增加。

由于文件大小大于32MB(至少为33554432字节),这两个指令都将失败


此外,您还需要增加。

image\u magick可能不可能,因为他正在使用一个框架,重写该框架会导致混乱……image\u magick可能不可能,因为他正在使用一个框架,重写该框架会导致混乱……我必须重新启动服务器吗?(我在mamp上,因为当我更改它并重新加载时,日志中仍然显示32mb)现在我得到了这个错误。PHP致命错误:第1155行/Users/Desktop/localhost/system/libraries/Image_lib.PHP中允许的内存大小为67108864字节(尝试分配20736字节),这意味着文件大小对于设置的限制仍然太大。档案有多大?限制必须至少与文件大小一样大。是的,您需要重新启动apache才能使更改生效。我查看了各种来源,它们都在说同样的事情,但这些解决方案都不适合我。还有别的工作吗?上载大文件时遇到此问题。@MattSaunders您是否在日志中看到任何错误?你看到关于内存限制的链接了吗?可能还需要在
php.ini
中检查
default\u socket\u timeout
。你也可以试试。我在图书馆方面很成功。使用分块,无需处理服务器/软件配置文件。是否需要重新启动服务器?(我在mamp上,因为当我更改它并重新加载时,日志中仍然显示32mb)现在我得到了这个错误。PHP致命错误:第1155行/Users/Desktop/localhost/system/libraries/Image_lib.PHP中允许的内存大小为67108864字节(尝试分配20736字节),这意味着文件大小对于设置的限制仍然太大。档案有多大?限制必须至少与文件大小一样大。是的,您需要重新启动apache才能使更改生效。我查看了各种来源,它们都在说同样的事情,但这些解决方案都不适合我。还有别的工作吗?上载大文件时遇到此问题。@MattSaunders您是否在日志中看到任何错误?你看到关于内存限制的链接了吗?可能还需要在
php.ini
中检查
default\u socket\u timeout
。你也可以试试。我在图书馆方面很成功。有了分块,就没有必要弄乱服务器/软件配置文件。
; Maximum allowed size for uploaded files. 
upload_max_filesize = 32M

; Must be greater than or equal to 
upload_max_filesize post_max_size = 32M