2011-06-01 14 views
8

我有一个调用PL/SQL包的PHP函数,它可以抛出一些我可以在PHP中捕获并执行操作的已知异常(即用户异常)。问题是,尽管在醒目PHP的例外,我得到的PHP日志文件的警告从PL/SQL异常堆栈跟踪:抑制预期的Oracle异常的PHP警告

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的预期错误时,我不希望它填满我的日志文件。

回答

6

如果你只需要以抑制oci_execute()警告,用@

@oci_execute() 

预置它使用的那种运行时错误的抑制通常不推荐,因为它涵盖了在应用中的问题,但你通过捕获异常来处理代码中的问题,并了解抑制警告的后果。

PHP docs on the @ operator ...

+0

不错!谢谢。使用@在使用XMLDocument时禁止关于XML的警告 - 没想到为此使用它。 – Stephen 2011-06-02 10:04:22