1

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

我可以验证它是否使 php 脚本崩溃,但没有返回 php 错误。服务器出现 500 错误,但通常如果出现 500 错误,php 会记录错误内容。

我还验证了它在 $mailer->send($message); 生产线上崩溃了

奇怪的是,只有一些 pdf 会使它崩溃,而那些相同的 pdf 在具有相同代码的开发服务器上可以正常工作。

什么可能导致 php 在没有错误消息的情况下崩溃?

4

2 回答 2

0

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

于 2013-07-31T11:18:00.947 回答
0

仅供参考,我遇到了两件事可能导致 PHP 崩溃而没有错误消息:

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

在 2 的情况下,我在导致停止的行周围包裹了一个try/子句,最后我得到了一个异常来解释权限问题。catch作为对无声崩溃的一般反应,这可能值得尝试。

于 2015-06-03T18:31:44.493 回答