【问题标题】:PHPMailer error attaching 22mb file sizePHPMailer错误附加22mb文件大小
【发布时间】:2015-06-17 18:56:55
【问题描述】:

我做了一个 php 项目,它默认发送电子邮件并带有附件。 我正在使用这个库 https://github.com/PHPMailer/PHPMailer 。但是,当我尝试发送 22mb 大小的 pdf 文件时,我的浏览器控制台上出现内部 500 服务器错误。我尝试使用大小小于 1mb 的 pdf 文件和 jpg 等其他文件,效果很好。只有 22mb 的文件。可能是什么问题呢?它在我的php设置中吗?如果是,是哪一个?还是在图书馆本身? 谢谢。

【问题讨论】:

  • 这可能是 PHP 中的内存限制,或者最大上传大小。你为什么要发送一个 22MB 的附件呢?您最好将文件存储在您的服务器上,然后发送一个链接以便他们下载,或者使用 wetransfer 等服务。
  • 这就是我想做的,只需将它上传到云端并让收件人下载它,但是,.. 我的老板要求我这样做。我会检查一下。谢谢。
  • 这也可能取决于您的内存限制 - PHPMailer 在编码期间可能需要几倍的附件大小。

标签: php email phpmailer


【解决方案1】:

找到了解决办法。我只是使用这个工具压缩文件大小http://smallpdf.com/compress-pdf。希望它也可以帮助其他人。

【讨论】:

    【解决方案2】:

    是的,需要改变

    将它们设置在php.ini、您的虚拟主机配置或.htaccess 文件中。典型的.htaccess 文件如下所示:

    php_value post_max_size 30M
    php_value upload_max_filesize 30M
    

    注意:

    • 这些设置在通过ini_set 设置时不会产生任何影响。
    • 原因是 PHP 在脚本运行之前需要这些值 执行。当上传发生时,目标脚本在何时执行 上传完成,所以 PHP 需要知道最大尺寸。

    参考php upload_max_filesize

    【讨论】:

      猜你喜欢
      • 2013-03-15
      • 1970-01-01
      • 2013-02-17
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      相关资源
      最近更新 更多