我有一个问题,当我试图上传一个尺寸过大的图片时,我收到500个内部服务器错误。该应用程序在一台服务器上工作正常,但在另一台服务器上却出现了500内部错误。在这两种情况下,应用程序都是在共享主机上,但我对主机供应商有一定的影响:)
所以问题不在于重量(MB),而在于尺寸(px)。所有超过1600px宽度的东西,都会抛出一个错误。问题是我不能在PHP中调整图片的大小,否则就会出现错误。因为这个应用在一个服务器上运行得很好,而在另一个服务器上却不行,我猜测这是一些类似于重量(MB)的服务器限制。给用户一个自定义的错误并不能解决这个问题,因为大多数用户不知道如何调整图片的大小。
有人见过这种问题吗?会不会是php.ini设置的问题,或者是其他什么原因?
@user805528为了解决这个问题,你需要抓取图片,保存到一个流(可能是文件系统或php流),然后使用getimagedimensions计算它的尺寸。
https:/www.php.netmanualenfunction.getimagesize.php
如果您的图片不符合您的验证标准,您需要向最终用户抛出一个错误并删除图片。
在任何其他情况下,你可以以任何方式接受你的图片。
我想说的是,一个web服务器并没有通过尺寸来限制图片的上传。
如果你确定在代码中没有一些PHP函数限制上传图片的尺寸,我建议在你的服务器的php.ini文件中增加这些值。
upload_max_filesize memory_limit post_max_size