【发布时间】:2011-05-21 07:27:28
【问题描述】:
我有一个图像 GD 脚本,目前使用了大约 9MB 的内存。 我的流量很大,因此有时它会占用我服务器上的大量 RAM。
有什么方法可以减少图像 gd 的内存使用? 或者至少使脚本进程更快,以便它更快地取消分配它正在使用的内存。
我已尝试更改图像质量,但没有效果。 我还尝试更改图像像素大小,它减少了内存使用量,但并不多。
谢谢。
【问题讨论】:
标签: php gd memory-management
我有一个图像 GD 脚本,目前使用了大约 9MB 的内存。 我的流量很大,因此有时它会占用我服务器上的大量 RAM。
有什么方法可以减少图像 gd 的内存使用? 或者至少使脚本进程更快,以便它更快地取消分配它正在使用的内存。
我已尝试更改图像质量,但没有效果。 我还尝试更改图像像素大小,它减少了内存使用量,但并不多。
谢谢。
【问题讨论】:
标签: php gd memory-management
不看代码就无法判断,但除非它包含任何重大错误,否则答案可能是否定的。
您可以做的是改用外部imagemagick 二进制文件——它在PHP 的脚本内存限制之外运行——但这是一种完全不同的技术,需要你重写代码。
我假设您已经在缓存 GD 的结果,所以不是每个请求都会导致它运行?
【讨论】:
如果您担心内存限制,请尽量避免使用动态映像 GD。 不看代码很难解决问题,但我可以提出建议。
让不同的进程处理图像,例如,如果您想调整图像大小,请不要在每次用户访问页面时调整它们的大小,而是运行 cron 或带有窗口的调度程序来调整所有需要调整的图像大小定期调整大小并保存它们。所以开销会更少。
如果您提供更多代码,您将获得更好的帮助
【讨论】: