![如何隐藏或删除管道错误(从 PHP 命令、从输出和从管道配置中)?](https://linux22.com/image/791211/%E5%A6%82%E4%BD%95%E9%9A%90%E8%97%8F%E6%88%96%E5%88%A0%E9%99%A4%E7%AE%A1%E9%81%93%E9%94%99%E8%AF%AF%EF%BC%88%E4%BB%8E%20PHP%20%E5%91%BD%E4%BB%A4%E3%80%81%E4%BB%8E%E8%BE%93%E5%87%BA%E5%92%8C%E4%BB%8E%E7%AE%A1%E9%81%93%E9%85%8D%E7%BD%AE%E4%B8%AD%EF%BC%89%EF%BC%9F.png)
我在别名 Exim 文件中有一个管道。它工作正常,但是当脚本由于某种原因失败时,Exim 会将所有信息返回给用户。
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
pipe to |/usr/bin/php -q /path_to_my_script
generated by [email protected]
(ultimately generated from [email protected])
local delivery failed
(and here appears all the PHP errors)
- 我在 PHP 配置中不显示错误,脚本中还有一个“error_reporting(0);”,还有一个“try/catch”来仅返回我想要的内容。但是 Exim,可能是因为它在其他环境中运行 PHP,我不知道为什么,但它显示了显示代码片段的 PHP 的所有错误。对此没有任何线索。我为解决这个问题所做的唯一一件事是删除 address_pipe 部分中的“return_output”:
由此
address_pipe:
driver = pipe
return_output
对此
address_pipe:
driver = pipe
但我想知道如何避免 Exim 在传输该命令时显示 PHP 错误。
我如何删除错误电子邮件中的“管道”信息?我不希望用户知道脚本的路径和有关管道的信息
最重要的是,我如何自定义错误消息以便可以显示更加友好的消息?
谢谢 !