Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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_Memory_File Upload - Fatal编程技术网

PHP内存耗尽

PHP内存耗尽,php,memory,file-upload,Php,Memory,File Upload,你知道我为什么会 在内存中分配9792字节 /home/frich/public_html/creation/systemc/sMain/upload_image.php 在线77 下一行 $oldImage = imagecreatefromjpeg($img); php从HTML表单中获取图像并调整其大小 如果它是一个小文件,那么它可以非常好地工作。也就是几百KB 尝试使用更大的文件,因为我希望最大为4mb。 我得到的错误图像约为2mb 提前感谢对于脚本的32 MB内存限制,您尝试处理的图

你知道我为什么会

在内存中分配9792字节 /home/frich/public_html/creation/systemc/sMain/upload_image.php 在线77

下一行

$oldImage = imagecreatefromjpeg($img);
php从HTML表单中获取图像并调整其大小

如果它是一个小文件,那么它可以非常好地工作。也就是几百KB

尝试使用更大的文件,因为我希望最大为4mb。 我得到的错误图像约为2mb


提前感谢

对于脚本的32 MB内存限制,您尝试处理的图像太大

调整图像的大小至少需要一段时间

(width in pixels) x (height in pixels) x 3 (or 4)
字节(红色/绿色/蓝色各1个字节,透明度可能增加1个字节)

您需要增加服务器上的
内存\u限制
设置,或要求管理员这样做

32MB是一个相当不错的普通值,但如果你使用共享主机,你可能会运气不佳


或者,如果可能,在服务器上使用,其内存消耗不计入
内存\u限制

根据您的php配置,您可以使用ini_set()增加脚本的内存限制;比如说,

ini_set('memory_limit','16M');
虽然4mb文件对于web服务器来说是一个相当重的负载,但我已经在图像处理任务中多次使用过它。

您会遇到错误

""""""""""""""""""""""""
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
""""""""""""""""""""""""
这表明您正在使用共享主机,因为您的服务器内存限制是32MB

你需要像上面所说的那样用“Pekka”和“MartyIX”来增加你的记忆限制

但如何做到这一点有三种方法

1st.请您的主机公司增加您的内存限制, 他们将增加到最高48MB,这是任何托管公司对剪切托管帐户的限制

2。上传一个php.ini文件 写入“内存限制=100M,最大内存=100M”

您可以将100M更改为您想要的任何大小,但这可以是有限的,这样它就不会使用服务器的额外资源,否则您的帐户可能会被托管公司暂停

限制:此选项可能无法在每个主机上正常工作,因为有时此代码可能会被管理员阻止,从而限制服务器资源的使用

3rd上传一个“.htaccess” 里面写着“php\u值内存\u限制32M”

默认情况下,它在您的托管web目录中可用,然后您可以先下载它,因为它还有其他设置。 下载并用记事本打开,写上“php\u值内存\u限制32M”

4th选项在页面中添加PHP代码 “ini_集(‘内存限制’,‘32M’);”(我还没有测试,可以正常工作吗)


感谢和问候……。

谢谢,我的托管公司允许我上传一个客户php.ini文件,在那里执行脚本,现在就像是在请客一样。很好的分步列表!我会投票,但我今天的票数没有了。如果是自主持的,第二种选择效果会很好。我的网页正在生成一个PDF(使用Zend Framework完成该任务),它耗尽了128MB的内存限制。将其加倍到256MB是可行的。我在当前的php文档中没有看到“max_memory”ini指令。只有“内存限制”。再次感谢您的帮助,我们能够添加一个客户ini文件。干杯谢谢大家的帮助。ini文件工作得最好。
""""""""""""""""""""""""
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
""""""""""""""""""""""""