PHP Upload images with width greater than 2000 pixels causes crash
当用户将图像上传到我的服务器(共享服务器)时,当文件的宽度 > 2000 像素时服务器会报错。它与文件大小无关——我可以上传一个 2000 宽度的 1 mb 文件,但它仍然会崩溃。如果我上传一个 1000 像素的 1 mb 文件,它可以正常工作。
这是我得到的错误。
致命错误:允许的内存大小为 67108864 字节已用尽(试图分配 20000 字节)
我正在使用 SimpleImage 插件 (http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/) 和 CakePHP 框架。
我阅读了 PHP 文件上传大于 upload_max_filesize 和错误以及 PHP 的大文件上传错误,但都没有真正解决这个问题。
有人遇到过这个吗?有什么想法吗?
你可能正在达到内存限制...
尝试在"php.ini"
中增加
或
在您的 php 脚本顶部添加以下内容,
1 |
将此添加到接收上传的控制器的顶部
1 |
根据需要更改限制值。
如果您想使用 php 上传大小大于 2000 像素的图像,请将其存储在数据库中。
创建一个表,然后使用 BLOB-Binary Lodge Object 将图像存储在其中
使用 file_get_contents 获取图像的内容,然后存储。
比服务器不会崩溃