针对预期的Oracle异常禁止PHP警告

Ste*_*hen 10 php oracle plsql oracle-call-interface suppress-warnings

我有一个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
Run Code Online (Sandbox Code Playgroud)

我怎样才能抑制这些OCI警告?我不想压制所有警告,因为它们对其他问题有帮助,但是当我的PL/SQL出现预期错误时,我不希望它填满我的日志文件.

Mic*_*ski 8

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

@oci_execute()
Run Code Online (Sandbox Code Playgroud)

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

关于@运营商的PHP文档 ......