10

我有一个 PHP 函数,它调用一个 PL/SQL 包,它可以抛出一些我可以在 PHP 中捕获并采取行动的已知异常(即用户异常)。问题是,尽管在 PHP 中捕获了异常,但我在 PHP 日志文件中收到警告,其中包含来自 PL/SQL 异常的堆栈跟踪:

PHP Warning:  oci_execute(): ORA-20001: Something isn't valid
ORA-234565: at "MY.PACKAGE", line 234
ORA-923485: at "MY.PACKAGE", line 123

如何抑制这些 OCI 警告?我不想抑制所有警告,因为它们可能有助于解决其他问题,但是当它是我的 PL/SQL 的预期错误时,我不希望它填满我的日志文件。

4

1 回答 1

8

如果您只需要在 上禁止警告oci_execute(),请在其前面加上@

@oci_execute()

通常不建议使用这种运行时错误抑制,因为它掩盖了应用程序中的问题,但是您已经通过捕获异常处理了代码中的问题并了解了抑制警告的后果。

@关于运算符的 PHP 文档...

于 2011-06-01T20:53:20.443 回答