任何想法为什么我会......
致命错误:允许的内存大小 33554432 字节已耗尽(尝试分配 9792 字节) /home/frich/public_html/creation/systemc/sMain/upload_image.php 77号线
在下一行
$oldImage = imagecreatefromjpeg($img);
php 从 HTML 表单中抓取图像并调整其大小。
如果文件很小,则效果很好。 IE。几百KB
尝试使用更大的文件,因为我想要最大 4mb。 我收到错误的图像是 ca。 2MB
提前致谢
您遇到错误
""""""""""""""""""""""""
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to
allocate 9792 bytes) in /home/frich/public_html/creation/systemc/sMain/upload_image.php on line 77
""""""""""""""""""""""""
它表明您正在使用共享主机,因为您的服务器内存限制为 32 MB
您需要按照上面“Pekka”和“MartyIX”所述增加您的内存限制
但是如何做到这一点有三种方法。
他们会将其增加到最大 48MB,这是任何托管公司对剪切托管帐户的限制。
写着“memory_limit = 100M and max_memory = 100M”
您可以将 100M 更改为您想要的任何大小,但这可以是有限制的,这样它就不会使用服务器的额外资源,否则您的帐户可能会被您的托管公司暂停
限制:此选项可能无法在每个主机上正常工作,因为有时此代码可能会被管理员阻止,从而导致服务器资源消耗有限。
里面写着“php_value memory_limit 32M”
或
默认情况下,它位于您的托管网络目录中,然后您可以首先下载它,因为它也有其他设置。 下载下来用记事本打开,写上“php_value memory_limit 32M”
和
“ini_set(‘内存限制’,‘32M’);” (尚未经过我测试,可能效果很好)
感谢和问候........
您尝试处理的图像对于脚本的 32 MB 内存限制来说太大。
调整图像大小至少占用
(width in pixels) x (height in pixels) x 3 (or 4)
字节(红/绿/蓝各 1 个字节,可能需要另外一个字节用于透明度)
您需要增加服务器上的
memory_limit
设置,或要求管理员这样做。
32MB 是一个相当不错且常见的值 - 如果您使用共享主机,您可能会不走运。
或者,如果您的服务器上可能,请使用 ImageMagick,其内存消耗不计入
memory_limit
。
根据您的 php 配置,您也许可以使用 ini_set() 增加脚本的内存限制;例如,
ini_set('memory_limit','16M');
我在图像处理任务中多次使用过它,尽管 4mb 文件对于 Web 服务器来说是相当重的负载。