gpt4 book ai didi

php - 上传大型 JPG 文件后,WordPress async-upload.php 返回 500(内部服务器错误)

转载 作者:行者123 更新时间:2023-12-02 03:16:02 24 4
gpt4 key购买 nike

我在上传一个大的 jpg 文件(大约 30 - 40MB)时收到一条 HTTP 错误 消息,我可以在 Chrome 开发者中看到 500 Internal Server Error 响应async-upload.php 返回的工具网络选项卡。

上传文件后出现错误。我可以在 wp-content/uploads 目录中看到该文件,因此问题与上传过程无关。

我想这个问题与文件上传后发生的图像大小调整过程有关。我尝试手动重建缩略图(使用几个重新生成缩略图插件)来证明问题与调整大小过程有关。他们都无法调整大图像的大小。

我在发布这个问题之前所做的事情:

  • 我已将 php.ini 文件中的内存限制增加到 256MB (memory_limit = 256M)
  • 设置post_max_size = 256M
  • 设置一个新的 WP 实例。无插件,默认主题。
  • 在不同的机器上测试(在 VPS 上,相同的 PHP 设置)
  • 我关闭了 mod_security 设置:

    <IfModule mod_security.c>
    SecFilterEngine Off
    SecFilterScanPOST Off
    </IfModule>
  • 我还尝试更改默认图片库:

    add_filter('wp_image_editors', function () {
    return ['WP_Image_Editor_GD', 'WP_Image_Editor_Imagick'];
    });

更新:

我刚刚意识到我应用的过滤器没有做任何事情。我检查了 WP 源代码,发现此过滤器的默认值为:['WP_Image_Editor_Imagick', 'WP_Image_Editor_GD']。我更改了顺序,但我没有安装 Image Magic 库,所以 WordPress 一直在使用 GD 库。

所以我安装了 Image Magic PHP 扩展来尝试一下。我还删除了过滤器,因为它的默认值适合我。

用 Image Magic 替换 GD 库解决了这个问题。,但我仍然很好奇为什么 GD 库不能处理这么大的图像。有没有办法以不同的方式解决这个问题?我不想依赖第三方库。我宁愿使用标准的 PHP 设置(以防在无法安装自定义 PHP 扩展的共享主机上部署站点)。

最佳答案

如果你升级了PHP版本。这可能会导致旧插件这样做。同样的事情发生在我身上。我将 php 5.6 升级到 PHP 7 并且发生了同样的错误。当我重新安装 PHP 5.6 时,它开始正常工作。

关于php - 上传大型 JPG 文件后,WordPress async-upload.php 返回 500(内部服务器错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37073503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com