2014-02-21 45 views
2

我目前正在建立一個數據庫處理程序。在Firebird數據庫之上運行PHP 5.4.16。PHP call_user_func_array不捕獲數據庫錯誤

當我做了一個準備好的語句,我需要執行與參數的SQL。我做了這個功能:

private function assignParameters($args) 
{ 
    return call_user_func_array('ibase_execute',$args); 
} 

問題是,當我把在ARGS(不給它的預計值)的錯誤,我希望回報給假的(錯誤)。發生錯誤時,通常返回錯誤ibase_execute

但現在我的PHP安裝(XAMPP)只是崩潰並重新啓動。我嘗試過使用try/catch而沒有任何運氣。 call_user_func_array不會失敗,但我希望它會返回ibase_execute的結果。我很困惑。

我應該提到在PHP/Apache錯誤日誌中沒有條目。唯一的條目是Apache2服務器已重新啓動。

來自phpinfo()的interbase配置;

Firebird/InterBase Support dynamic 
Compile-time Client Library Version Firebird API version 25 
Run-time Client Library Version WI-V6.3.2.26539 Firebird 2.5 

任何想法 - 這是司機崩潰?

編輯:

由於從Mariuz這裏要求的是什麼,我從崩潰的時間調試了。崩潰從http進程創建的兩個轉儲報告正在運行PHP代碼。

它們都包含很多信息。儘量傾倒在這裏,但這裏的優點。

轉儲1

Exception Information 
In httpd__PID__10168__Date__02_21_2014__Time_03_40_11PM__949__Second_Chance_Exception_C0000008.dmp the assembly instruction at 0x76ed12c7 which does not correspond to any known native module in the process has caused an unknown exception (0xc0000008) on thread 0 

自卸2

Exception Information 
MSVCR80!UNWINDUPVEC+50In httpd__PID__10064__Date__02_21_2014__Time_03_40_05PM__321__Second_Chance_Exception_C0000005.dmp the assembly instruction at msvcr80!UnwindUpVec+50 in C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\msvcr80.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x00000000 on thread 5 

回答