Swiftmailer在没有php错误的情况下崩溃


Swiftmailer crashes without php error

我有一个网络应用程序,允许用户上传pdf,然后它会通过swiftmailer将其发送给我们。对于某些pdf,该过程会失败。

我可以验证它是否破坏了php脚本,但没有返回php错误。服务器上有一个500错误,但通常情况下,如果有500错误,php会有一个错误日志。

我还验证了它在$mailer->send($message);线路

奇怪的是,只有一些pdf破坏了它,而这些pdf在具有相同代码的开发服务器上运行良好。

是什么原因导致php在没有错误消息的情况下崩溃?

在运行了几次测试后,我发现错误日志记录有时会发生,但有时不会发生。我不知道为什么会这样,但是,我尝试重命名php-errors.log文件,这样php就会以一个新的、新的日志文件开始,现在错误会被正确记录。我不知道为什么会这样,但我会接受的。

仅供参考,我遇到了两件可能导致PHP崩溃而不会出现错误消息的事情:

  1. 脚本超时-超时可能会阻止返回错误消息;在我的特殊情况下,当超时发生时,脚本正在等待SMTP响应,这可能是我没有收到超时消息的原因。尝试将php.ini中的max_execution_time值更改为300(5分钟),看看是否能收到实际的错误消息
  2. 文件夹权限-我遇到过这样一种情况,文件夹权限不足导致脚本停止而没有提供错误

在2的情况下,我在导致暂停的行周围封装了一个try/catch子句,最后出现了一个Exception,解释权限问题。这可能值得一试,作为对无声崩溃的普遍回应。