![]() |
1
1
好吧,缺点是,当然,PHP页面可能会消耗100兆字节的内存来处理请求—如果这是一个常用页面,或者一次有多次调用此页面的风险,可能会影响服务器性能(因为对并发运行的代码的10个请求将消耗1G内存) 在php.ini或web服务器配置(例如htaccess文件)中使用ini_set而不是在其他地方更改此值,这意味着脚本消耗内存的范围可能更小-脚本需要先显式请求使用额外内存。 在PHP中并没有一种更好的方法可以做到这一点——不过,为了获得更好的性能,您可能需要考虑使用ImageMagick来调整图像的大小。 |
![]() |
2
0
关于为什么类使用这么多内存的一些解释: 您使用的类中的$image->load()方法调用imagecreatefromjpeg()/imagecreatefromgif()/imagecreatefrompng()(取决于原始文件的格式)并将图像加载到内存中。据我所知,GD库在内存中以位图格式存储图像,这显然比从磁盘加载的压缩文件大得多。您可以使用以下公式计算所需的内存量: 图像宽度*图像高度*颜色深度/字节位数 在上面的例子中,这是: 4400*3500*24/8=46.2MB(大致) 只需加载原始图像 更糟的 ! :p页 若要执行大小调整,该类将创建一个具有新维度的空白真彩色图像,然后将内存中的原始图像重采样到新图像上。这意味着在脚本执行的某一点上,内存中存储了两个位图图像。将此值乘以同时运行脚本的用户数,再加上所有其他PHP内容的开销,您可能会发现您使用了大量内存! 有关一些示例,请参见此线程: http://www.webdeveloper.com/forum/showthread.php?t=182328 |
![]() |
3
0
实际上你做错了。。。
所以,你应该用
相反。 编辑 忘了我上面写的。即使这在PHP手册中有说明,它似乎也不适用于最新的PHP版本。我在MacOSX上用PHP5.3.3试过,它甚至可以用简写法。多亏两张海报都指出了这一点。 |